Converts small Euler angles to an axis-angle representation.
tfg.geometry.transformation.axis_angle.from_euler_with_small_angles_approximation(
angles: type_alias.TensorLike,
name: str = 'axis_angle_from_euler_with_small_angles_approximation'
) -> Tuple[tf.Tensor, tf.Tensor]
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 |
The conversion is performed by first converting to a quaternion
representation, and then by converting the quaternion to an axis-angle.
|
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
"axis_angle_from_euler_with_small_angles_approximation".
|
Returns |
A tuple of two tensors, respectively of shape [A1, ..., An, 3] and
[A1, ..., An, 1] , where the first tensor represents the axis, and the
second represents the angle. The resulting axis is a normalized vector.
|