Computing the Moment of Inertia of a Solid Defined by a Triangle Mesh

Michael Kallay
Microsoft Corporation

This paper appears in issue Volume 11, Number 2.
An electronic version of this article is available.

Abstract

This note presents a simple algorithm for computing the mass properties of a solid whose boundary is defined by a mesh of triangles. Its main contribution is a simplification of the formula for computing moment of inertia. Source code is available online at the website listed at the end of this paper.

Author Information

Michael Kallay, Microsoft Corporation, 1 Microsoft Way, Redmond, WA 98052 Michael.Kallay@microsoft.com

Source Code

Moment_of_Inertia.cpp

  • AddTriangleContribution
    Add the contribution of a triangle to the mass properties. Call this method for each one of the mesh's triangles. The order of vertices must be such that their determinant is positive when the origin lies on the inner side of this facet's plane.
  • GetResults
    This method is called to obtain the results. This call modifies the internal data; calling it again will return incorrect results.

BibTeX Entry

@article{Kallay06,
  author = "Michael Kallay",
  title = "Computing the Moment of Inertia of a Solid Defined by a Triangle Mesh",
  journal = "journal of graphics, gpu, and game tools",
  volume = "11",
  number = "2",
  pages = "51-57",
  year = "2006",
}