Wolfram Language

Core Geometry

Moment of Inertia

Explore new capabilities covering physical parameters of a rigid body, including rotational inertia.

In[1]:=
Click for copyable input
wrench = ExampleData[{"Geometry3D", "Wrench"}, "Region"]
Out[1]=

Pick a point for the wrench to rotate about.

In[2]:=
Click for copyable input
point = {-8, -0.168, 0};
In[3]:=
Click for copyable input
Show[wrench, Graphics3D[{PointSize[Large], Point[point]}], ViewPoint -> {0, -\[Infinity], 0}]
Out[3]=

The inertia matrix centered at this point.

In[4]:=
Click for copyable input
\[ScriptCapitalI] = MomentOfInertia[wrench, point]
Out[4]=

Find the principal axes, the axes a body tends to rotate about.

In[5]:=
Click for copyable input
principalaxes = Eigenvectors[\[ScriptCapitalI]]
Out[5]=

Find the inertia ellipsoid whose radii indicate the relative resistance to accelerate about a principal axis.

In[6]:=
Click for copyable input
inertiaellipsoid = Ellipsoid[point, 1000 Inverse[\[ScriptCapitalI]]]
Out[6]=

Show the wrench with its principal axes and inertia ellipsoid. The wrench arm stretches the ellipsoid along its axis.

show complete Wolfram Language input
In[7]:=
Click for copyable input
axes = Graphics3D[{Opacity[1], Arrowheads[{-0.04, 0.04}], {Specularity[Gray, 10], Gray, inertiaellipsoid}, MapThread[{RGBColor[#2], Arrow[Tube[{point - 4 #, point + 4 #}, .06]]} &, {principalaxes, IdentityMatrix[3]}]}];
In[8]:=
Click for copyable input
Show[wrench, axes, BaseStyle -> Opacity[0.3]]
Out[8]=

Related Examples

de es fr ja ko pt-br ru zh