View source on GitHub

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

Under the small angle assumption,




can be approximated by their second order Taylor expansions, where

$$\sin(x) \approx x$$


$$\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.


The resulting matrix rotates points in the


-plane counterclockwise.


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

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".

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

ValueError If the shape of angle is not supported.