Converts a rotation matrix to an axis-angle representation.
tfg.geometry.transformation.axis_angle.from_rotation_matrix(
rotation_matrix: type_alias.TensorLike,
name: str = 'axis_angle_from_rotation_matrix'
) -> Tuple[tf.Tensor, tf.Tensor]
Note |
In the current version the returned axis-angle representation is not unique
for a given rotation matrix. Since a direct conversion would not really be
faster, we first transform the rotation matrix to a quaternion, and finally
perform the conversion from that quaternion to the corresponding axis-angle
representation.
|
Note |
In the following, A1 to An are optional batch dimensions.
|
Args |
rotation_matrix
|
A tensor of shape [A1, ..., An, 3, 3] , where the last two
dimensions represent a rotation matrix.
|
name
|
A name for this op that defaults to "axis_angle_from_rotation_matrix".
|
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.
|
Raises |
ValueError
|
If the shape of rotation_matrix is not supported.
|