INERTIAL PROPERTIES OF POLYHEDRA
Dynamical analyses in engineering often require inertial properties of
complex shapes such as polyhedra. The volume, the first moment of volume
and the second moment of volume of a general solid can be computed by
V = Integral( dVol ), VR = Integral( R*dVol ), VRR = Integral( R*R’*dVol ).
Also of interest are the centroidal radius RC = VR/V and the inertia tensor
I = eye(3,3)*trace( VRR )-VRR. The Gauss divergence theorem for a tensor
function F states that
Integral( div(F)*dVol ) = SurfIntegral( Dot(N,F)*dSurf )
where R = [x; y; z] is the cartesian radius vector and N is the outward
directed unit surface normal. This leads to
[V, VR, VRR] = SurfIntegral( [ 1/3, R/4, R*R’/5 ]*Dot(N,R)*dSurf ).
The surface parts of a polyhedron have constant surface normals and the
integrals over planar parts can be converted to line integrals and evaluated
exactly. A concise algorithm for the inertial properties of arbitrary
polyhedra results. General shapes can be approximated using polyhedral models.
However, obtaining several digit accuracy for curved surfaces such as a sphere
or a torus may require a large number of elements. Examples in the program
show exact results for several polyhedra and approximate results for curved
surfaces. Among the utility functions provided are POLHEDRN to compute
polyhedron properties using corner coordinates of the faces, SRFVN employing
x,y,z arrays similar to function surf, and POLYXY which obtains inertial
properties of arbitrary polygons. More detail on the methods used appear in
'Advanced Mathematics and Mechanics Applications Using MATLAB', 3rd Ed.,2003,
CRC Press, by H. Wilson, L. Turcotte, and D. Halpern.
RUNPOLYHEDRON is the main driver function showing demo examples.
Howard Wilson (2021). Polyhedron Inertial Properties (https://www.mathworks.com/matlabcentral/fileexchange/27626-polyhedron-inertial-properties), MATLAB Central File Exchange. Retrieved .
I appreciate this code, but it does not seem to be accurate. For example, the three moment of inertia values computed for sphere (provided as an example) are 1.6558, 5.8193, 5.8193, (i.e., supposed to be same for all directions).
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!