Convex Polygon Gravity Center - 凸多边形重心


问题

求凸多边形重心的坐标。

三角形重心

顶点为的三角形重心坐标为

凸多边形重心

凸多边形的重心不能像三角形一样求所有顶点的坐标的平均值。

对于个顶点的凸多边形,类似Convex Polygon Area的方法,在凸多边形中选取一个顶点与其他顶点连线可以将凸多边形划分为个三角形,对于每个三角形求其重心和面积。可以得到所有三角形的重心为,面积为

该凸多边形的重心是所有三角形的重心坐标的面积加权平均值:

该算法的时间复杂度为


源码

ConvexPolygonGravityCenter.h

ConvexPolygonGravityCenter.cpp

测试

ConvexPolygonGravityCenterTest.cpp