# Calculating polygon inertia

How can one calculate the moment of inertia of a polygon? Assuming that one knows the polygon’s vertexes which in turn are connected by straight lines in a 2D system? If the calculation is possible without triangulating the polygon, is it then also possible to use the same method with complex polygons, where some edges cross? Any helpful information is highly appreciated.

EDIT: vertexes = vertices

Last edited:

matt grime
Homework Helper
it's 'just' a double integral, no triangulation nreeded. it might not be a nice integral though

But the polygon has a continuous area/mass shouldn’t it then be possible to use a method which resolves the inertia by calculating the polygon's total mass and centroid?

Last edited:
arildno
Homework Helper
Gold Member
Dearly Missed
1. What do you mean by "continuous mass"?
a) Continuous mass distribution (i.e the density function is continuous)?
b) Constant density?

2. What axis do you wish to calculate the moment of inertia about, or do you want to find the matrix of inertia?

By continuous mass I mean that the polygon consists of mass elements/points which are connected to each other with constant density.

And the moment of inertia should be relative to the polygon's centroid, which is already known.

arildno
Homework Helper
Gold Member
Dearly Missed
Are your polygons 3-D structures which are symmetric around each of the 3 independent axes they may rotate about?

NateTG
Homework Helper
Solid polygons, frames, or vertex points?

It seems like another easy option is to work out the moment of inertia for a general triangle, and then disect the polygon.

Note that you fail to specify the axis of rotation, which is significant.

arildno
Homework Helper
Gold Member
Dearly Missed
Aidman said:
And the moment of inertia should be relative to the polygon's centroid, which is already known.
Just to clarify:
"moment of inerta" is calculated relative to a specified axis (going through a point), not relative to a point, as NateTG comments.

Unless you specifically assume that the (instantaneous) rotation axis has a constant direction (through time, that is), it is insufficient to calculate only the moments of inertae (around the 3 axes); you must calculate the full, inertial matrix, which include the products of inertiae, and not only the moments.

As I mentioned before the polygons are in a 2D system, which limits their rotation to one axle, therefore calculating a single inertia is sufficient.

And yes dealing with triangles are a lot simpler but the process of triangulating a polygon seems very difficult, especially if it also should handle concave polygons.

matt grime
Homework Helper
actually triangulation is easy, and can be done using many methods, i beleive erdos had a proof of some bounds

NateTG
Homework Helper
matt grime said:
actually triangulation is easy, and can be done using many methods, i beleive erdos had a proof of some bounds

Considering that inverse triangles are acceptable for this, it's extremely easy.

I am having a hard time believing it’s very easy considering I have found very little information about triangulation.

Last edited:
arildno
Homework Helper
Gold Member
Dearly Missed
Aidman:
If I have understood you correctly, you wish to express the moment of inertia of your polygon in terms of the position vectors of the vertices (given that we place the centroid in the origin).

Let $$\rho$$ be the (constant) density of the polygon, let N be the number of vertices, and let $$\vec{P}_{n}$$ be the position vector of the n'th vertex.
(We also define $$\vec{P}_{N+1}\equiv\vec{P}_{1}$$)

Then we have, that the moment of inertia I about the centroid can be expressed as:
$$I=\sum_{n=1}^{N}\frac{\rho}{12}||\vec{P}_{n+1}\times\vec{P}_{n}||(\vec{P}_{n+1}^{2}+\vec{P}_{n+1}\cdot\vec{P}_{n}+\vec{P}_{n}^{2})$$

Note:
I have assumed that the polygon is "star-shaped" with respect to the centroid in the derivation of the formula; i.e., in particular, that the whole triangle lying between the centroid and two adjacent vertices is included in the polygon.

Last edited:
trytodoit
I am sorry, but what exactly does the double lines $$||...||$$ mean?

Last edited:
arildno
Homework Helper
Gold Member
Dearly Missed
That means the norm of the vector inside the double lines

So I can ignore the double lines for 2D vectors, as the vectorproduct returns a value and not a vector?

arildno
Homework Helper
Gold Member
Dearly Missed
The cross product of two vectors always return a vector;
if we have V1=(x1,y1,0), V2=(x2,y2,0), then the crossproduct V1(cross)V2=(0,0,x1y2-x2y1).
Just remember that the norm is non-negative, so the norm above is simply abs(x1y2-x2y1), where abs designates the absolute value.

Ok, many thanks. I have tested the algorithm but for some reason it calculates a moment of inertia that is 10000 times greater then the excepted value. For example when I use it for a square, with the sides 100, it resolves the value 16666666.66... but if I am not mistaken the correct value should be 1666.66...

Last edited:
arildno
Homework Helper
Gold Member
Dearly Missed
Have you used unit mass or unit density in that calculation?
If you have used the algorithm with unit density, while you calculated the known moment of inertia with unit mass, then the expression from the algorithm should be 10000 times bigger for a 100 times 100 square.

Sorry, I am not following... If I am using $$[m^2]$$ as unit area and $$[kg]$$ as unit mass how can I regulate the calculated inertia $$[kgm^2]$$, for any given density $$[kg/m^2]$$?

Last edited:
arildno
Homework Helper
Gold Member
Dearly Missed
Allright, I'll make what I said a bit clearer:
1) Usual fomulae for moment of inertia:
Usually the moment of inertia is given in the form:
$$I=kmr^{2}$$, where m is the mass of the object, r is a typical length scale in the object, while k is some number.
(If k is 1, then r is the gyration radius of the object)
Examples:
Sphere:$$\frac{2}{5}mR^{2}$$, where R is the radius of the sphere.
Rod about center of mass/centroid::$$\frac{1}{12}mL^{2}$$, where L is the length of the rod.

2) I have expressed my moment of inertia with a density, rather than with mass, that is, I haven't the mass as an explicit parameter in the expression.

3) So, my question was if you had used a mass of 1kg in the calculation from the known formula, while you had used a density of 1kg/m^{2} in the algorithm.
(That would have explained the factor of 10000)

4. If you want to have a formula for the moment of inertia where the mass is explicit, here you have it:

$$I=\frac{m}{6}\frac{\sum_{n=1}^{N}||\vec{P}_{n+1}\times\vec{P}_{n}||(\vec{P}^{2}_{n+1}+\vec{P}_{n+1}\cdot\vec{P}_{n}+\vec{P}_{n}^{2})}{\sum_{n=1}^{N}||\vec{P}_{n+1}\times\vec{P}_{n}||}$$

Ah yes, that was my error. I missed the total mass parameter in the formula for the square inertia.

Thanks again arildno!

arildno
Homework Helper
Gold Member
Dearly Missed
I would like to emphasize/clarify a few points:

1)
You wanted to find the moment of inertia around a known centroid.
In my derivation, I made no simplifications based on that the origin was the centroid, hence, the moment of inertia formula derived is valid for rotation about an axis going through any interior point of the polygon that the polygon is "star-shaped" with respect to (more of that in 3).

Clearly, if the polygon is described in an arbitrary coordinate system, the vertex vectors are the relative vectors to the point through which the rotation axis passes.

2)
The formula cannot be used directly in calculating the moment of inertia around a point on the boundary of the polygon.
I suggest using the parallell axis theorem in that case.

3)
I must emphasize that the formula is not valid for an arbitrarily constructed polygon; the polygon must be "star-shaped" with regard to the point through which the rotation axis passes.
This means, in particular, that the full triangle drawn between between the rotation point and any 2 adjacent vertices is included in the polygon.

If you want to develop an algorithm for a fully general polygon, the best way is to split the polygon into a set of triangles.

Sorry to bring the subject back up again, but if I where to write an algorithm for triangulated polygons how would I calculate the polygon’s inertia from the triangles?

arildno
Homework Helper
Gold Member
Dearly Missed
Calculate the moment of inertia around the center of masses of an individual triangle, and then utilize the parallell axis theorem to calculate the triangle's moment of inertia about the polygon's rotation axis. Adding these moments from all triangles gives the polygon's moment of inertia about the rotation axis.

How do I actually go about and calculate the moment of inertia for an individual triangle, assuming there is a simpler method than using the algorithm for “star-shaped” polygons?

NateTG
Homework Helper
Aidman said:
How do I actually go about and calculate the moment of inertia for an individual triangle, assuming there is a simpler method than using the algorithm for “star-shaped” polygons?

I'm not inclined to go through and do the work for you, but I expect that, if you assume a constant density, there will be a closed form for calculating the moment of inertia of a triangular prism about a particular axis.

Sorry didn't meant for anyone to do the work for me, just point at a formula for calculating the inertia for a triangle around its center of mass. Because I have had no luck finding one.

arildno
Homework Helper
Gold Member
Dearly Missed
The closed form expression of the moment of inertia is:
$$I=\frac{M_{P}}{6A_{P}}\sum_{i=1}^{M}A_{T,i}(\vec{T}_{i,1}^{2}+\vec{T}_{i,1}\cdot\vec{T}_{i,2}+\vec{T}_{i,1}\cdot\vec{T}_{i,3}+\vec{T}_{i,2}\cdot\vec{T}_{i,3}+\vec{T}_{i,2}^{2}+\vec{T}_{i,3}^{2})$$

where:
1. The polygon P (of mass $$M_{P}$$)consists of M triangles $$T_{i}$$
2. $$\vec{T}_{i,s}$$ is the position vector of the s'th vertex in the i'th triangle (measured from the rotation axis)
3. $$A_{T,i}=\frac{1}{2}||(\vec{T}_{i,2}-\vec{T}_{i,1})\times(\vec{T}_{i,3}-\vec{T}_{i,1})||$$ is the area of triangle $$T_{i}$$
4. $$A_{P}=\sum_{i=1}^{M}A_{T,i}$$

Last edited:
4. If you want to have a formula for the moment of inertia where the mass is explicit, here you have it:

$$I=\frac{m}{6}\frac{\sum_{n=1}^{N}||\vec{P}_{n+1}\times\vec{P}_{n}||(\vec{P}^{2}_{n+1}+\vec{P}_{n+1}\cdot\vec{P}_{n}+\vec{P}_{n}^{2})}{\sum_{n=1}^{N}||\vec{P}_{n+1}\times\vec{P}_{n}||}$$

Sorry to comment on an old thread but i was just wondering why the ||\vec{P}_{n+1}\times\vec{P}_{n}|| is not cancelled out in the equation seeing as it is in the numerator and denominator.

I'm trying to find out the moment of inertia of a regular pentagon with a side length of 265mm and mass of 42.9kg.

EDIT: So using this equation, I calculated the moment of inertia to be 0.835960338, which seems about right :)

Last edited: