# 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