2021-03-06, 05:46 AM (ISO 8601)
Barbarian in the Playground
Re: Why does ijk=-1
To some extent because it was picked to be that way.
Originally Posted by Bohandas
It's easy to see it from the quaternion multiplication table i*i=-1 j*k=i therefore i*(j*k)=-1 and reassuringly (i*j)*k=-1 as well
So looking at it visually
1*i -> i
i*i -> -1
So on the zero j,k plane 1 is changed (rotated) to i
And similarly for the unit&j unit&k planes
Notice of course that multiplication by 1 doesn't rotate.
Now lets look at the other two options.
j*i -> -k
k*i -> j
These are clearly not left unaffected, if it were a simple pure rotation to the i axis then of course they would be (I'm sure it's been considered).
However if you look at it again, it does look a bit rotationy. You could imagine looking down the i axis and seeing it rotate.
So to consider a three dimensional anology, it's like a plane yawing 90 degrees from north to east, and in the same motion rolling 90 degrees so up is now [south]. (again this has of course been considered but makes horrible maths, for some reason). However in three dimensions the roll and yaw share an axis, this is not the case in quaternion (I'm not sure separating it into two independent rotations works).
So going back to (i*j)*k
We;re multiplying by j so we rotate the (1,j) axes but our point is at zero with respect to these so nothing happens, we rotate the (i,k) axis so our point is now at k
[We should be doing this at the same time, it's one rotation, we get away with it because one of them has no effect, but we would have to be careful]
So now our initial vector is in the k axis.
And we're multiplying by k so we rotate the (1,k) axes.
[TLDR it is a rotation, but you don't just rotate as though watching from above]
Last edited by jayem; 2021-03-06 at 05:47 AM.