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 dot product should be 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.
This function checks unit norm and orthogonality of the real and dual part.
- 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.
norm_dual_quaternion
Normalization that enforces unit norm and orthogonality of the real and dual quaternion.
assert_unit_dual_quaternion
Checks unit norm and orthogonality of real and dual quaternion.