public interface InertiaMatrix
This interface represents the inertia matrix for an object, e.g. a payload. The inertia matrix is sometimes referred to as the inertia tensor.
For a payload, the inertia matrix is defined in a coordinate system with center at the payload's center of gravity (CoG), also referred to as center of mass, and the axes aligned with the tool output flange coordinate system (axes). The center of gravity is defined as the offset between the center of the tool output flange and the center of gravity of the attached payload.
The inertia matrix is formally a 3x3 symmetric matrix containing the moments of inertia and products of inertia around all three Cartesian axes for an object:Ixx Ixy Ixz Ixy Iyy Iyz Ixz Iyz IzzSince the inertia matrix is symmetric, it is only represented by six component values, i.e. the three moments of inertia (Ixx, Iyy, Izz) and the three products of inertia (Ixy, Ixz, Iyz).
Modifier and Type | Method and Description |
---|---|
boolean |
epsilonEquals(InertiaMatrix other,
double epsilon,
MomentOfInertia.Unit unit)
Indicates whether some other
InertiaMatrix object is "approximately equal" to this one. |
boolean |
equals(Object obj)
Indicates whether some other
InertiaMatrix object is "equal to" this one. |
double[] |
getComponents(MomentOfInertia.Unit unit)
Provides the six unique components of the inertia matrix, i.e.
|
double |
getIxxComponent(MomentOfInertia.Unit unit)
Provides the Ixx component of the inertia matrix, i.e.
|
double |
getIxyComponent(MomentOfInertia.Unit unit)
Provides the Ixy component of the inertia matrix, i.e.
|
double |
getIxzComponent(MomentOfInertia.Unit unit)
Provides the Ixz component of the inertia matrix, i.e.
|
double |
getIyyComponent(MomentOfInertia.Unit unit)
Provides the Iyy component of the inertia matrix, i.e.
|
double |
getIyzComponent(MomentOfInertia.Unit unit)
Provides the Iyz component of the inertia matrix, i.e.
|
double |
getIzzComponent(MomentOfInertia.Unit unit)
Provides the Izz component of the inertia matrix, i.e.
|
int |
hashCode() |
String |
toString() |
double getIxxComponent(MomentOfInertia.Unit unit)
unit
- The unit for which to return the moment of inertia valuedouble getIyyComponent(MomentOfInertia.Unit unit)
unit
- The unit for which to return the moment of inertia valuedouble getIzzComponent(MomentOfInertia.Unit unit)
unit
- The unit for which to return the moment of inertia valuedouble getIxyComponent(MomentOfInertia.Unit unit)
unit
- The unit for which to return the product of inertia valuedouble getIxzComponent(MomentOfInertia.Unit unit)
unit
- The unit for which to return the product of inertia valuedouble getIyzComponent(MomentOfInertia.Unit unit)
unit
- The unit for which to return the product of inertia valuedouble[] getComponents(MomentOfInertia.Unit unit)
unit
- The unit for which to return the values for the moments of inertia and products of inertiadouble
array with the moments of inertia and products of inertia values in the specified unitsint hashCode()
boolean equals(Object obj)
InertiaMatrix
object is "equal to" this one.boolean epsilonEquals(InertiaMatrix other, double epsilon, MomentOfInertia.Unit unit)
Indicates whether some other InertiaMatrix
object is "approximately equal" to this one.
MAX( abs(Ixx1-Ixx2), abs(Iyy1-Iyy2), abs(Izz1-Izz2), abs(Ixy1-Ixy2), abs(Ixz1-Ixz2), abs(Iyz1-Iyz2) ) <= epsilon.
other
- Another InertiaMatrix
object.epsilon
- The tolerance value to be used for the comparison of inertia matrix components (i.e. Ixx, Iyy, ...)
in specified unitsunit
- The unit for the specified epsilon
tolerance.true
if the values of this object is "approximately equal" to the values of the other
argument; false
otherwise.Copyright © 2023. All rights reserved.