Looking at a 3D object from 4D

  • 7 Replies

0 Members and 1 Guest are viewing this topic.

Offline marcm200

  • *
  • Fractal Frankfurter
  • *
  • Posts: 631
« on: December 07, 2019, 01:22:03 PM »
I was wondering: An ant living in a plane, looking onto the Mandelbrot set from its exterior (I mentioned this earlier) sees only a wall of points, some closer some farther, maybe shaded according to curvature.

We as 3D observers see the Mset in its totality from the 3D world looking onto a 2D object.

But we see only the surface of a 3D Juliabulb, shaded, but more or less just points closer and farther away.

If one could look onto the bulb from a 4D point - would I then see the front side of the Juliabulb, its rear side and all its interior (so not just slices thereof) at once?

Considering how different a line and the Mandelbrot set are: Does that mean the 3D Juliaset actually would look very different as well?

What would the ant be able to comprehend when moving along the wall it sees? Would it get an idea of all the bulbs and filaments there?

Can this difference of what a 2D object looks like in its plane of existence or a dimension higher be expressed mathematically?

Linkback: https://fractalforums.org/off-topic/29/looking-at-a-3d-object-from-4d/3222/

Offline 3DickUlus

  • *
  • 3f
  • ******
  • Posts: 1535
    • Digilantism
« Reply #1 on: December 07, 2019, 11:09:16 PM »
I think this offers some insight...
In geometry, the tesseract is the four-dimensional analogue of the cube; the tesseract is to the cube as the cube is to the square.
Just as the surface of the cube consists of six square faces, the hypersurface of the tesseract consists of eight cubical cells.
The tesseract is one of the six convex regular 4-polytopes.

What we view in 3D of the 4D realm is equivalent to the 2D shadow of a 3D object.
A 3D representation of a 4D object is it's "shadow"... makes me think that a hologram could be the shadow of 4D(X,Y,Z,time) ??? It appears 3D but you can't touch the objects any more than you can touch the 2D shadow of a 3D object.

re:op the math for this might be similar to projecting a shadow of a 3D object, add 1D to object (edit:and light), add 1D to shadow ??? object = quaternion, shadow = triplex, of course this is all speculation on my part as a math dummy  :clown:

Offline tavis

  • *
  • Fractal Phenom
  • ****
  • Posts: 43
  • Bill Tavis
    • Mandelmap poster
« Reply #2 on: December 20, 2019, 11:54:21 PM »
The Mandelbrot set is closely related to a circle, so that's how I will take a stab at this. A circle, mathematically, can be considered a sphere if we define a sphere in a general sense as being the set of all points that are equidistant from the center. In technical terms, a 2D circle is considered an S1 sphere, because it is made out of a 1-dimensional border (line). A 3D ball is considered an S2 sphere because it has a 2d surface. Likewise, the S3 sphere is 4D and so on.

We can't observe 4D objects directly but as 3DickUlus pointed out, we can project down to the next lower dimension. So, for example, you've probably seen the World map where the globe is projected downward onto a circular shape, with the North Pole at the center. The South Pole becomes a singularity that explodes, thus Antarctica surrounds the entire perimeter.  Mathematically, this is known as stereographic projection of an S2 sphere onto an S1 sphere. An interesting property of this projection is that even though the continents are distorted, the perfect circles of latitude on the globe are still perfect circles on the map.

It is possible to do the same thing with higher dimensions. Circles on an S3 sphere (4 dimensional) can be stereographically projected down onto an S2 sphere (3 dimensional) where we can see it. The result is a distorted view of the 4D sphere but as before these circles maintain their circular nature, and they are known as "fibers." The collection of these fibers is known as a Hopf fibration. The collection of fiber circles that are mapped to a single line of latitude on the S2 sphere form a torus. So the Hopf fibration can be thought of as nested tori. The circles are known as Villarceau circles  https://en.wikipedia.org/wiki/Villarceau_circles and although in the Hopf fibration there are an infinite number of these circles forming an infinite number of nested tori, you can choose any two circles and they will be interlocked, but no two circles overlap. Here is a great video that demonstrates the relationship between the fibers and the S2 sphere. A single point on the S2 sphere corresponds to a single circle. Notice that the singularity occurs at the north pole, where the Hopf fiber becomes an infinitely big circle and so just looks like a straight line. At the South pole, the torus that is formed collapses down into a circle with a radius of 1. It seems to be a really cool object but back to the original question - I honestly have no idea how to apply this to fractals in a practical way... maybe someone else here can help make that connection.

« Last Edit: December 21, 2019, 04:25:20 AM by tavis »
Check out the Mandelmap poster a detailed map of the Mandelbrot set in the style of a vintage map.

Offline marcm200

  • *
  • Fractal Frankfurter
  • *
  • Posts: 631
« Reply #3 on: December 21, 2019, 01:14:14 PM »
That's a great video!

Would a stereographic projection of the classical 2D Mset's border into 1D look like a symmetrical line of different gray shades (if that's reflecting the distance to the observer)? As a 2D ant I would only see at most one half of the boundary, so the projection gives me more information?
(I think my brain just twisted :)

Offline tavis

  • *
  • Fractal Phenom
  • ****
  • Posts: 43
  • Bill Tavis
    • Mandelmap poster
« Reply #4 on: December 21, 2019, 08:09:13 PM »
I don't think you can use stereographic projection for lower dimensions. An S1 sphere (2D circle) cannot be stereographically mapped to an S0 sphere because an S0 sphere is just the points -1 and 1 on the number line and there is no way to preserve the circular property. I think what you are talking about is more of an orthographic projection. The math is much simpler for orthographic projections, but more information is lost. Think about the globe example - with stereographic projection, every continent is visible, even though there is some distortion. This is in contrast to an orthographic projection from the top of the globe, where you would not see anything past the equator. Have you ever seen the movie (or read the book) Flatland? It is very similar to what you are talking about. They live in flat 2d land and all the characters are regular polygons. They see eachother as lines that change in value.

Offline AranLeer

  • *
  • Fractal Phenom
  • ****
  • Posts: 42
« Reply #5 on: February 21, 2020, 06:22:09 PM »
Hello marcm200.
I've had a bit of experience with the concept of rendering higher dimensions, due to working with 4D fractals a lot.

In my experience, there are several different ways to generalize how to render objects at any dimension.

1- We can simply render a perspective image of the 4D shape directly, just like we do for 3D shapes - but there is a slight catch I'll get to below.
2- We can "slice" the 4D shape into 3D shapes, and then render those individually.
3- We can swap the 4th dimension for one of the other 3, and get a new 3D image.
4- Or we can apply the 4th dimension to some visual cue other than a spacial dimension.

1) 4D Perspective Rendering
If you've worked with 3D perspective rendering, then expanding that to another dimension isn't really that difficult. It basically comes down to adding another number to every spacial point or vector.

But there is one part that is often overlooked - and that is that each time you do perspective render, it (only) cuts down the dimensions of the image by 1 dimension.

So if you have a 1D world, with 1D objects, then a "perspective" image would just be taken one direction or the other down the 1D line, and the result would be a "0"-Dimensional "image" (which is just a single colored point).

If you have a 2D world, with 2D objects (like circles, squares, or even solid 2D fractals), then a perspective image would be taken by starting at a 2D point, and getting the colors from the closest "surface" of the objects in front of the camera inside a triangle that is the viewing angle. The resulting "image" would be a 1D colored line.

3D is easy to imagine, because we do it all the time - but just to recap: a 3D image would be taken by starting at a 3D point, and getting the colors of the surfaces of objects closest to the camera, and in front of the camera within a pyramid (frustum) that is the viewing angle of the camera. The result is a 2D image, once again colored based on the surfaces seen in the 3D world.

So then - if we take this one step further, we will see that a 4D world can also be rendered by starting with a 4D point, and getting the colors of the 4D surfaces of objects within a 4D pyramid (frustum) in front of the camera.
And so - what we have established through the previous examples, but what we tend to overlook - is that the resulting perspective "image" of the 4D shape will actually be a 3D "image".

That means if you want to do a pure perspective render of a 4D shape, and display it on a 2D screen - you actually need to do 2 stages of rendering.
First you need to do a 4D perspective render, which will result in a 3D shape (a 3D "image").
Then you need to use any traditional 3D rendering technique to render the 3D image onto a 2D screen.

So you'd be capturing a 2D perspective image of a 3D perspective image of a 4D shape ;) .

2) Slicing
"Slicing" a 4D object is a much more simple and clean way to convert it to 3D, rather than using 4D perspective rendering. But just using a single slice doesn't give you as complete of a picture of what the 4D shape looks like.
The process of slicing is exactly what it may sound like: just cutting a single cross-section of the object in order to view the cross-section as an image that is 1 Dimension less than the original object.

We're used to this concept in 3D, as we've often seen 3D objects that are cut open to show what their cross-section looks like.
But again - the one thing to remember is that this method always only reduces the dimensions by 1.
So a cross-section of a 4D object is a 3D object.

We can then render this 3D object down to 2D by either using perspective rendering, or even just taking another cross-section (which would be a 2D image now).
Getting a feel for the shape of the full 4D object using the slicing method can be done quite effectively if you take a bunch of slices, and then make an animation that shows how the 3D cross-section of the 4D shape changes as you move the slice's position along the object in the 4th dimension.

3) Dimension Swapping
This method is pretty straight-forward, but doesn't always give you the best overall feel for the 4-dimensionality of the shape.
Essentially this is the same concept as the "slicing" method above, but instead of slicing along the 4th-dimension, we actually slice along different dimension axes.
So if we call the different axes "x", "y", "z", and "w", then what we can do is take 3D slices of the 4D object with each combination of 3 dimensions.

So, we'd take a slice along the "w" axis, resulting in a 3D shape that is using the "x", "y" and "z" axes.
Then we'd take another slice along the "x" axis, with the result using the "y", "z", and "w" axis.
And so on.

So the result is 4 individual images of 3D slices of the 4D object.
This is kind of like creating one of the quick cardboard sculptures where it's just flat cutouts of cardboard that are fitted together at right angles to approximate a 3D shape.

4) Other Visual Cues
Lastly - it's also possible to view a 4D object all at once in a way that makes quite a bit of sense intuitively, allowing you to (at least partially) mentally wrap your head around the 4-Dimensionality of the shape. And this is by applying the 4th dimension to some other visual cue.

This is typically done by taking 3D slices of the 4D shape along the 4th axis (like I mentioned before), and then combining those 3D slices in different ways.

There are multiple ways this can be done, but here are some I've found effective:
- Setting the 4th dimension to Time: This is what I mentioned above in the "slicing" section. Creating some sort of animation where the 4th dimension changes over time is a good way to show how the 4th dimension affects the shape.
- Setting the 4th dimension as Density: If you have all the 3D slices, and put them int the same space so they overlap eachother - then you can color the space based on how many slices overlap each point, creating a sort of "cloudy" or "glowy" shape where denser or brighter parts represent where the shape exists more across the 4th dimension.
- Setting the 4th dimension as Color: Similar to the Density one, if you overlap each slice, but color each slice differently (probably based on some gradient like a rainbow), then the resulting image will use that color change to express the 4th dimension, which makes some intuitive sense, and also often looks pretty ;) .

Ok - that was everything for now.
Sorry about the long reply.
I definitely got carried away :)

But visualizing higher dimensions is a passion of mine, so I couldn't help it :)

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 1984
« Reply #6 on: February 21, 2020, 08:06:33 PM »
A cool 4D effect is to animate 4D --> 3D --> 2D projections by rotating object in 4D, like the famous 4D rotating cube mesh.
Never seen that for, say, quaternion Mandelbrot set, not sure if anyone has ever done it.

Offline marcm200

  • *
  • Fractal Frankfurter
  • *
  • Posts: 631
« Reply #7 on: February 22, 2020, 01:01:23 PM »
@AranLeer: Thanks for your expert answer!

I'm currently slicing out 3D cubes from the 4D (or mostly 6D parameter spaces) with 1-3 coordinates being constant, so all cubes are parallel to the coordinate planes. Then I sent a virtual screen through 3D space to pick up colors (so no distance estimation here).

Next I will try to get an angled slice, like a tilted 2D plane cutting through a 3D cube, just in one dimension higher, but I haven't figured out which points then actually are in the resulting sliced 3D cube so that the final image is not just a mere set of projected points, which actually lie vastly apart from each other in the 4D world.

Amazing Underwater Object tutorial

Started by timemit on Fractal Image Gallery

0 Replies
Last post October 29, 2017, 01:20:20 PM
by timemit
Creation of fractals on the Object Pascal/Delphi/Lazarus

Started by vasyan on Programming

9 Replies
Last post November 14, 2018, 09:10:09 PM
by xenodreambuie
FragM multiple object transparency with user defined depth

Started by kosalos on Code Snippets (fragments)

2 Replies
Last post October 27, 2019, 07:56:26 AM