Skip to content

transform3d.py

rerun.components.transform3d

class Quaternion(*, xyzw)

3D rotation expressed via a Quaternion.

xyzw: npt.ArrayLike = xyzw instance-attribute

Quaternion given as a 4-element array of floats in the order (x, y, z, w).

class Transform3D dataclass

An affine transform between two 3D spaces, represented in a given direction.

transform: TranslationAndMat3 | TranslationRotationScale3D instance-attribute

Representation of a 3D transform.

from_parent: bool = False class-attribute instance-attribute

If True, the transform maps from the parent space to the child space. Otherwise, the transform maps from the child space to the parent space.

class TranslationAndMat3 dataclass

Representation of a affine transform via a 3x3 translation matrix paired with a translation.

translation: npt.ArrayLike | Translation3D | None = None class-attribute instance-attribute

3D translation vector, applied after the matrix. Uses (0, 0, 0) if not set.

matrix: npt.ArrayLike | None = None class-attribute instance-attribute

The row-major 3x3 matrix for scale, rotation & skew matrix. Uses identity if not set.

class Rigid3D dataclass

Representation of a rigid transform via separate translation & rotation.

translation: Translation3D | npt.ArrayLike | None = None class-attribute instance-attribute

3D translation vector, applied last.

rotation: Quaternion | RotationAxisAngle | None = None class-attribute instance-attribute

3D rotation, represented as a quaternion or axis + angle, applied second.

class TranslationRotationScale3D dataclass

Representation of an affine transform via separate translation, rotation & scale.

translation: Translation3D | npt.ArrayLike | None = None class-attribute instance-attribute

3D translation vector, applied last.

rotation: Quaternion | RotationAxisAngle | None = None class-attribute instance-attribute

3D rotation, represented as a quaternion or axis + angle, applied second.

scale: Scale3D | npt.ArrayLike | float | None = None class-attribute instance-attribute

3D scaling either a 3D vector, scalar or None. Applied first.

class Translation3D dataclass

3D translation expressed as a vector.

class Scale3D dataclass

3D scale expressed as either a uniform scale or a vector.

class RotationAxisAngle dataclass

3D rotation expressed via a rotation axis and angle.

axis: npt.ArrayLike instance-attribute

Axis to rotate around.

This is not required to be normalized. If normalization fails (typically because the vector is length zero), the rotation is silently ignored.

degrees: float | None = None class-attribute instance-attribute

3D rotation angle in degrees. Only one of degrees or radians should be set.

radians: float | None = None class-attribute instance-attribute

3D rotation angle in radians. Only one of degrees or radians should be set.

class Transform3DArray

Bases: pa.ExtensionArray

def from_transform(transform)

Build a Transform3DArray from a single transform.