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

  1. 1
    Let's remove quaternions from every 3D engine (2018)
    24 people · 1.3K points · first shared 2018 · 326 comments on HN
  2. 2
    4D Toys: a box of four-dimensional toys
    3 people · 575 points · first shared 2017 · 138 comments on HN
  3. 3
    4D Toys: Klein Bottles
    3 people · 101 points · first shared 2021 · 13 comments on HN
  4. 4
    Miegakure Update End of 2019
    3 people · 3 points · first shared 2020 · 1 comments on HN
  5. 5
    Miagakure: A puzzle-platformer in four dimensions
    3 people · 2 points · first shared 2010 · 1 comments on HN
  6. 6
    News
    3 people · first shared 2019
  7. 7
  8. 8
  9. 9
    Miegakure Update November 2020: art direction in 4D
    2 people · 4 points · first shared 2020 · 2 comments on HN
  10. 10
  11. 11
    Ndphysics
    2 people · first shared 2023
  12. 12
    Code
    2 people · first shared 2020
  13. 13
  14. 14
    How to walk through walls using the 4th dimension [video]
    1 people · 218 points · first shared 2014 · 95 comments on HN
  15. 15
    Miegakure Update September 2021
    1 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/
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/

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close