Convert an Euler angle representation to a rotation matrix.

The resulting matrix is

$$\mathbf{R} = \mathbf{R}_z\mathbf{R}_y\mathbf{R}_x$$

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

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


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

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

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

ValueError If the shape of angles is not supported.