| 叉乘法求任意多邊形面積
語法:result=polygonarea(Point *polygon,int N);
參數(shù):
*polygon:	多變形頂點數(shù)組
N:	多邊形頂點數(shù)目
返回值:	多邊形面積
注意:	 
 	支持任意多邊形,凹、凸皆可
 	多邊形頂點輸入時按順時針順序排列
源程序:	 
 	typedef struct {
    double x,y;
} Point; 
double polygonarea(Point *polygon,int N)
{
    int i,j;
    double area = 0;
    for (i=0;i<N;i++) {
        j = (i + 1) % N;
        area += polygon[i].x * polygon[j].y;
        area -= polygon[i].y * polygon[j].x;
        }
    area /= 2;
    return(area < 0 ? -area : area);
}
 | 
|  |