多边形的面积使用c++

Area of polygon using c++?

本文关键字:c++ 多边形      更新时间:2023-10-16

如何在c++中计算多边形面积仅通过知道构成该多边形的点的x和y坐标?

如果您正在处理非自相交的多边形,则可以通过简单的google搜索显示答案。如果多边形上的点按逆时针顺序排列,则面积的符号为正。这个公式不假设多边形是凸的。

http://mathworld.wolfram.com/PolygonArea.html

这里,面积是通过对相邻点的行列式求和得到的。每个行列式计算由向量(x1,y1)和(x2,y2)构成的平行四边形的面积(其中两个向量都来自原点(0,0))。除以2得到三角形的面积。当沿着多边形移动时,如果多边形是凸的,那么三角形的面积将是正的。否则,在凹多边形的情况下,这些三角形的负区域将与它们的正对应区域抵消,从而得到正确的结果。

简单的维基百科搜索显示答案:

http://en.wikipedia.org/wiki/Polygon Area_and_centroid