[Math] Proof for Centroid Formula for a Polygon

centroidgeometrypolygons

I was reading a paper and I found this formula for the centroid of a polygon in terms of its coordinates but no proof was given.

$C_x =\frac{1}{6A} \sum_{i=0}^{N-1}(x_i+x_{i+1})(x_iy_{i+1}-x_{i+1}y_i) $

$C_y =\frac{1}{6A} \sum_{i=0}^{N-1}(y_i+y_{i+1})(x_iy_{i+1}-x_{i+1}y_i)$

where $x_N=x_0$ and A = the area of the polygon.

Does anyone know the proof for this formula? And how is it connected (if it is) to the formula for the centroid of a uniformly dense lamina:

Best Answer

The idea behind this formula is that you decompose the polygon into triangles and find the centroid of each, then find the centroid of the resulting point masses, with the mass at each point equal to the area of the corresponding triangle (i.e., the weighted average of the triangle centroids).

Assume that the polygon is star-shaped with respect to the origin and that the vertices are consecutively numbered in a counterclockwise direction. The polygon can be decomposed into triangles defined by the origin and successive vertices $\mathbf v_i$ and $\mathbf v_{i+1}$. The area of each of these triangles is $\frac12(x_iy_{i+1}-x_{i+1}y_i)$. If we concentrate all of this “mass” at the centroid of the triangle $\mathbf c_i$, then the centroid of the polygon is given by the usual formula for the center of mass of a set of point masses: $$\mathbf c=\frac1A\sum_{i=0}^{N-1}\frac12(x_iy_{i+1}-x_{i+1}y_i)\mathbf c_i.\tag{1}$$ The centroid of a triangle with vertices $\mathbf u$, $\mathbf v$ and $\mathbf w$ is just $\frac13(\mathbf u+\mathbf v+\mathbf w)$. Substituting this into $(1)$ yields the formula in the question.

With a bit more algebra the same formula can be derived for a polygon that’s star-shaped with respect to an arbitrary point. It’s not difficult to show that this formula also holds for a general non-self intersecting polygon. Some of the triangle areas can be negative in this case, but they end up canceling the “extra” area that you get for other triangles.