Welcome to EverybodyWiki ! Sign in or sign up to improve or create : an article, a company page or a bio (yours ?)...

Inertia tensor of triangle

From EverybodyWiki Bios & Wiki
Jump to: navigation, search


The inertia tensor <math> \mathbf{J}</math> of a triangle (like the inertia tensor of any body) can be expressed in terms of covariance <math> \mathbf{C}</math> of the body:

<math>

\mathbf{J} = \mathrm{tr}(\mathbf{C})\mathbf{I} - \mathbf{C} </math>

where covariance is defined as area integral over the triangle:

<math>

\mathbf{C} \triangleq \int_{\Delta} \rho \mathbf{x}\mathbf{x}^{\mathrm{T}} \, dA </math>

Covariance for a triangle in three-dimensional space, assuming that mass is equally distributed over the surface with unit density, is

<math>

\mathbf{C} = a \mathbf{V}^{\mathrm{T}} \mathbf{S} \mathbf{V} </math>

where

  • <math>\mathbf{V}</math> represents 3 × 3 matrix containing triangle vertex coordinates <math>(\mathbf{v}_0, \mathbf{v}_1, \mathbf{v}_2)</math> in the rows,
  • <math>a = |(\mathbf{v}_1 - \mathbf{v}_0) \times (\mathbf{v}_2 - \mathbf{v}_0)|</math> is twice the area of the triangle,
  • <math>

\mathbf{S}= \frac{1}{24} \begin{bmatrix} 2 & 1 & 1 \\ 1 & 2 & 1 \\ 1 & 1 & 2 \\ \end{bmatrix} </math>

Substitution of triangle covariance in definition of inertia tensor gives eventually

<math>

\mathbf{J} = \frac{a}{24}(\mathbf{v}^2_0 + \mathbf{v}^2_1 + \mathbf{v}^2_2 + (\mathbf{v}_0 + \mathbf{v}_1 + \mathbf{v}_2)^2)\mathbf{I} - a \mathbf{V}^{\mathrm{T}} \mathbf{S} \mathbf{V} </math>

A proof of the formula[edit | edit source]

The proof given here follows the steps from the article.[1]

Covariance of a canonical triangle[edit | edit source]

Let's compute covariance of the right triangle with the vertices (0,0,0), (1,0,0), (0,1,0).

Following the definition of covariance we receive

<math>

\mathbf{C}^0_{xx} = \int_{\Delta} x^2 \, dA = \int_{x=0}^1 x^2 \int_{y=0}^{1-x} \, dy \, dx = \int_0^1 x^2 (1-x) \, dx = \frac{1}{12} </math>

<math>

\mathbf{C}^0_{xy} = \int_{\Delta} xy \, dA = \int_{x=0}^1 x \int_{y=0}^{1-x} y \, dy \, dx = \int_0^1 x \frac{(1-x)^2}{2} \, dx = \frac{1}{24} </math>

<math>

\mathbf{C}^0_{yy} = \mathbf{C}^0_{xx} </math>

The rest components of <math>C</math> are zero because the triangle is in <math>z=0</math>.

As a result,

<math>

\mathbf{C}^0 = \frac{1}{24} \begin{bmatrix} 2 & 1 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 0 \\ \end{bmatrix} = \frac{1}{48} \begin{bmatrix} 1 \\ -1 \\ 0 \end{bmatrix} \begin{bmatrix} 1 & -1 & 0 \end{bmatrix}^{\mathrm{T}} + \frac{1}{16} \begin{bmatrix} 1 \\ 1 \\ 0 \end{bmatrix} \begin{bmatrix} 1 & 1 & 0 \end{bmatrix}^{\mathrm{T}} </math>

Covariance of the triangle with a vertex in the origin[edit | edit source]

Consider a linear operator

<math>\mathbf{x}' = \mathbf{A}\mathbf{x}^0</math>

that maps the canonical triangle in the triangle <math>\mathbf{v}'_0 = \mathbf{0}</math>, <math>\mathbf{v}'_1 = \mathbf{v}_1 - \mathbf{v}_0</math>, <math>\mathbf{v}'_2 = \mathbf{v}_2 - \mathbf{v}_0</math>. The first two columns of <math>\mathbf{A}</math> contain <math>\mathbf{v}'_1</math> and <math>\mathbf{v}'_2</math> respectively, while the third column is arbitrary. The target triangle is equal to the triangle in question (in particular their areas are equal), but shifted with its zero vertex in the origin.

<math>

\mathbf{C}' = \int_{\Delta'} \mathbf{x}'\mathbf{x}'^{\mathrm{T}} \, dA' = \int_{\Delta^0} \mathbf{A}\mathbf{x}^0\mathbf{x}^{0\mathrm{T}}\mathbf{A}^{\mathrm{T}} a\, dA^0 = a \mathbf{A} \mathbf{C}^0 \mathbf{A}^{\mathrm{T}} </math>

<math>

\mathbf{C}' = \frac{a}{48}(\mathbf{v}_1 - \mathbf{v}_2)(\mathbf{v}_1 - \mathbf{v}_2)^{\mathrm{T}} +\frac{a}{16}(\mathbf{v}_1 + \mathbf{v}_2 - 2\mathbf{v}_0)(\mathbf{v}_1 + \mathbf{v}_2 - 2\mathbf{v}_0)^{\mathrm{T}} </math>

Covariance of the triangle in question[edit | edit source]

The last thing remaining to be done is to conceive how covariance is changed with the translation of all points on vector <math>\mathbf{v}_0</math>.

<math>

\mathbf{C} = \int_{\Delta} (\mathbf{x'}+\mathbf{v}_0)(\mathbf{x'}+\mathbf{v}_0)^{\mathrm{T}} \, dA = \mathbf{C}' + \frac{a}{2}(\mathbf{v}_0\mathbf{v}_0^{\mathrm{T}} + \mathbf{v}_0\overline{\mathbf{x}}'^{\mathrm{T}} +\overline{\mathbf{x}}'\mathbf{v}_0^{\mathrm{T}}) </math>

where

<math>\overline{\mathbf{x}}'=\int_{\Delta'} \mathbf{x}' \, dA' = \frac{1}{3}(\mathbf{v}'_1 + \mathbf{v}'_2)

= \frac{1}{3}(\mathbf{v}_1 + \mathbf{v}_2 - 2\mathbf{v}_0)</math>

is the centroid of dashed triangle.

It's easy to check now that all coefficients in <math>\mathbf{C}</math> before <math>\mathbf{v}_i\mathbf{v}_i^{\mathrm{T}}</math> is <math>\frac{a}{12}</math> and before <math>\mathbf{v}_i\mathbf{v}_j^{\mathrm{T}}\;(i \ne j)</math> is <math>\frac{a}{24}</math>. This can be expressed in matrix form with <math>\mathbf{S}</math> as above.

References[edit | edit source]

  1. http://number-none.com/blow/inertia/bb_inertia.doc Jonathan Blow, Atman J Binstock (2004) "How to find the inertia tensor (or other mass properties) of a 3D solid body represented by a triangle mesh"


This article "Inertia tensor of triangle" is from Wikipedia. The list of its authors can be seen in its historical and/or its subpage Inertia tensor of triangle/edithistory. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.