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.