TF 2.0 is out! Get hands-on practice at TF World, Oct 28-31. Use code TF20 for 20% off select passes.

# tfg.geometry.transformation.quaternion.relative_angle

Computes the unsigned relative rotation angle between 2 unit quaternions.

tfg.geometry.transformation.quaternion.relative_angle(
quaternion1,
quaternion2,
name=None
)

Defined in geometry/transformation/quaternion.py.

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.