Hacker News new | ask | show | jobs
by OccamsRazr 1649 days ago
tldr tldr (Since your version is for people who already understand undergraduate math, this version is for people who already understand upper-level undergraduate/graduate math):

If you try to use a product of 3 rotation matrices that represent rotations around fixed axes to represent rotations in 3D, there will inevitably be gimbal lock because there cannot exist a covering map from a product of 3 circles to SO(3). (Gimbal lock happens at the points where the map locally fails to be a covering map)

SU(2) is the universal cover of SO(3). The unit quaternions are a faithful representation of SU(2). Conveniently, the double cover map from SU(2) to SO(3) is dead simple in this representation: a unit quaternion q in SU(2) act on a purely imaginary quaternion (thought of as a vector in R^3) by conjugation. This is the formula you wrote.

Since it is a covering map, there is no gimbal lock.

Edited to fix explanation.