Math Module#

The msolve.Math module provides lightweight geometric and algebraic tools designed in assisting modeling of multibody systems. These tools are especially useful when working directly with vectors, points, and spatial transformations.

Notably, the `Matrix44` class represents 4x4 homogeneous transformation matrices and supports rotations, translations, and full coordinate transformations. It is particularly useful for computing and modifying the position of bodies or transforming vectors between various reference frames.

Overloaded Operators in msolve.Math#

Operator

Vector

Point

Matrix44

+, -

\(\checkmark\) (addition and subtraction)

\(\checkmark\) (inherited from Vector)

Not supported

*

\(\checkmark\) (scalar multiplication, cross product, spatial transform)

\(\checkmark\) (scalar and spatial transform)

\(\checkmark\) (matrix multiplication, apply transform)

/

\(\checkmark\) (division by scalar)

\(\checkmark\) (inherited from Vector)

\(\checkmark\) (matrix division via inverse)

%

\(\checkmark\) (dot product)

\(\checkmark\) (inherited from Vector)

Not supported

Unary -

\(\checkmark\) (negation)

\(\checkmark\) (negation)

\(\checkmark\) (matrix inversion)

Math Classes#

Matrix44

4x4 orthonormal matrix for transformations.

Point

3D point representing a location in space.

Vector

3D vector that supports various mathematical operations.