pytransform3d.transformations
.dual_quaternion_sclerp#
- pytransform3d.transformations.dual_quaternion_sclerp(start, end, t)[source]#
Screw linear interpolation (ScLERP) for dual quaternions.
Although linear interpolation of dual quaternions is possible, this does not result in constant velocities. If you want to generate interpolations with constant velocity, you have to use ScLERP.
- Parameters:
- startarray-like, shape (8,)
Unit dual quaternion to represent start pose: (pw, px, py, pz, qw, qx, qy, qz)
- endarray-like, shape (8,)
Unit dual quaternion to represent end pose: (pw, px, py, pz, qw, qx, qy, qz)
- tfloat in [0, 1]
Position between start and goal
- Returns:
- dq_tarray, shape (8,)
Interpolated unit dual quaternion: (pw, px, py, pz, qw, qx, qy, qz)
See also
pq_slerp
An alternative approach is spherical linear interpolation (SLERP) with position and quaternion.
References
[1]Kavan, L., Collins, S., O’Sullivan, C., Zara, J. (2006). Dual Quaternions for Rigid Transformation Blending, Technical report, Trinity College Dublin, https://users.cs.utah.edu/~ladislav/kavan06dual/kavan06dual.pdf