2 ms·
The constraints between the numbers, when the quaternion is defined as a rotation, end up having three degrees of freedom, spread over four numbers. You can't
by logfromblammo 10y ago
The constraints between the numbers, when the quaternion is defined as a rotation, end up having three degrees of freedom, spread over four numbers. You can't change any one of them without also changing another or violating the constraints of the rotation definition.
Similarly, when a quaternion is defined as representing a translation, that is likewise 3 degrees of freedom in 4 numbers. The four numbers would be similar to a real cartesian translation with dX, dY, dZ, and a fourth number = sqrt( dX^2 + dY^2 + dZ^2 ).
It's like the 4th number is a checksum for the other 3. You are adding a fourth number to use a more elegant mathematical calculation, which automatically keeps the dependent data relationships intact, like magic.
- chombier 10y ago> Similarly, when a quaternion is defined as representing a translation How do you encode translations with quaternions? Don't you need dual quaternions for that?
- logfromblammo 10y agoNo. You need dual quaternions to encode rotation and translation at the same time.
- chombier 10y agoOk this I know, but how to do translations only? (apart from the obvious vector space structure in R4)
- logfromblammo 10y agoThere are multiple ways that will work. The simplest I can think of is to fix the real part at zero and use i, j, and k to represent deltas along the x, y, and z axes. Then point + translation = point. There may also be a representation that also encodes distance from the origin, but I am probably confusing this in my memory with something else.