Interactive Article: [this video is the updated version of (fixed typos and different introduction)] To represent 3D rotations graphics programmers use Quaternions. However, Quaternions are taught at face value. We just accept their odd multiplication tables and other arcane definitions and use them as black boxes that rotate vectors in the ways we want. Why does i^2=j^2=k^2=−1 and ij=k? Why do we take a vector and upgrade it to an “imaginary“ vector in order to transform it, like q(xi yj zk)q∗? Who cares as long as it rotates vectors the right way, right? Personally, I have always found it important to actually understand the things I am using. I remember learning about Cross Products and Quaternions and being confused about why they worked this way, but nobody talked about it. Later on I learned about Geometric Algebra and suddenly I could see that the questions I had were legitimate, and everything became so much clearer. In Geometric
Hide player controls
Hide resume playing