Marc ten Bosch
marctenbosch.com · Personal blog · on HN since 2010
Marc ten Bosch is the developer of 4D Toys and Miegakure and writes about 4D rotation, rotors, and geometric algebra.
What HN saysHN 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.
54HN people shared it
32linked it in comments
31stories submitted
2.7Kstory points
1 year agolast shared
2010people per year2026
Most-shared posts
- 1Let's remove quaternions from every 3D engine (2018)24 people · 1.3K points · first shared 2018 · 326 comments on HN
- 24D Toys: a box of four-dimensional toys3 people · 575 points · first shared 2017 · 138 comments on HN
- 34D Toys: Klein Bottles3 people · 101 points · first shared 2021 · 13 comments on HN
- 4Miegakure Update End of 20193 people · 3 points · first shared 2020 · 1 comments on HN
- 5Miagakure: A puzzle-platformer in four dimensions3 people · 2 points · first shared 2010 · 1 comments on HN
- 6News3 people · first shared 2019
- 7Understanding Miegakure, and the 4D as Parallel Universes2 people · 6 points · first shared 2015 · discussion on HN
- 8Let’s remove Quaternions from every 3D Engine (Introduction to Rotors) (2019)2 people · 5 points · first shared 2020 · discussion on HN
- 9Miegakure Update November 2020: art direction in 4D2 people · 4 points · first shared 2020 · 2 comments on HN
- 104D Toys Update 8: Rotating the 3D Slice, 2D Faces Projections, Marble Scenes2 people · 2 points · first shared 2023 · discussion on HN
- 11Ndphysics2 people · first shared 2023
- 12Code2 people · first shared 2020
- 134D Toys: how objects bounce and roll in 4D – paper accepted to SIGGRAPH 20201 people · 429 points · first shared 2020 · 97 comments on HN
- 14How to walk through walls using the 4th dimension [video]1 people · 218 points · first shared 2014 · 95 comments on HN
- 15Miegakure Update September 20211 people · 80 points · first shared 2021 · 21 comments on HN
What HN people wrote when they linked it
helloplanets · 2023-06-27
SIGGRAPH actually released a technical paper by Marc Ten Bosch a couple years back. [0] Developers like him who put a decade+ of work into a project just because they love the subject are a direly needed example of what hard work can mean instead of a 'grindset' mentality.
[0]: https://marctenbosch.com/ndphysics/
wasabi991011 · 2023-04-28
Let's remove Quaternions from every 3D Engine[1] by Marc Ten Bosch (developer of 4D Toys and Meigakure) was my introduction to geometric algebra, and I remember it being a great explanation.
[1] https://marctenbosch.com/quaternions/
jellyksong · 2021-09-21
There's an amazing game, 4D Toys [1], that lets you interactively play with 4D objects in a 3D environment. It's great on iPad.
I believe the developer had to create a custom physics engine to support 4D space [2].
[1] https://4dtoys.com/
[2] https://marctenbosch.com/news/2017/06/4d-toys-a-box-of-four-dimensiona…
pastrami_panda · 2020-11-27
This is also an excellent and interactive blog-post building up to the understanding of how rotors can replace quaternions in GA: https://marctenbosch.com/quaternions/
creata · 2020-11-18
Do you have some before-and-after code that you can share?
I've seen two other efforts in that general direction:
* "Let's Remove Quaternions from Every 3D Engine"[0], which was underwhelming: let's ask other people to rename existing code for no practical benefit?
* "Klein"[1], a projective geometric algebra library that is amazingly nice to use, and claims to be very fast.
[0]: https://marctenbosch.com/quaternions/
[1]: https://www.jeremyong.com/klein/
Syzygies · 2021-06-01
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.
modernerd · 2019-05-25
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…
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/
Cieric · 2025-04-23
I actually set up something close to this myself, but purely selfhosted. I never really wrote any posts though because I wanted to figure out a system for interactivity like some other blogs have done. The one that always sticks out in my mind is the "Let's remove Quaternions from every 3D Engine" post [1], I never really cared for the video aspect of it, but all the little examples to try and give a better 3d perspective of what's going on is the thing I've always wanted a good system for.
[1] https://marctenbosch.com/quaternions/
Ygg2 · 2025-02-27
Whenever I see a quaternion post, I wonder why the rotors aren't the default[1].
They are mathematically equivalent, easier to explain, can generalize to higher dimensions, and aren't mocked in the Alice in the Wonderland[2] (famous tea part scene).
[1]https://archive.is/20240820193111/ (mirror of https://marctenbosch.com/quaternions/ )
[2]https://gaupdate.wordpress.com/2011/07/26/quaternions-part-of-the-hidd…
matthberg · 2025-02-27
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/
gamedever · 2025-02-27
Are they?
[Let's remove Quaternions from every 3D Engine] https://marctenbosch.com/quaternions/
AnIrishDuck · 2025-01-30
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/
jiyinyiyong · 2024-06-23
another way to understand 3D rotation is using geometric algebra, which regard a 3D rotation with 2 reflections within an angle in the reflection planes. It's very interesting and also available calculating with 3D vectors.
https://marctenbosch.com/quaternions/#h_5 https://www.bilibili.com/video/BV1Ey4y1P782/?vd_source=856977e0dfd83a2…
GuB-42 · 2024-04-26
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.
powerpiglet · 2023-09-16
There's an alternate concept for rotations called a rotor that is just as capable as the quaternion concept but does not require reasoning in higher dimensions: http://marctenbosch.com/quaternions/
BenoitP · 2022-12-14
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/
kilovoltaire · 2022-08-15
Geometric Algebra provides a compelling alternative to quaternions:
https://marctenbosch.com/quaternions/
(HN discussion 8 months ago https://news.ycombinator.com/item?id=29512302 )
gfxgirl · 2022-06-14
for general GA yes but for the GA needed to replace quaternions in 3D?
I'm far from good at math but the GA article linked above has this comparision of quaternion code vs rotor (GA) code
https://marctenbosch.com/quaternions/code.htm
jessermeyer · 2022-04-19
This is because they map to rotors in geometric algebra which is exactly that.
https://marctenbosch.com/quaternions/
ivanstojic · 2021-12-10
Interesting thing to remember: quaternions are a special application of rotors, a concept which may be easier to understand as a base:
https://marctenbosch.com/quaternions/
ClosedPistachio · 2021-10-10
In the credits it mentions: https://marctenbosch.com/news/2017/06/4d-toys-a-box-of-four-dimensiona…
aardvark179 · 2021-06-01
Since this will get posted here anyway I’ll just get it done now. https://marctenbosch.com/quaternions/
I don’t entirely agree with the article’s viewpoint that people do not perfectly understand quaternions and therefore they should not be used, as I get the feeling there are many parts of 3D graphics that are not perfectly understood by developers, and that’s okay.
greggman3 · 2020-09-07
AFAICT the proponents of GA claim it explains lots of things that don't make a whole lot of sense without it.
One example is why you multiply normals by the world_inverse_tranpose. Apparently the reason is because normals are actually bivectors, not directional vectors as they are usually explained.
another is that at least in code, they apparently solve lots of issues that other methods don't
See: https://marctenbosch.com/quaternions/
https://marctenbosch.com/quaternions/code.htm
and: https://bivector.net/
and https://www.youtube.com/watch?v=tX4H_ctggYo
fulafel · 2020-07-16
The argument against (in 3d graphics/games): "Let's remove Quaternions from every 3D Engine" by Marc ten Bosch, https://marctenbosch.com/quaternions/
(And its HN threads https://news.ycombinator.com/item?id=22200260 & https://news.ycombinator.com/item?id=18365433)
aasasd · 2020-04-16
I still don't know what it is about 60 Hz that made me see the flicker plainly as a strobing light. TVs at 50 Hz—nothing (other than being generally bleh back then). Had to use 800x600 instead of 1024x768 just to have 85 Hz instead.
On LCDs, I still can see faint flicker on some static backgrounds, and I think 60 Hz might play a role here too—though it seems to also depend on the brightness and Flux being on or off. E.g. on https://marctenbosch.com/news/
ahaferburg · 2020-02-01
Oh, thanks for pointing that out!
He posted an update on the game recently: https://marctenbosch.com/news/2020/01/miegakure-update-end-of-2019/
marctenbosch · 2018-11-02
The [Aside] section of "The Reflection Formula (Geometric Product Version) "http://marctenbosch.com/quaternions/#h_13
has the answer you seek ;)
sp332 · 2016-10-10
There's a game coming out called Miegakure that involves 4D puzzles, with only 3 discrete position along the 4th dimension. http://marctenbosch.com/news/2015/02/miegakure-and-understanding-and-p… Instead of navigating directly into the 4th dimension, you have to rotate the world around you, move a bit, then rotate it back to move sideways.
Mithaldu · 2014-11-21
Very wordy article, but quite too fluffy for my taste. For those who wish to have more meat about Miegakure, Marc Ten Bosch has a development blog on it: http://marctenbosch.com/news/category/miegakure/
zokier · 2014-02-04
Another 4D game: Miegakure http://marctenbosch.com/miegakure/
As referenced in a XKCD http://xkcd.com/721/