根据已知坐标点计算多边形的重心!
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);
}
不要去跟随消逝的虚无