# Calculating polygon inertia

1. May 12, 2004

### Aidman

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: May 12, 2004
2. May 12, 2004

### matt grime

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

3. May 12, 2004

### Aidman

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: May 12, 2004
4. May 13, 2004

### arildno

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?

5. May 13, 2004

### Aidman

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.

6. May 13, 2004

### arildno

Are your polygons 3-D structures which are symmetric around each of the 3 independent axes they may rotate about?

7. May 13, 2004

### NateTG

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.

8. May 13, 2004

### arildno

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.

9. May 13, 2004

### Aidman

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.

10. May 13, 2004

### matt grime

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

11. May 13, 2004

### NateTG

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

12. May 15, 2004

### Aidman

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

Last edited: May 15, 2004
13. May 15, 2004

### arildno

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: May 15, 2004
14. May 15, 2004

### Aidman

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

Last edited: May 15, 2004
15. May 15, 2004

### arildno

That means the norm of the vector inside the double lines

16. May 15, 2004

### Aidman

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

17. May 15, 2004

### arildno

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.

18. May 15, 2004

### Aidman

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: May 15, 2004
19. May 15, 2004

### arildno

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.

20. May 15, 2004

### Aidman

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: May 15, 2004
21. May 15, 2004

### arildno

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}||}$$

22. May 15, 2004

### Aidman

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

Thanks again arildno!

23. May 16, 2004

### arildno

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.

24. May 17, 2004

### Aidman

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?

25. May 18, 2004

### arildno

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.

Share this great discussion with others via Reddit, Google+, Twitter, or Facebook