[求助]如何求算任意多边形的面积?
ARX中,如何求算任意多边形的面积?并且标出面积值,谢谢. 先整成REGION吧.只是相交的多邊形就不能這樣做了.
誰有寫過拆相交多邊形的?我一直想不出好的辦法來.慚愧 非常简单作个双向循环链表,将多边形的点按顺序丢进去,用DX,DY,加减乘除就可以得到结果,
doubleareapl(Dclist *head)
{
Dclist *flg;
flg=head;
double dx=0,dy=0,dxy=0;
doublear;
if(head==NULL) {ar=0;goto here;}
do
{
if(head->next==NULL)
{
dx=(head->pt).x-(head->pt.x);
dy=((head->pt).y+(head->pt.y))/2;
dxy=dxy+dx*dy;
}
else
{
dx=(head->next->pt.x)-(head->pt.x);
dy=(head->next->pt.y+(head->pt.y))/2;
dxy=dxy+dx*dy;
}
head=head->next;
}while(flg!=head);
ar=fabs(dxy);
here:
return ar;
} 如果是相交的呢.還有帶弧的呢
页:
[1]