API Reference#

Main classes#

The package py3dframe is composed of the following main classes:

  • Rotation class is used to manage 3D rotations (alias of scipy.spatial.transform.Rotation).

  • Frame class is used to represent 3D frames of reference.

  • FrameTree class is used to manage hierarchical relationships between multiple frames (easier than using py3dframe.Frame.parent attributes).

  • FrameTransform class is used to manage 3D transformations between frames.

Frame manipulation functions#

Some manipulation functions for py3dframe.Frame objects are provided to easily create new frames from existing ones:

  • Rotation around an axis function is used to create a new frame by rotating an existing frame around a specified axis.

  • Symmetry across a plane function is used to create a new frame by mirroring an existing frame across a specified plane.

  • Translation function is used to create a new frame by translating an existing frame by a specified translation vector.

  • Translation along an axis function is used to create a new frame by translating an existing frame along a specified axis by a specified distance.

Matrix submodule#

Some additional utility functions are also provided in the py3dframe.matrix module in order to manipulate 3D matrices in \(O(3)\) and \(SO(3)\) groups:

Frame convention conversion#

Finally, to perform conversions between the different conventions used in the literature for representing 3D rotations and transformations, a function py3dframe.switch_RT_convention() is provided:

Conversion functions: