Convert an Euler angle representation to a rotation matrix.
tfg.geometry.transformation.rotation_matrix_3d.from_euler_with_small_angles_approximation(
angles: type_alias.TensorLike,
name: str = 'rotation_matrix_3d_from_euler_with_small_angles'
) -> tf.Tensor
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_with_small_angles".
|
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.
|