Class MomentsOfInertia

java.lang.Object
org.biojava.nbio.structure.geometry.MomentsOfInertia

public class MomentsOfInertia extends Object
The moment of inertia, otherwise known as the angular mass or rotational inertia, of a rigid body determines the torque needed for a desired angular acceleration about a rotational axis. It depends on the body's mass distribution and the axis chosen, with larger moments requiring more torque to change the body's rotation.

More in https://en.wikipedia.org/wiki/Moment_of_inertia.

Author:
Peter Rose, Aleix Lafita
  • Constructor Details

    • MomentsOfInertia

      Creates a new empty instance of MomentsOfInertia
  • Method Details

    • addPoint

      public void addPoint(javax.vecmath.Point3d point, double mass)
    • getCenterOfMass

      public javax.vecmath.Point3d getCenterOfMass()
    • getPrincipalMomentsOfInertia

      public double[] getPrincipalMomentsOfInertia()
    • getPrincipalAxes

      public javax.vecmath.Vector3d[] getPrincipalAxes()
      The principal axes of intertia
      Returns:
    • getOrientationMatrix

      public javax.vecmath.Matrix3d getOrientationMatrix()
      The orientation Matrix is a 3x3 Matrix with a column for each principal axis. It represents the orientation (rotation) of the principal axes with respect to the axes of the coordinate system (unit vectors [1,0,0], [0,1,0] and [0,0,1]).

      The orientation matrix indicates the rotation to bring the coordinate axes to the principal axes, in this direction.

      Returns:
      the orientation Matrix as a Matrix3d object
    • getElipsisRadii

      public double[] getElipsisRadii()
      The effective value of this distance for a certain body is known as its radius of / gyration with respect to the given axis. The radius of gyration corresponding to Ijj / is defined as / http://www.eng.auburn.edu/~marghitu/MECH2110/C_4.pdf / radius of gyration k(j) = sqrt(I(j)/m)
    • getRadiusOfGyration

      public double getRadiusOfGyration()
    • getSymmetryClass

    • symmetryCoefficient

      public double symmetryCoefficient()
    • getAsymmetryParameter

      public double getAsymmetryParameter(double threshold)
    • getInertiaTensor

      public double[][] getInertiaTensor()