计算多边形面积
- 论坛
- 计算多边形面积
15 浏览
计算多边形面积
我从网络上获取了这段用JavaScript编写的代码,用于计算不规则多边形的面积。
函数polygonArea(X, Y, numPoints) {
area = 0; // 在循环中累积面积
j = numPoints-1; // 最后一个顶点是第一个顶点的“前一个”
for (i=0; i area = area + (X[j]+X[i]) * (Y[j]-Y[i]); j = i; // j是i的前一个顶点 } return area/2; } var xPts = [3, 3, 2, 2, 3, 3, 6, 6, 9, 9, 4, 4 ]; var yPts = [2, 4, 4, 5, 5, 6, 6, 5, 5, 3, 3, 2]; var a = polygonArea(xPts, yPts, 4); alert("面积 = " + a); 结果似乎是正确的。如果按顺时针方向追踪顶点,它将显示正结果,但如果按逆时针方向追踪顶点,结果将变为负数。为什么会这样? 这个算法是如何工作的?我真的想知道它背后的数学解释,因为我仍然很难理解网络上的解释。