叉乘求任意多边形面积
N:多边形的顶点数目
返回值:多边形面积
注意:
支持多边形,凹凸多边形都可
多边形顶点输入顺序按顺时针排序
struct Point{ double x,y; }p[N]; int n; double polygonarea() { int i,j; double area = 0; for(i = 0;i < n;++i){ j = (i+1)%n; area += p[i].x*p[j].y; area -= p[i].y*p[j].x; } area /= 2.0; return (area<0?-area:area); }
一道模板题:Click Here~
原文:http://blog.csdn.net/zhongshijunacm/article/details/20285569