TF 2.0 is out! Get hands-on practice at TF World, Oct 28-31. Use code TF20 for 20% off select passes. Register now

tfg.geometry.transformation.rotation_matrix_2d.from_euler_with_small_angles_approximation

Converts an angle to a 2d rotation matrix under the small angle assumption.

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

Defined in geometry/transformation/rotation_matrix_2d.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}\)
. The 2d rotation matrix will then be approximated as

$$ \mathbf{R} = \begin{bmatrix} 1.0 - 0.5\theta^2 & -\theta \\ \theta & 1.0 - 0.5\theta^2 \end{bmatrix}. $$

In the current implementation, the smallness of the angles is not verified.

Note:

The resulting matrix rotates points in the

\(xy\)
-plane counterclockwise.

Note:

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

Args:

  • angles: A tensor of shape [A1, ..., An, 1], where the last dimension represents a small angle in radians.
  • name: A name for this op that defaults to "rotation_matrix_2d_from_euler_with_small_angles_approximation".

Returns:

A tensor of shape [A1, ..., An, 2, 2], where the last dimension represents a 2d rotation matrix.

Raises:

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