求一关于梯形叠加算法 急!!
有两个梯形ABCD和EFGH,叠加后的多边形可能情况如下:
情况1:
小梯形在大梯形的内部,期望得到的结果为大梯形(如梯形ABCD在梯形EFGH内部,则结果梯形为EFGH)
情况2:
两梯形相交,对其进行“或”操作,产生新的不规则多边形,现在我的问题是想求新多边形的各坐标点。
开始我是这样做的
CRgn rgnA, rgnB,rgnC;
CPoint ptA[4],ptB[4];
ptA[0].x = 50;
ptA[0].y = 0;
ptA[1].x = 80;
ptA[1].y = 50;
ptA[2].x = 120;
ptA[2].y = 50;
ptA[3].x = 150;
ptA[3].y = 0;
ptB[0].x = 100;
ptB[0].y = 0;
ptB[1].x = 110;
ptB[1].y = 80;
ptB[2].x = 120;
ptB[2].y = 50;
ptB[3].x = 150;
ptB[3].y = 0;
rgnA.CreatePolygonRgn( ptA, 4, ALTERNATE)
rgnB.CreatePolygonRgn( ptB, 4, ALTERNATE)
int nCombineResult = rgnC.CombineRgn( &rgnA, &rgnB, RGN_OR );
ASSERT( nCombineResult != ERROR || nCombineResult != NULLREGION );
产生的不规则对象rgnC是正确的,但是我想得到该不规则图形的每一个坐标点,怎么得到,希望高手帮忙,在线等待中!急!!!