-4

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

4

2 回答 2

1

只要您正在处理非自相交多边形,一个简单的谷歌搜索就会显示答案。如果多边形上的点按逆时针顺序排列,则该区域的符号为正。这个公式不假设多边形是凸的。

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

在这里,通过对相邻点的确定值求和来找到该区域。每个确定项计算由向量形成的平行四边形的面积,例如 (x1,y1) 和 (x2,y2)(其中两个向量都源自原点 (0,0))。除以 2 得出三角形的面积。在多边形周围旅行时,如果您的多边形是凸的,则三角形将具有正面积。否则,在凹多边形的情况下,这些三角形的负区域将与它们的正对应区域相抵消,从而为您提供正确的结果。

于 2013-03-05T19:24:47.860 回答
0

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

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

于 2013-03-05T19:26:13.460 回答