pytransform3d.transformations.dual_quaternion_requires_renormalization#

pytransform3d.transformations.dual_quaternion_requires_renormalization(dq, tolerance=1e-06)[source]#

Check if dual quaternion requires renormalization.

Dual quaternions that represent transformations in 3D should have unit norm. Since the real and the dual quaternion are orthogonal, their product is 0. In addition, \(\epsilon^2 = 0\). Hence,

\[||\boldsymbol{p} + \epsilon \boldsymbol{q}|| = \sqrt{(\boldsymbol{p} + \epsilon \boldsymbol{q}) \cdot (\boldsymbol{p} + \epsilon \boldsymbol{q})} = \sqrt{\boldsymbol{p}\cdot\boldsymbol{p} + 2\epsilon \boldsymbol{p}\cdot\boldsymbol{q} + \epsilon^2 \boldsymbol{q}\cdot\boldsymbol{q}} = \sqrt{\boldsymbol{p}\cdot\boldsymbol{p}},\]

i.e., the norm only depends on the real quaternion.

Parameters:
dqarray-like, shape (8,)

Dual quaternion to represent transform: (pw, px, py, pz, qw, qx, qy, qz)

tolerancefloat, optional (default: 1e-6)

Tolerance for check.

Returns:
requiredbool

Indicates if renormalization is required.

See also

check_dual_quaternion

Input validation of dual quaternion representation. Has an option to normalize the dual quaternion.