Exercise 2.5: Principal moments of inertia
For each of the configurations described below find the principal moments of inertia with respect to the center of mass, and find the corresponding principal axes.
a. A regular tetrahedron consisting of four equal point masses tied together with rigid massless wire.
Let the sides of the tetrohedron be two units long. The coordinates of the masses are (Reference]:
If the point masses all have mass $m$, the moments of inertia are:
The inertia matrix is:
Since the matrix is already diagonal, the values of the diagonal elements are the principal moments of inertia:
The principal axes are $\hat{x}, \hat{y}, \hat{z}$.
b. A cube of uniform density
Assume origin at center of the cube. The moments of inertia are:
where $\rho$ is the density of the material, $\rho = \frac{M}{L^3}$. Since the cube is symmetric, the moments of inertia are all equal to each other, $I_{xx} = I_{yy} = I_{zz}$
Products of inertia are:
As calculated below, the inertia matrix is diagonal with elements equal to $\frac{M L^2}{6}$. Therefore the principal moments of inertia are:
The principal axes are $\hat{x}, \hat{y}, \hat{z}$.
x, y, z = symbols('x y z', real=True)
M, L = symbols('M L', positive=True)
rho = M/L**3
Ixx = rho * integrate(y**2 + z**2, (x, -L/2, L/2), (y, -L/2, L/2), (z, -L/2, L/2))
Iyy = rho * integrate(x**2 + z**2, (x, -L/2, L/2), (y, -L/2, L/2), (z, -L/2, L/2))
Izz = rho * integrate(x**2 + y**2, (x, -L/2, L/2), (y, -L/2, L/2), (z, -L/2, L/2))
Ixy = rho * integrate(x*y, (x, -L/2, L/2), (y, -L/2, L/2), (z, -L/2, L/2))
Iyz = rho * integrate(y*z, (x, -L/2, L/2), (y, -L/2, L/2), (z, -L/2, L/2))
Ixz = rho * integrate(x*z, (x, -L/2, L/2), (y, -L/2, L/2), (z, -L/2, L/2))
Iyx, Izy, Izx = Ixy, Iyz, Ixz
I = Matrix([[Ixx, Ixy, Ixz],
[Iyx, Iyy, Iyz],
[Izx, Izy, Izz]])
I
c. Five equal point masses rigidly connected by massless stuff. The point masses are at the rectangular coordinates: (−1, 0, 0), (1, 0, 0), (1, 1, 0), (0, 0, 0), (0, 0, 1).
The center of mass is at $[\frac{1}{5}, \frac{1}{5}, \frac{1}{5}]$.
import numpy as np
points = np.array([[-1, 0, 0],
[1, 0, 0],
[1, 1, 0],
[0, 0, 0],
[0, 0, 1]])
N = points.shape[0]
center_of_mass = points.mean(axis=0)
cx,cy,cz = center_of_mass
Ixx = sum([(y - cy)**2 + (z - cz)**2 for x, y, z in points])
Iyy = sum([(x - cx)**2 + (z - cz)**2 for x, y, z in points])
Izz = sum([(x - cx)**2 + (y - cy)**2 for x, y, z in points])
Iyz = sum([(y - cy)*(z - cz)**2 for x, y, z in points])
Ixz = sum([(x - cx)*(z - cz)**2 for x, y, z in points])
Ixy = sum([(x - cx)*(y - cy)**2 for x, y, z in points])
I = Matrix([[Ixx, Ixy, Ixz],
[Iyx, Iyy, Iyz],
[Izx, Izy, Izz]]) * m
I
eigenvects = I.eigenvects()
eigenvects
[(1.6*m,
1,
[Matrix([
[1.0],
[ 0],
[ 0]])]),
(3.6*m,
2,
[Matrix([
[0.24],
[ 1.0],
[ 0]])])]
a = eigenvects[0][2][0]
b = eigenvects[1][2][0]
c = a.cross(b)
c
The principal moments of inertia are:
The principal axes are: $\hat{x},~ 0.24\hat{x} + 1.0\hat{y},~\hat{z}$