您的位置 首页 Java

根据凸多边形顶点坐标来计算面积的算法与实现

把凸多边形划分成若干个三角形,取多边形的一个顶点为三角形共同顶点

double x0 = x.get(0);
double y0 = y.get(0);

三角形个数 = 坐标对数 - 2

// 每个三角形的三条边 i从0开始
double s1 = Math.sqrt(Math.pow(x0 - x.get(i + 1), 2) + Math.pow(y0 - y.get(i + 1), 2));
double s2 = Math.sqrt(Math.pow(x0 - x.get(i + 2), 2) + Math.pow(y0 - y.get(i + 2), 2));
double s3 = Math.sqrt(Math.pow(x.get(i + 1) - x.get(i + 2), 2) + Math.pow(y.get(i + 1) - y.get(i + 2), 2));
// 每个三角形的面积
double s = (s1 + s2 + s3) / 2;
double area = Math.pow((s * (s - s1) * (s - s2) * (s - s3)), 1.0 / 2);
版權聲明:遵循 CC BY-NC-SA 4.0 版權協議,轉載請附上原文出處鏈接和本聲明。本文鏈接:https://cn.fankuiba.com/571.html

作者: 博主

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部