16 ms·
Geometry from Another Universe
- rezmason 5y agoThis is cool! I wonder why the viewport is only a 300px square.
- falsifian 5y agoSorry! It is because I was too lazy to figure anything else out. To be honest I usually used my browser's zoom functionality to make it bigger while debugging, and you can too. Changing the aspect ratio would require some code changes, though.
- ericbarrett 5y agoWould love to see this where you can toggle between a three-sphere, flat, and 3-hyperbolic space.
- Jeff_Brown 5y agoAnd arbitraily gluable diffrrentiable manifolds!
- ericbarrett 5y agoMaybe? I suggested it because these are the three possibilities for the shape of the universe and it does a great job of visualizing the 3-sphere!
- falsifian 5y agoThat is one of my fantasies, if I had enough time. Apply different rules to different regions of space.
- mark_l_watson 5y agoI had a dream a year ago in which I was traveling at very high speed towards an edge of our universe. In the dream I entered a null space before entering the next universe in which all star systems obeyed solid state physics type laws: stars formed an outer lattice and planets in small lattices around stars. After traveling through the second universe in my dream, I then entered a third universe that was more compact because space was curving back onto itself in a way that was not understandable but I kept looping back to where I was before. When I woke up I thought I was dreaming of a very high dimensional space where everything was happening in lower dimensional manifolds curving through that space where “all the action was.” Definitely one of my better dreams!
- mekal 5y agoHave you read the Three-Body Problem trilogy? There's some stuff in the third book (Death's End) that sounds a lot like your dream. Specifically the different dimensions of space. If your dream didn't come from that book, perhaps you should consider writing some science fiction!
- KronisLV 5y agoPersonally, i really liked the series! Curiously, it seemed that the books got more and more wild with each following entry: at first it was almost like "hard science fiction" with mostly feasible technologies, whereas the later books seemed to throw that idea to the wind. That's not to say that it was a bad thing, though.
- bopbeepboop 5y ago
- melissalobos 5y ago> everything was happening in lower dimensional manifolds curving through that space where “all the action was.” I feel like this would have to be true in a very high dimensional space, since an infinite dimensional orange is all skin. > systems obeyed solid state physics type laws: stars formed an outer lattice and planets in small lattices around stars. This sounds really fun, could you try explaining a bit more about it? Thanks for sharing.
- Jeff_Brown 5y ago> an infinite dimensional orange is all skin Huh?
- jerf 5y agoAs you increase the dimensionality of a sphere, an ever-increasing proportion of the sphere is within epsilon of the surface. This 3Blue1Brown video addresses enough related stuff that the rest should become reasonably comprehensible: https://www.youtube.com/watch?v=zwAD6dRSVyI https://www.youtube.com/watch?v=zwAD6dRSVyI This particular result is tossed in as a side note around 23:25, so it's not addressed directly, but it'll help.
- maupin 5y agoReminds me when I was trying to model a 3D space and my math was off.
- thealig 5y agoreminds me of the demonstration of hyperbolic geometry in VR by Henry Segerman (https://www.youtube.com/watch?v=ztsi0CLxmjw https://www.youtube.com/watch?v=ztsi0CLxmjw). there is a browser demo too where you can 'fly' through the small world (http://h3.hypernom.com/ http://h3.hypernom.com/)
- hwers 5y agoNo css plaintext blogs is such a statement and cool signalling, love it.
- falsifian 5y agoThanks! There is a little bit of CSS. And I would have gone for no javascript, but unfortunately in this case that's the whole point.
- Jach 5y agoI thought this might have been something about a Greg Egan book (https://www.gregegan.net/DICHRONAUTS/DICHRONAUTS.html https://www.gregegan.net/DICHRONAUTS/DICHRONAUTS.html is a recent one with space-time composed of two dimensions of space and two of time), but these demos are really fun too. Especially like the connectedness of everything that's not in some sense cheated with portals.
- all2 5y agoBeing able to set off a chain reaction in time 1 and then inspect that chain reaction at various moments in time 2 would be fascinating. Can you imagine a bullet hell in two dimensions of time? Or even a physics puzzle game that operates in two dimensions of time?
- rakejake 5y agoEgan's Diaspora also deals with this in some chapter. https://www.gregegan.net/DIASPORA/15/15.html https://www.gregegan.net/DIASPORA/15/15.html I don't understand anything in that page but the pictures are great.
- pavel_lishin 5y agoIf you're interested in this, you may be interested in Hyperbolica, which is a whole game about this concept: https://store.steampowered.com/app/1256230/Hyperbolica/ https://store.steampowered.com/app/1256230/Hyperbolica/ https://www.youtube.com/watch?v=EMKLeS-Uq_8 https://www.youtube.com/watch?v=EMKLeS-Uq_8
- echelon 5y agoThese are great! (There's also miegakure: https://www.youtube.com/watch?v=uWsBnVtl8tA https://www.youtube.com/watch?v=uWsBnVtl8tA ) I can't wait for these games to start being built for VR. Maybe it'll be possible to develop a sense for higher dimensionality intuitively using our senses. Maybe young mathematicians and physicists can explore higher dimensions in VR to get accustomed to it, which might help with their theorizing and explorations.
- asxd 5y agoLooks like 4D toys is VR-supported: https://store.steampowered.com/app/619210/4D_Toys/ https://store.steampowered.com/app/619210/4D_Toys/
- kroltan 5y agoHyperbolica is to have VR support too, the creator discussed [0] how he had to use a specific technique to ensure the rendering was compatible with VR optimizations. [0]: https://youtu.be/rBr-0bHQfxc?t=357 https://youtu.be/rBr-0bHQfxc?t=357
- jlpom 5y agoAntichamber too https://store.steampowered.com/app/219890/Antichamber/ https://store.steampowered.com/app/219890/Antichamber/
- zenorogue 5y agoAntichamber has lots of weird, cool stuff in it, but nothing to do with non-Euclidean geometry. (They just use the term incorrectly.)
- zackmorris 5y agoDoes anyone know of a good visualization of a hypercube? Specifically, I'd like to be able to rotate it around various axes to see what its shadow looks like in 3D. On that note, a VR rendering might help since a 2D projection overcomplicates the shadow. It's easy to construct, just build a point, extrude the point out to make a line, extrude the line out to make a square, extrude the square out to make a cube, then extrude the cube out to make a hypercube. It looks like two cubes with the corners connected by lines through a 4th dimension that we can't construct in 3D. One way to visualize it is to use time, so if you translate a cube from point A to point B, the "extrusion" would be along time and you can kind of visualize that extra "dimension". But what would scaling, rotation, etc along that invisible axis look like? To fully grok it, we'd need to be able to sculpt the hypercube's shadow in 3D as easily as drawing a cube on a piece of paper. Asking in the hopes of building a mental bridge to 4D and then possibly 5D in order to generalize to higher dimensions.
- ogogmad 5y agoYou could use different projections, like gnomonic or stereographic projection. There won't be any time dimension to deal with, but it should make it easier to apply rotations and see the effects.
- enriquto 5y ago> rotate it around various axes Wait, doesn't it rotate around a plane?
- mariusor 5y ago4D Toys from Marc Ten Bosch: https://4dtoys.com/ https://4dtoys.com/ Based on the same 4D geometry concepts he's working on the game Miegakure: https://miegakure.com/ https://miegakure.com/
- p1mrx 5y agoStella4D free demo: https://www.software3d.com/Stella.php#stella4D https://www.software3d.com/Stella.php#stella4D
- corysama 5y ago
- ogogmad 5y agoVery cool, but I have a question. > This is done using WebGL, an API for drawing 3D graphics in a browser. You might think it's only designed to draw ordinary, Euclidean things, but it turns out it's perfectly suited to rendering this world as well. WebGL (and OpenGL) works with four-dimensional coordinates (x,y,z,w). Normally, you'll be advised to just set that w coordinate to 1 all the time. If you do that, the x, y and z coordinates will behave like ordinary 3-D geometry. I just ignored that rule and used the coordinates to represent points on the 3-sphere instead. It all works out. (You have to be a bit careful if you want to put textures on things without seeing seams between the triangles, but it can be done. The key is to make sure every flat surface is still a flat surface in 4-D.) Are the 4D coordinates treated as ratios, so that (w,x,y,z) = (tw, tx, ty, tz)? Because then that would express RP^3 instead of S^3, i.e. projective 3-space, instead of the 3-sphere. Equivalently, this produces a model of 3D elliptic geometry, instead of 3D spherical geometry. My doubts are because 3D computer graphics is known to use homogeneous coordinates, which results in a model of projective 3-space or elliptic 3-space. S^3 can be coordinatised using elements of R^4 of unit length, which might have been done here.
- Asooka 5y agoThe w coordinate is there to aid the perspective transform and translations. Because in homogeneous coordinates everything becomes a matrix multiplication. At the end, before rasterisation, the coordinates are normalised by dividing by w. Yes, you can use it for whatever else you want, GPUs are just vector processors, as long as you keep in mind how the rasterisation step will happen.
- ogogmad 5y agoThanks. I'm aware of all those uses. But that strongly suggests that he's constructed a simulation of projective / elliptic 3-space, not spherical 3-space. The image on the screen is a perspective projection thereof. Additionally: To clarify my understanding of projective vs elliptic geometry, because I keep conflating them: Projective space is a topological space, while elliptic space is projective space endowed with a certain metric, turning it into a metric space. Additionally, every elliptic isometry is a projective symmetry, while the other way round isn't true. On a purely topological level, there's no difference between elliptic geometry and projective geometry.
- amelius 5y agoJudging from the image: straight lines map to straight lines?
- falsifian 5y agoYes. (This has to be the case because I'm drawing everything with triangles in WebGL.)
- devnull255 5y agoAfter exploring this for a while, scrolling through these comments with the up and down arrows was a bit disorienting for me. The illusion of of navigating more than 2 dimensions persisted a little while on this page for me.
- galaxyLogic 5y agoI once read a sci-fi book about vehicle that allowed the crew and it to get smaller and smaller. Nothing very special right? We've seen Antman. But when the travelers got really nucleus small they saw they were approaching a ball, and it turned out that ball was a universe and as they entered it they could then start exploring its things and as they get further smaller they got into the atom-size in that universe and then again saw a set of spheres and could go into them, and get smaller there and so on, without end. Within atoms there were universes within which there was more universes and so on ad infinitum. Does that make sense? I've forgotten the name of the book.
- gexla 5y agoSeems similar to "He Who Shrank" - I didn't read the book though. https://en.wikipedia.org/wiki/He_Who_Shrank https://en.wikipedia.org/wiki/He_Who_Shrank ETA: Seems that was a popular story line from that time. Also seems similar to Inception, with the idea that diving into deeper dream levels makes time in those levels run slower than in the real world.
- zrkrlc 5y agoI didn't know Idris could do WebGL!
- falsifian 5y agoI am grateful for the idris2-dom library by Stefan Höck: https://github.com/stefan-hoeck/idris2-dom/ https://github.com/stefan-hoeck/idris2-dom/ . It covered most of the web APIs I used. I'm using the WebGL API pretty directly, though. So if it were missing I could have hacked it with some foreign function calls, but it would have been a lot more effort.