TensorFlow 2.0 RC is available Learn more

tfg.geometry.transformation.rotation_matrix_3d.from_euler_with_small_angles_approximation

Convert an Euler angle representation to a rotation matrix.

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

Defined in geometry/transformation/rotation_matrix_3d.py.

The resulting matrix is

\(\mathbf{R} = \mathbf{R}_z\mathbf{R}_y\mathbf{R}_x\)
. 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:

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 small Euler angles. [A1, ..., An, 0] is the angle about x in radians, [A1, ..., An, 1] is the angle about y in radians and [A1, ..., An, 2] is the angle about z in radians.
  • name: A name for this op that defaults to "rotation_matrix_3d_from_euler".

Returns:

A tensor of shape [A1, ..., An, 3, 3], where the last two dimensions represent a 3d rotation matrix.

Raises:

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