Rotations with quaternions
The reason this works is often skipped in computationally oriented writeups:<p>Rotations of 3-dimensional real space form the topological group SO(3). Naive parameterizations of that group do not form a cover [1], but the group of norm-1 quaterinons, Spin(3), does.<p>The failure of naive parameterizations, like the Euler angles, to be a cover manifests itself as gimbal lock.<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Covering_space" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Covering_space</a>