tfg.geometry.transformation.quaternion.from_euler_with_small_angles_approximation

Converts small Euler angles to quaternions.

tfg.geometry.transformation.quaternion.from_euler_with_small_angles_approximation(
    angles,
    name=None
)

Defined in geometry/transformation/quaternion.py.

Under the small angle assumption,

\(\sin(x)\)
and
\(\cos(x)\)
can be approximated by their second order Taylor expansions, where
\(\sin(x) \approx x\)
and
\(\cos(x) \approx 1 - \frac{x^2}{2}\)
. In the current implementation, the smallness of the angles is not verified.

Note:

Uses the z-y-x rotation convention (Tait-Bryan angles).

Note:

In the following, A1 to An are optional batch dimensions.

Args:

  • angles: A tensor of shape [A1, ..., An, 3], where the last dimension represents the three Euler angles. [..., 0] is the angle about x in radians, [..., 1] is the angle about y in radians and [..., 2] is the angle about z in radians. name: A name for this op that defaults to "quaternion_from_euler".

Returns:

A tensor of shape [A1, ..., An, 4], where the last dimension represents a normalized quaternion.

Raises:

  • ValueError: If the shape of angles is not supported.