View source on GitHub |
This module implements TensorFlow quaternion utility functions.
A quaternion is written as \(q = xi + yj + zk + w\), where \(i,j,k\) forms the three bases of the imaginary part. The functions implemented in this file use the Hamilton convention where \(i^2 = j^2 = k^2 = ijk = -1\). A quaternion is stored in a 4-D vector \([x, y, z, w]^T\).
More details about Hamiltonian quaternions can be found on this page.
Functions
between_two_vectors_3d(...)
: Computes quaternion over the shortest arc between two vectors.
conjugate(...)
: Computes the conjugate of a quaternion.
from_axis_angle(...)
: Converts an axis-angle representation to a quaternion.
from_euler(...)
: Converts an Euler angle representation to a quaternion.
from_euler_with_small_angles_approximation(...)
: Converts small Euler angles to quaternions.
from_rotation_matrix(...)
: Converts a rotation matrix representation to a quaternion.
inverse(...)
: Computes the inverse of a quaternion.
is_normalized(...)
: Determines if quaternion is normalized quaternion or not.
multiply(...)
: Multiplies two quaternions.
normalize(...)
: Normalizes a quaternion.
normalized_random_uniform(...)
: Random normalized quaternion following a uniform distribution law on SO(3).
normalized_random_uniform_initializer(...)
: Random unit quaternion initializer.
relative_angle(...)
: Computes the unsigned relative rotation angle between 2 unit quaternions.
rotate(...)
: Rotates a point using a quaternion.