求多边形重心C#版代码
public PointF getCenterOfGravityPoint(List<PointF> mPoints) { float area = 0.0f;//多边形面积 float Gx = 0.0f, Gy = 0.0f;// 重心的x、y for (int i = 1; i <= mPoints.Count; i++) { float iLat = mPoints[(i % mPoints.Count())].X; float iLng = mPoints[(i % mPoints.Count())].Y; float nextLat = mPoints[(i - 1)].X; float nextLng = mPoints[(i - 1)].Y; float temp = (iLat * nextLng - iLng * nextLat) / 2.0f; area += temp; Gx += temp * (iLat + nextLat) / 3.0f; Gy += temp * (iLng + nextLng) / 3.0f; } Gx = Gx / area; Gy = Gy / area; return new PointF(Gx, Gy); }
不要去跟随消逝的虚无