如何仅通过知道构成多边形的点的 x 和 y 坐标来计算 C++中多边形的面积?
问问题
6086 次
2 回答
1
只要您正在处理非自相交多边形,一个简单的谷歌搜索就会显示答案。如果多边形上的点按逆时针顺序排列,则该区域的符号为正。这个公式不假设多边形是凸的。
http://mathworld.wolfram.com/PolygonArea.html
在这里,通过对相邻点的确定值求和来找到该区域。每个确定项计算由向量形成的平行四边形的面积,例如 (x1,y1) 和 (x2,y2)(其中两个向量都源自原点 (0,0))。除以 2 得出三角形的面积。在多边形周围旅行时,如果您的多边形是凸的,则三角形将具有正面积。否则,在凹多边形的情况下,这些三角形的负区域将与它们的正对应区域相抵消,从而为您提供正确的结果。
于 2013-03-05T19:24:47.860 回答
0
简单的维基百科搜索显示了答案:
于 2013-03-05T19:26:13.460 回答