tfg.geometry.transformation.quaternion.relative_angle
Stay organized with collections
Save and categorize content based on your preferences.
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.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2022-10-28 UTC.
[null,null,["Last updated 2022-10-28 UTC."],[],[],null,["# tfg.geometry.transformation.quaternion.relative_angle\n\n|-------------------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/graphics/blob/master/tensorflow_graphics/geometry/transformation/quaternion.py#L618-L661) |\n\nComputes the unsigned relative rotation angle between 2 unit quaternions. \n\n tfg.geometry.transformation.quaternion.relative_angle(\n quaternion1: type_alias.TensorLike,\n quaternion2: type_alias.TensorLike,\n name: str = 'quaternion_relative_angle'\n ) -\u003e tf.Tensor\n\nGiven two normalized quanternions \\\\(\\\\mathbf{q}_1\\\\) and \\\\(\\\\mathbf{q}_2\\\\), the\nrelative angle is computed as\n\\\\(\\\\theta = 2\\\\arccos(\\\\mathbf{q}_1\\^T\\\\mathbf{q}_2)\\\\).\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Note ---- ||\n|---|---|\n| In the following, A1 to An are optional batch dimensions. ||\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|---------------|----------------------------------------------------------------------------------------------------|\n| `quaternion1` | A tensor of shape `[A1, ..., An, 4]`, where the last dimension represents a normalized quaternion. |\n| `quaternion2` | A tensor of shape `[A1, ..., An, 4]`, where the last dimension represents a normalized quaternion. |\n| `name` | A name for this op that defaults to \"quaternion_relative_angle\". |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| A tensor of shape `[A1, ..., An, 1]` where the last dimension represents rotation angles in the range \\[0.0, pi\\]. ||\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|--------------|------------------------------------------------------------------|\n| `ValueError` | If the shape of `quaternion1` or `quaternion2` is not supported. |\n\n\u003cbr /\u003e"]]