trimesh.inertia
inertia.py
Functions for dealing with inertia tensors.
Results validated against known geometries and checked for internal consistency.
- trimesh.inertia.cylinder_inertia(mass, radius, height, transform=None)
Return the inertia tensor of a cylinder.
- Parameters
mass (float) – Mass of cylinder
radius (float) – Radius of cylinder
height (float) – Height of cylinder
transform ((4, 4) float) – Transformation of cylinder
- Returns
inertia – Inertia tensor
- Return type
(3, 3) float
- trimesh.inertia.principal_axis(inertia)
Find the principal components and principal axis of inertia from the inertia tensor.
- Parameters
inertia ((3, 3) float) – Inertia tensor
- Returns
components ((3,) float) – Principal components of inertia
vectors ((3, 3) float) – Row vectors pointing along the principal axes of inertia
- trimesh.inertia.radial_symmetry(mesh)
Check whether a mesh has radial symmetry.
- Returns
symmetry (None or str) – None No rotational symmetry ‘radial’ Symmetric around an axis ‘spherical’ Symmetric around a point
axis (None or (3,) float) – Rotation axis or point
section (None or (3, 2) float) – If radial symmetry provide vectors to get cross section
- trimesh.inertia.sphere_inertia(mass, radius)
Return the inertia tensor of a sphere.
- Parameters
mass (float) – Mass of sphere
radius (float) – Radius of sphere
- Returns
inertia – Inertia tensor
- Return type
(3, 3) float
- trimesh.inertia.transform_inertia(transform, inertia_tensor)
Transform an inertia tensor to a new frame.
More details in OCW PDF: MIT16_07F09_Lec26.pdf
- Parameters
transform ((3, 3) or (4, 4) float) – Transformation matrix
inertia_tensor ((3, 3) float) – Inertia tensor
- Returns
transformed – Inertia tensor in new frame
- Return type
(3, 3) float