Excited to announce that my technical paper “N-Dimensional Rigid Body Dynamics” was accepted to SIGGRAPH 2020! Very proud to present research developed for 4D Toys & Miegakure at such a prestigious conference.

Here is the link to the paper and the abstract:

I present a formulation for Rigid Body Dynamics that is independent of the dimension of the space. I describe the state and equations of motion of rigid bodies using geometric algebra. Using collision detection algorithms extended to nD I resolve collisions and contact between bodies. My implementation is 4D, but the techniques described here apply to any number of dimensions. I display these four-dimensional rigid bodies by taking a three-dimensional slice through them. I allow the user to manipulate these bodies in real-time.

Btw I believe it is basically unheard of to have work from an indie game presented in the SIGGRAPH technical papers track?

The paper is full of really fun and beautiful math (obviously Geometric Algebra based, see my recent article) that makes me happy. One reviewer called the work “whimsical,” and they’re not wrong, ahah.

Most of this work (including writing the paper) is from ~2012, but I added a section on the (4D) Dzhanibekov effect at the suggestion of the reviewers. Many thanks to them for helping me greatly improve the paper.

Very cool!

I’m also very curious about that Dzh… effect, and how it looks in 4D!

Yeah, the issue is that I could do entire videos on so many things like that it becomes overwhelming…

Speaking of which, thank you immensely for doing the video on GA and rotors! SO many seemingly contrived concepts like determinants and cross products suddenly have a natural and visual motivation.

I don’t know how someone like 3Blue1Brown dude can keep up with life, work, and such a video production schedule as what he has, because it is clear putting together such a video (and accompanying article, and fancy interactive widgets) is an entire project in itself. We don’t expect you to do all things, especially when Miegakure alone is a lifetime achievement award already.

Anyway, yours was one of the gentlest and most accessible introductions, and I appreciate especially all the detail in the “Asides” where needed, e.g. derivation of the double reflection formula and history.

Please:

– stay careful and safe during the Covid pandemic

– get exercise and eat fruits and vegetables

– reach out to friends and us random internet fans if you ever need to bounce thoughts off us, whether about Miegakure or otherwise (don’t let that monumental project weigh on you alone, that’s too much pressure / expectation)

Basically take care!

Congratulations! Independent applied research feels refreshingly different from many other papers, probably due to the lack of the usual “publish or perish” pressure or similar strong constraints.

As a mere comp.sci graduate, I find the paper both accessible and inviting to delve deeper into the topic. Thanks!

Wow! Inspiring work, thanks for sharing

Congrats marc! Keep up the good work!

I’m curious about the choice of rendering in the video.

(Possible my intuitions here are wrong, I haven’t worked out the points on paper. Also I’m a graphics amateur.)

If I imagine rendering a 3d object (cube) on a computer screen, two mechanisms come to mind:

1) “slice” the 3d object with a 2d plane and view the slice

2) “project” parallel rays from far away, and render the surface they come into contact with

I think my intuition is we usually use (2) for drawing 3d objects on computer screens, and my intuition is the video uses something closer to (1).

Is it possible to do (2) for 4d spaces? Is there something else entirely?

In any case, I love the result! Hope to see more things using this!

This is fascinating!

I wonder, would it be possible to do a 4D -> 3D projection (like how 3D is projected to 2D for screens and print) to show more of what is happening outside the current 3D cross section?

It’s not only possible, but it is common. Almost every rendering of a hypercube that looks like a small cube inside of a larger cube is this kind of projection. The smaller cube is merely further away from the viewer in the 4th dimension. I don’t know how a complex world like Miegakure would look like with this… I feel like it would be overwhelming.

Do you plan to put it on arxiv?

Sure. Probably once it shows up on the ACM website?

Hey Marc. 4D Toys really helped me understand what a 4D hyperspace would look like and I’m curious how the game development of Miegakure is going. I even did some drawings in which I depict a cube and a tesseract, a 3D being field of view and a 4D being one, 3D paper and a cube rotating in hyperspace, and I want to know if I interpreted them correctly. (Maybe you can use the 4D being ”field of view” in your future projects, maybe even in Miegakure.)

https://prnt.sc/sgbmxi (Cube and tesseract)

https://prnt.sc/sgbnik (3D and 4D being field of view)

https://prnt.sc/sgbnzy (3D paper)

https://prnt.sc/sgbo96 (Cube rotating in hyperspace)

Anyways, I appreciate your effort to create such ”exotic” games like Miegakure. Regards.

Hi Marc! 4D Toys really helped me, along with projection methods, to understand 4D space better. I have done some images which depict different situations taking place in a 4D world, for example a cube rotating along the W axis and a 4D being field of view, and I hope they are correct (maybe you can use the 4D field of view thing in future projects, maybe even in Miegakure). Anyways, I really appreciate your work, and the thing that you bring such ‘exotic’ games. It is truly inspiring, and made me somewhat fall in love with the language of mathematics and abstract geometry. Regards.

https://prnt.sc/sihryz – Cube/Hypercube in perspective

https://prnt.sc/sihshb – 3D/4D being field of view

https://prnt.sc/sihsqq – 2D/3D paper sheet

https://prnt.sc/siht3v – Rotating square/cube along the z/w axis

Marc,

Forgive my potential ignorance, but is there a way that the 4th dimension could be projected onto the third dimension, similar to how we project 3-dimensions onto 2d space?

In n-dimensional space, we actually have extra dimensions (they are not spatial though) due to sensory input. There’s sound, light, etc.

It seems to me that we should be able to project 4D onto 3D by the use of color or possibly even space-warping somehow. I’m not sure how though, just an intuitive hunch while watching your videos. For example, I could see projecting 3D onto 2D by perhaps having a depth map projected onto the 2D surface by colorization. Giving more color and saturation to something that has a greater volume. You’d be able to “see” the 3D projection even strictly within a 2D space. It’s a different type of projection than spatial without this kind of depth mapping, in that the layers which would normally be hidden due to being obfuscated by other surfaces could still be made visible.

I realize you’re already dedicated to solidifying the space itself, so this may be a lesser concern to you, but have you given any thought into this? Are there any intuitive or creative ways to project 4D onto 3D space?

I want to talk about this more, maybe in a video, but the short version is: Even if you project a 4D object to “just” 3D, your eye then projects it to 2D. So really you are doing a 4D -> 2D projection, and so things overlap very quickly to the point it is very hard to understand.