Hamilton's Quaternion Lectures
 
I'm still reading Hamilton's Lectures on Quaternions.

It is funny, it was published in the 1850s but it makes far more sense than anything from the modern day that I have read about them.


On the other hand, it's slow going. Definitely not the "youtube twitter pacing". It takes him a few dozen pages to describe what a Vector is, a few dozen more to describe how - x - = +, and then a few dozen more to get to the prequels to his famous idea of Quaternions.... but the way he explains it makes so much more sense (although I am still a but fuzzy on the details).


In 1 dimension, you can have a vector, and it has a direction, either left or right. The operation to convert one type to the other is called "Multiplication" but you use a "versor" when you do the multiplication. So vector v can have an "inverse" by finding "-v" which is - multiplied by v.


Now what happens in 3 dimensions? The "versor" doesn't necessarily invert through the origin... what it actually does can be thought of as a rotation... by looking at the South, West, and Up vectors... called i,j,k and imagining that there are actually multiple different ways to "verse" them between each other. Contrast with one dimensional geometry - there is only one way to 'verse' something, left or right. In 3d, there are more options, at least if I am reading him correctly. But this Versing is still done by Multiplication, as it was with 1 dimensional geometry. So i x j = k, j x k = i, k x i = j. But j x i is not k! j x i is something else. In fact, it's j x i = -k. Note that here, a x b is not the same as b x a... that's called commutation and it doesn't work for versors in 3d. 


So imagine the way that you can rotate a telescope (his example) in multiple different methods to acheive a final rotation position. For example starting at East pointing to the horizon, going 90 degrees from East-to-North and 90 degrees up, is the same as just going 90 degrees up from the beginning. (And maybe you can roll? Like i said, I'm a bit fuzzy on details). Now... imagine you can do this rotation with the multiplications, then it stands to reason there are multiple different chains of multiplication that can be performed to generated the same final rotation position of a vector in 3d space.


That is why you can get confused if you try to rotate something....an airplane for example, with pitch, yaw, and roll..... if you do the same amount of pitch, yaw, and roll, (say, 90 degrees) but in a different order (say pitch before yaw, or roll before pitch, instead of after), your airplane will wind up pointing in a different direction even though you used the same value of pitch yaw and roll. This is also probably related to why there is "gimbal lock" (but like I said I'm a little fuzzy).  It is all because the algebra of rotations is so similar to this non-commutative multiplication with i j and k.


But here's the clever bit. If you work it out enough with the rotations, you find


   j  x i x i =   -j


Cancel j and you get


   i x i = -1


The same is for j and k. j x j = -1, k x k = -1. i j and k are all distinct imaginary numbers. They all square to -1, but they are not equivalent to each other. That is to say, the square root of negative one can be thought of as having multiple different values. In this case, three... i j and k. Or in another way of thinking... the old Square Root Function is a funny old beast, never know quite what will come out the other end, so take care walking in those woods.


Students of Quaternions will understand this part, it's where most modern web pages start the description. But with the other stuff this makes a little more sense to me. (Not total sense by any means.... don't get me wrong. I still haven't the foggiest on 90% of it and have probably made some mistakes above)


And so..... I got zero programming done lately. Too much stress IRL. But this Quaternion stuff is used all over modern 3d graphics.... plus it's cool and interesting.