求复杂多边形面积的算法
生活随笔
收集整理的這篇文章主要介紹了
求复杂多边形面积的算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在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;
}
總結
以上是生活随笔為你收集整理的求复杂多边形面积的算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑为什么会蓝屏的原因
- 下一篇: SAP中GR IR PGI的含义