Computes the unsigned relative rotation angle between 2 unit quaternions.
tfg.geometry.transformation.quaternion.relative_angle(
quaternion1: type_alias.TensorLike,
quaternion2: type_alias.TensorLike,
name: str = 'quaternion_relative_angle'
) -> tf.Tensor
Given two normalized quanternions \(\mathbf{q}_1\) and \(\mathbf{q}_2\), the
relative angle is computed as
\(\theta = 2\arccos(\mathbf{q}_1^T\mathbf{q}_2)\).
Note |
In the following, A1 to An are optional batch dimensions.
|
Args |
quaternion1
|
A tensor of shape [A1, ..., An, 4] , where the last dimension
represents a normalized quaternion.
|
quaternion2
|
A tensor of shape [A1, ..., An, 4] , where the last dimension
represents a normalized quaternion.
|
name
|
A name for this op that defaults to "quaternion_relative_angle".
|
Returns |
A tensor of shape [A1, ..., An, 1] where the last dimension represents
rotation angles in the range [0.0, pi].
|
Raises |
ValueError
|
If the shape of quaternion1 or quaternion2 is not supported.
|