Notation

For physical quantities we use the notation _{A}\boldsymbol{x}_{BC}, where \boldsymbol{x} is a physical quantity of frame C with respect to frame B expressed in frame A, where frame refers to a reference frame or coordinate system that is defined by three orthonormal basis vectors and a position in three-dimensional space. For example, _{A}\boldsymbol{t}_{BC} is the translation of C with respect to B measured in A or _{A}\boldsymbol{\omega}_{BC} is the orientation vector of C with respect to B measured in A.

Since _A\boldsymbol{t}_{BC} represents a vector or translation from frame B to frame C expressed in frame A, the position of a point P with respect to a frame A in three-dimensional space can be defined by _A\boldsymbol{p} := _A\boldsymbol{t}_{AP}.

When we define a mapping from some frame A to another frame B that can be expressed as a matrix multiplication, we use the notation \boldsymbol{M}_{BA} for the corresponding matrix. We can read this from right to left as a matrix that maps from frame A to frame B through multiplication, for example, when we want to transform a point by

_B\boldsymbol{p} = \boldsymbol{M}_{BA} {_A\boldsymbol{p}}

Representations

We can use many different representations of rotation and / or translation. Here is an overview of the representations that are available in pytransform3d. All representations are stored in NumPy arrays, of which the corresponding shape is shown in this table. You will find more details on these representations on the following pages.

Representation and Mathematical Symbol

NumPy Array Shape

Rotation

Translation

Rotation matrix \pmb{R}

(3, 3)

X

Compact axis-angle \pmb{\omega}

(3,)

X

Axis-angle (\hat{\pmb{\omega}}, \theta)

(4,)

X

Logarithm of rotation \left[\pmb{\omega}\right]

(3, 3)

X

Quaternion \pmb{q}

(4,)

X

Rotor R

(4,)

X

Euler angles (\alpha, \beta, \gamma)

(3,)

X

Transformation matrix \pmb{T}

(4, 4)

X

X

Exponential coordinates \mathcal{S}\theta

(6,)

X

X

Logarithm of transformation \left[\mathcal{S}\right]\theta

(4, 4)

X

X

Position and quaternion (\pmb{p}, \pmb{q})

(7,)

X

X

Dual quaternion \pmb{p} + \epsilon\pmb{q}

(8,)

X

X

Duality of Transformations and Poses

We can use a transformation matrix \boldsymbol{T}_{BA} that represents a transformation from frame A to frame B to represent the pose (position and orientation) of frame A in frame B (if we use the active transformation convention; see Transformation Ambiguities and Conventions for details). This is just a different interpretation of the same matrix and similar to our interpretation of a vector from A to P _A\boldsymbol{t}_{AP} as a point _A\boldsymbol{p}.

References