Marc ten Bosch is the developer of 4D Toys and Miegakure and writes about 4D rotation, rotors, and geometric algebra.
HN commenters call his quaternion-versus-rotors post a great, interactive introduction to geometric algebra, though one found it underwhelming; they also praise his 4D games.
Jonathan Blow played a preview build of Miegakure at PAX East 2016 in his “Storytime” talk, where he solves some of the early levels:
https://www.youtube.com/watch?v=UwBl7Rnkt78&feature=youtu.be&t=25m16s
His analysis of the game is great — he says it parallels early sci-fi and speculative fiction, which started by asking “what if?” questions to build stories around worlds constructed from the answer (“What if the world was four dimensional?” in the case of Miegakure, or “what if the world was two dimensional?” in Flatland.)
Braid was born of asking similar questions. (“What if you could play with the flow of time?”) Jonathan suggests that games elevate the art of asking that question further than fiction because you actually have to _build_ the world spawned from your “what if?” question rather than write it. But it creates some of the most interesting games — he demos some others in his talk.
It's great to learn that Marc ten Bosch is still working on Miegakure. I really enjoyed the previews and the concept art on his own site: http://marctenbosch.com/news/
In "Further Reading" the article links to [Let's remove Quaternions from every 3D Engine](https://marctenbosch.com/quaternions/) which is about Geometric Algebra.
Many chefs are brilliant, but only Jeremiah Tower's book covers will tell you he's brilliant. Many branches of mathematics are of great utility. Geometric Algebra will breathlessly tell you this. I know few fields quite so evangelical.
If you don't know better, you should use quaternions rather than matrices. If you don't know better, stick with quaternions and avoid the generalization presented by Geometric Algebra until the benefit is clear.
This tension is probably why the field is so evangelical.
Quaternions are inevitable. In ten thousand runs of the simulation, sentient beings would come up with quaternions every time. Geometric Algebra is not so inevitable. An aesthetic awareness of the centrality of ideas guides some but not all mathematicians. Like that famous quote about taking an instant dislike to Ted Cruz, it saves time.
Also the (provocatively titled) "Let's Remove Quaternions from every 3d Engine" [1]
Spoiler alert: rotors are mechanically identical to quaternions, while being easier to understand. If you understand rotors, you understand quaternions. You can fit the laws you need to understand rotors on a business card.
Plus, rotors abstract to higher and lower (well, there's only one plane and its two respective orientations in 2d, but still) dimensions.
Complex numbers as planes (bivectors in GA parlance) has been the most mind-opening mathematical concept I've been exposed to in the last decade. The associated geometric product has helped me better understand concepts (like "handedness") that troubled me during undergrad engineering.
1. https://marctenbosch.com/quaternions/
Bivectors and higher show up a lot in the math of 4D+ geometry, too. There's a fascinating SIGRAPH 2020 talk [0] (with a paper [1]) by the maker of 4D Toys [2] and Miegakure (a 4D game in the works, [3]) explaining 4D geometry collision physics (with a good bivector intro in addition to the collision math). It's a great read and/or watch that smoothly covers everything from building basic intuitions to the gritty technical math of extending standard physics models to N-D spaces.
[0]: Bivector section timestamp: https://www.youtube.com/watch?v=JpxZQxXxMWY&t=479s
[1]: https://marctenbosch.com/ndphysics/
[1]: PDF: https://marctenbosch.com/ndphysics/NDrigidbody.pdf
[2]: https://4dtoys.com/
[3]: https://miegakure.com/
If you are still interested, try this: https://marctenbosch.com/quaternions/
The idea is that quaternions are the wrong way to look at the problem and that a better approach would be to use geometric algebra, bivectors and rotors. The formulas are essentially the same as with quaternions, but at least for me, this approach make more intuitive sense. It also work in dimensions other than 3, which matter to the author as he is the author of "4D toys" and hopefully, Miegakure.
Here is another talk on the subject, by a different author: https://www.youtube.com/watch?v=htYh-Tq7ZBI It is not specifically about quaternions, it is about multiplying vectors and what you get from that, and it includes quaternions.
It generalizes the notion of vectors as a continuum between scalars (0-dimensional) and volumes (n-dimensional where you chose the dimension of your space as n)
For example in a 3D space:
* 0D: scalars
* 1D: regular vectors, representing a point.
* 2D: 'rotors', representing an oriented surface. These are equivalent to quaternions, in a generalized elegant manner. We use quaternions in 3D engines to have rotations that don't have a special axis like Euler's.
* 3D: representing an oriented volume.
Here's a link if you want to know more:
https://marctenbosch.com/quaternions/