Re: Inertia tensor of triangle in arbitrary coordinate system
- From: "Jim Black" <tramspap@xxxxxxxxx>
- Date: 2 Nov 2006 23:07:12 -0800
Preben wrote:
Hi,
I'm trying to find an (approximate) solution for finding the inertia
tensor of a triangle in an arbitrary coordinate system.
How to do this?
Consider a rigid body constructed of a "thin" surface of some defined
thickness and approximated by a lot of triangles - how do I find the
inertia tensor for this body?
Well, the general idea that I've had is to find the inertia tensor of
each triangle with respect to a coordinate system in the center of mass
of the body. Then add all these results and the total inertia tensor
will be given.
Why do I actually wanna do all this.
Well, in general this wouldn't be necessary, if the principal axes of
the body was to be found in another way! So if you can think of another
way of finding the principal axes of some body constructed of a surface
(triangles), then feel free to propose this method!
Thanks
/ Preben
Others have posted links to the formulas, so I'll focus on the most
difficult part of the calculation, doing the integral over the surface
of the triangle.
All of the components of the tensor (see
http://en.wikipedia.org/wiki/Moment_of_inertia_tensor#Definition_2) are
calculated by adding subtracting things of the form
M [int xy d(area)] / area.
Assuming we know the vertices of the triangle, we can express x, y, and
z in the form
x = a x_a + b x_b + c x_c
where x_a, x_b, and x_c are the x coordinates of vertices A, B, and C,
respectively, and where a, b, and c are parameters between 0 and 1 such
that a+b+c=1.
Imagine breaking up the triangle into infintesimal parallelograms, each
bounded by two lines along which a is constant, and two lines along
which b is constant. Provided that da and db are the same for all the
parallelograms, every parallelogram has the same area, no matter where
it is located on the triangle. This follows from the fact that the
expressions for x, y, and z are linear in a and b:
x = (x_a - x_c) a + (x_b - x_c) b + x_c
If you're uncomfortable with this, imagine shifting one parallelogram
onto another by adding the same (delta a, delta b) to each of the (a,b)
coordinates of the parallelogram's vertices. Since the expression for
x is linear, each point's x-value is changed by the same amount, which
is (x_a - x_c) (delta a) + (x_b - x_c) (delta b). Same with the y and
z coordinates. And a translation -- adding the same thing to the x, y,
and z coordinates of every point -- doesn't change the area of a shape.
So we can take the integral we want to evaluate:
M [int xy d(area)] / area
and rewrite it in terms of a, b, and c:
M [int da db (a x_a + b x_b + c x_c)(a y_a + b y_b + c y_c)]
/ (int da db)
We can break this up into the following:
M [(int da db a^2) / (int da db)] x_a y_a
+ M [(int da db ab) / (int da db)] x_a y_b
+ M [(int da db ac) / (int da db)] x_a y_c
+ M [(int da db ba) / (int da db)] x_b y_a
+ ...
So now we have to do all these little integrals. We can make our job
easier by noting that because of the symmetry between a, b, and c:
int da db a^2 = int da db b^2 = int da db c^2
and
int da db ab = int da db ac = int da db bc
It may be easier to see the symmetry by visualizing the region we are
integrating over as a three-dimensional triangle in (a,b,c)-space with
vertices (1,0,0), (0,1,0), and (0,0,1).
For the little integrals, I obtain:
int da db a^2 = 1/12
int da db ab = 1/24
You should check these for yourself, in case I've made an error. And
of course:
int da db = 1/2
So the big integral works out to be:
M [ (1/6) x_a y_a + (1/12) x_a y_b + (1/12) x_a y_c + ... ]
For the integrals involving x^2, xz, etc., just change x and y in the
above to the appropriate variables, and the derivation will work out
the same.
For a simpler interpretation of this result, we can rewrite it as:
M [ (1/12) x_a y_a + (1/12) x_b y_b + (1/12) x_c y_c
+ (3/4) ((x_a + x_b + x_c)/3) ((y_a + y_b + y_c)/3) ]
This is a weighted average, made up of:
1/12 parts Mxy for vertex A
1/12 parts Mxy for vertex B
1/12 parts Mxy for vertex C
3/4 parts Mxy for the center of the triangle
Since the moment of inertia tensor is a linear combination of integrals
like the ones we computed, what we have found is that the moment of
inertia is the same as what we would calculate if we pretended that:
1/12 of the mass of the triangle is at vertex A
1/12 of the mass of the triangle is at vertex B
1/12 of the mass of the triangle is at vertex C
3/4 of the mass of the triangle is at its center
And if you wanted to do an object that wasn't hollow, you should be
able to work out a similar result for tetrahedrons.
.
- Follow-Ups:
- References:
- Prev by Date: Nature's Particle Accelerator
- Next by Date: Re: Quantum Motion: a revolutionary book?
- Previous by thread: Re: Inertia tensor of triangle in arbitrary coordinate system
- Next by thread: Re: Inertia tensor of triangle in arbitrary coordinate system
- Index(es):
Relevant Pages
|