求复杂多边形面积的算法

来源:互联网 发布:如何搭建p2p网络 编辑:程序博客网 时间:2024/05/17 18:01
在skeinforge上看到一个计算复杂多边形面积的python代码,它可看成是利用2+1维的叉积的z坐标的累积,非常巧妙,把它翻译成C++代码和大家共享,如有不足,欢迎指正。
struct Point{    float x, y;};//Get the area of a complex polygon(refer from skeinforge)float getAreaLoop(vector<Point> loop){float areaLoopDouble=0;Point point,pointEnd;int i,length=loop.size();for(i=0;i!=length;++i){point=loop[i];pointEnd=loop[(i + 1) % length];areaLoopDouble += point.x * pointEnd.y - pointEnd.x * point.y;}return 0.5 * areaLoopDouble;}

0 0
原创粉丝点击