gonegahgah wrote:Hi quickfur. I agree with you that the cubes we draw are flat; but we can still see where the insides of the cube would go. When we draw a tesseract I can't see where the insides would go. All I can see are the hyperfaces squashed together.
In a cube the square faces only touch 4 of their sibling square faces via their edges. In a square the line edges only touch 2 of their sibling line edges via their corners. It stands from this that in a tesseract that its cube hyperfaces only touch 6 of their sibling cube hyperfaces via their squares.
That is kinder shown correctly by the tesseract diagram though some of the squares seem to connect to the inside faces of the outside cube which isn't technically right.
It would probably be more technically correct if the rest of the universe were the insides of the outer cube I guess rather than as we tend to view it. I guess that is just one of the problems of superimposition; but its good to understand these things.
Looking at the insides now. For a square its 'bulk' - I like that term; nice one Wendy - lies between its 4 edges. Unlike the 2Der we can certainly see that clearly. For a cube its bulk lies between its 6 faces. This should mean that for a tesseract that is bulk should like between its 8 cubes. Unfortunately all I can see are 8 cubes and I can't see anywhere left for the bulk in the diagram. This is different to a cube where even when we draw on a sheet of paper we can see the 6 faces and this fairly clearly leaves an apparent space for the bulk. It's quite clear their is a square at the top, the bottom, and on 4 sides leaving a very obvious space for the cubes bulk. This isn't the case for the tesseract because the cubes take up all the apparent space and leave no readily apparent location for the bulk. Where is the bulk to be found in the diagram? Do you think we can see the bulk in the diagram; or is it only inferred?
Mrrl wrote:Actually there is work with transparent objects (they call them translucent, I guess), and I use it in my viewer: you have to enable blend, set some blend function (for example, set coeff Asrc for source and (1-ASrc) for destination) and if you send objects in back-to-front order it will give you pretty good results. But if you have depth buffer enabled and your order is not exactly correct, it will be not so good. When you add translucent triangle, it will hide all triangles (including solid ones) that you add after it and that are deeper in Z-buffer then it. So you will get hole in your picture. A way to fight it - add all solid triangles first, and continue with translucents sorted by depth more of less accurate (if you have time for it). It is what I do.
Probably it's not enough. Now I see two ways: First, I can split large triangles to smaller ones and sort them by depth of center (it's easy and will not take much CPU time). Or I can improve sorting function: compare depths or triangles not in centers, but in the center of their overlapping area. But this function is not transitive and not well-defined (if two triangles are not overlap, result is unknown). So we have a problem of topological sorting of digraph (probably with loops) Not for real-time rendering
But there is another thing. What I want do is to show 3D picture that is 4Der sees. For the point (x,y,z,w) screen coordinates will be (x/w,y/w), so I use combination of perspective projection in w direction (it gives the picture of 4Der's view) and orthogonal projection in z direction (what I see). For the proper view first projection should be opaque (with solid cells) and the second is translucent. But I do them in wrong order! First I calculate set of "contour" ridges, project them to z=0 space, and then feed resulting triangles to opengl using w as depth! Looks very wrong.
Probably first thing I'll try is to sort triangles by z (or by z/w) coordinate and use it for the output order. But I afraid that result will be even worse... I don't want to compute 4D occlusion in real time!
gonegahgah wrote:[...]
One of the first steps is to realise that a sphere can be divided into 8 equal segments which corresponds to the number of cube hyperfaces on a tesseract.
[...]
To get the square faces to flush with each other we need to distort our cubes even further. We do this by taking the topmost corner point and bottom most corner point and open them up. This actually creates an analogy that we want. By opening just these two points up we are creating our 2 hyperfaces into the cubes. Just as 4D extrapolation tells us, this allows us to see inside the cubes; just as we understand a 4Der is able to do. We do have to realise that these are 3D views into the inside of the cube so; and not 2D, so I would put an arrow into these with the head of the arrow having 3 points with little arrows on each to represent 3D co-ordinates; just as a clue to the viewer.
gonegahgah wrote:[...]The problem I have with the projections are that they show 0% of the tesseract bulk.
They give the impression of representing something when they really are the showing even less than the shell of something; because you have outside faces connecting to inside faces which just doesn't happen in a tesseract. They are not much better at representing a tesseract than a single line is at representing a cube.
I'm seeking to convey to even a novice that a tesseract is so much more than we can perceive. You by no means are a novice but you are locked in your thinking that a 3D projection can convey any of the sense of a 4D object. They don't even show how the faces connect outwardly to each other.
[...] I am growing doubtful that you will be able to accept anything but projections as 'true' representations of 4D objects. [...]
#
# 4D hypercube definition
#
polytope tetracube {
dimension 4
vertices {
# Format: just the vertex coordinates
# The order vertices appear here is significant, since it
# defines the index of each vertex referenced by the face
# lattice. Numbering begins from 0.
<1,1,1,1>
<1,1,1,-1>
<1,1,-1,1>
<1,1,-1,-1>
<1,-1,1,1>
<1,-1,1,-1>
<1,-1,-1,1>
<1,-1,-1,-1>
<-1,1,1,1>
<-1,1,1,-1>
<-1,1,-1,1>
<-1,1,-1,-1>
<-1,-1,1,1>
<-1,-1,1,-1>
<-1,-1,-1,1>
<-1,-1,-1,-1>
}
lattice {
# Format: dimension + set of vertex indices defining the face
# For facets (dimension = polytope dimension - 1), an optional
# halfspace definition vector (normal vector + constant, such
# that N.v - C <= 0 for all v in polytope).
# Cells
3, { 0, 1, 2, 3, 4, 5, 6, 7 }, < 1, 0, 0, 0, -1>
3, { 8, 9,10,11,12,13,14,15 }, <-1, 0, 0, 0, -1>
3, { 0, 1, 2, 3, 8, 9,10,11 }, < 0, 1, 0, 0, -1>
3, { 4, 5, 6, 7,12,13,14,15 }, < 0,-1, 0, 0, -1>
3, { 0, 1, 4, 5, 8, 9,12,13 }, < 0, 0, 1, 0, -1>
3, { 2, 3, 6, 7,10,11,14,15 }, < 0, 0,-1, 0, -1>
3, { 0, 2, 4, 6, 8,10,12,14 }, < 0, 0, 0, 1, -1>
3, { 1, 3, 5, 7, 9,11,13,15 }, < 0, 0, 0,-1, -1>
# Ridges
2, { 0, 1, 2, 3 }
2, { 4, 5, 6, 7 }
2, { 0, 1, 4, 5 }
2, { 2, 3, 6, 7 }
2, { 0, 2, 4, 6 }
2, { 1, 3, 5, 7 }
2, { 8, 9,10,11 }
2, {12,13,14,15 }
2, { 8, 9,12,13 }
2, {10,11,14,15 }
2, { 8,10,12,14 }
2, { 9,11,13,15 }
2, { 0, 1, 8, 9 }
2, { 2, 3,10,11 }
2, { 0, 2, 8,10 }
2, { 1, 3, 9,11 }
2, { 4, 5,12,13 }
2, { 6, 7,14,15 }
2, { 4, 6,12,14 }
2, { 5, 7,13,15 }
2, { 0, 4, 8,12 }
2, { 1, 5, 9,13 }
2, { 2, 6,10,14 }
2, { 3, 7,11,15 }
# Edges
1, { 0, 1 }
1, { 2, 3 }
1, { 4, 5 }
1, { 6, 7 }
1, { 8, 9 }
1, {10,11 }
1, {12,13 }
1, {14,15 }
1, { 0, 2 }
1, { 1, 3 }
1, { 4, 6 }
1, { 5, 7 }
1, { 8, 10 }
1, { 9, 11 }
1, { 12, 14 }
1, { 13, 15 }
1, { 0, 4 }
1, { 1, 5 }
1, { 2, 6 }
1, { 3, 7 }
1, { 8, 12 }
1, { 9, 13 }
1, { 10, 14 }
1, { 11, 15 }
1, { 0, 8 }
1, { 1, 9 }
1, { 2, 10 }
1, { 3, 11 }
1, { 4, 12 }
1, { 5, 13 }
1, { 6, 14 }
1, { 7, 15 }
# We omit vertices 'cos they're simply all possible singletons
}
}
gonegahgah wrote:[...]
hi quickfur. What will be interesting is if we can devise some way to steer through these different worlds in ways that make any sense.
What I hope can be done is to produce a way to steer through a 4D world.
[...]
In a 4D game you may want to move optional up-down but the other important directions are the 3 'sideways' directions. I call them sideways because they all have equal value to a 4D worlder. In some respects this takes away the notion of left-right movement. Instead we may have to think of movement towards our muffa paw or its opposite umpta paw; movement towards our ulta paw or its opposite butay paw; and movement towards are contal centre or to its opposite.
[...]
But movement direction is always through the centre of the lower dimensional object. ie square directions are through the centre of the line sides, cube directions are through the centre of the square faces, and hypercube directions are through the centre of the cube hyperfaces.
quickfur wrote: If you rotate in the XY plane itself, then you're only changing the orientation of what you see, but not the direction you're facing. This is a less important movement for navigation, so I'd relegate it to auxiliary controls, perhaps two keys for spinning the view orientation left or right.
[...]
(And I got all that just from perspective projections, can you believe it? )
And that is why when you bump into a tesseract, what hits your nose first is the center of a cube.
Mrrl wrote:quickfur wrote: If you rotate in the XY plane itself, then you're only changing the orientation of what you see, but not the direction you're facing. This is a less important movement for navigation, so I'd relegate it to auxiliary controls, perhaps two keys for spinning the view orientation left or right.
Actually it's one of the most important movement for us. It is equivalent of rotating yor 3D camera around the 4D view - you look at the projection from different XY directions and try to recover actual 3D scene from what you see. Or if you work with sections instead of projections, this movement gives you complete set of slices of what 4Der sees ahead.
[...]
(And I got all that just from perspective projections, can you believe it? )
I don't beleive. Why do you need projections for it? Just think about 4D and then translate what you see to projections (if you wish).
But yes, for investigation of additional rotation projections are useful. Namely, parallel projection in Z direction (top view). It will translate 4Ders to more familiar 3D habitants, for example, sentinent space rockets. They have eyes to see (in W+ directions), arms to work, legs (probably with rocket engines) to move across space... And when they spin around their W axis, they see that image of the space rotates around this axis too... Easy to imagine, easy to translate to 4D and then to perspective view projections... For example, when I make half-turn in that direction, I'll see the same scene is section viewer, but with swapped left and right sides
And that is why when you bump into a tesseract, what hits your nose first is the center of a cube.
Especially when the tesseract is 100 meters high building and you approach it from 1D edge side Exactly.
quickfur wrote: Thing is, I'm thinking of this from a 4Der's point of view. As far as the 4Der is concerned, there's no additional information gained from this rotation, so it's not really that important. (Although one can imagine such a rotation as being some kind of body language when engaged in conversation, for example, without ever looking away from the other party.)
As for rotating 3D camera, I always consider that as a secondary issue, because it is completely absent from the 4Der's consciousness. In fact, in my mind I always treat the 3D view completely independently of the 4D view. The 3D view is only for the benefit of us poor 3Ders who can't see the entire projection at once; from the point of view of the 4Der (who, if this is a maze game, for example, is the player character) there is only the 4D->3D projection and nothing else. When we examine the projected 3D image, we may rotate it however we like, but the 4Der (the player character, using the maze example) is not even moving at all.
You don't understand. I don't use equations or vectors or any of that stuff at all. I visualize 4D in terms of projections. I only do the math when I wish to confirm that my visualization is accurate. Usually I work entirely in terms of projections, manipulating 4D objects, moving around in 4D space, etc.. The fact that my visualizations are accurate in retrospect, when I check the math, gives me a lot of confidence that my method works. Maybe you don't think so, but that's OK, everyone has his own methods.
(Well, to be accurate, I'm not dealing with the projection images per se, because those are only 3D; what I'm really doing is applying 4D intuition that I developed from working with projections. Just like when we visualize 3D objects, we think in terms of what our eyes see -- i.e., in terms of 3D->2D projections, so when I play with 4D, I think in terms of 4D->3D projections.)
[...]
Hmm. If i understand you correctly, you're thinking in terms of orientation in 3D space?
Really? If you approach it from the 1D edge side, you hit the edge first. That's like walking into the corner of a building. Except that in 4D there are two kinds of corners, so you can also walk into a ridge. Both will give you a bloody nose, because ridges in 4D are sharp. I was talking about walking perpendicular to the wall. You only get a bruise.
Mrrl wrote:[...]
I see. Single 4D camera may not give me all kinds of views. For example, if 3D->2D projection is made always in Y direction, it will be impossible to look at 3D view from the top: that would require from character to lay on the ground and game controls may not enable this kind of orientation: when you go by the ground, you should be in straight position. But I'll get all sideviews by spinning characted in XY plane
[...]
In 3D you may think in terms of perspective images as well as in terms of technical drawing (parallel projections) or maps (may be with depth layer) - all kinds of projections are good for us.
Same is in 4D: you can imagine for 4Der sees, you can look at the map of 4D city or lanscape and traces of its habitants (if it is what you investigate now), sometimes it's useful to works with 3D sections or even with 3D nets (when we think about 4D clothes)... And sometimes math goes to the front level and all other things are just interpretations of mathematical results.
Orientation in 3D is useful method when I imagine behaviour of 4Ders in the global scale: not how they move legs and arms, but where they go and where they look. "Space rockets" model is good enough, at least for me. Then I can add depth to it, if I like, and switch to perspective views only when I'll work with vertical shapes (buildings, trees, road curbs and so on).
[...]So you were serious about the center of the cube? Sorry, I didn't get it... Of course, you can hit any point at the cubic wall if it is on the proper height above the ground. I'm not sure what is worse: to bump in the edge or in the ridge of the building. Edge looks more sharp, but it'll damage you only along a vertical line, while ridge can cut you in halves
gonegahgah wrote:What I am hoping for is a way to move through a 4D scene without the level of visual morphing that presently occurs. A 4D worlder doesn't see this morphing at all just as when we hold a cube and spin it round it maintains its shape in our minds; even though a picture of different orientations traced produces different line patterns.
Along with hoping to give a better, though still inadequate, visualisation of the step up to 4D I am hoping there is a way to present the movement that gives us a better understanding of how a 4Der understands movement. Although we 3Ders understand tesseracts as infinite 3D cubes inside each other,
the 4Der does not see their 'cubes' as having a top, bottom, and 4 sides; as we do.
Instead the 3 sidewards axis all have equal direction and can be moved superfluously through as simply as it is for us to turn our head. They don't have to turn and tilt their head as we do to achieve viewing through 3 dimensions. They simply turn their head through two axis of left-rightedness.
This then becomes the challenging concept. How do you turn your head through two axis of left-right while still having one down.
We have to remember that for the 4Der down is not towards the centre of a sphere. For them it is towards the centre of a hypersphere. For us, we think the hypersphere is just infinite spheres superimposed; but for the 4Der it is not so.
Instead it is a downwards that is defined by 3 perpendicular axis of sideways movement. This is just like our downwards which is defined by being perpendicular to our left-right/forward-back axis and a 2Ders is defined by their forward-back axis.
I'll briefly talk about gravity in this respect again as we did disagree on this quickfur. You felt that gravity would be less in 4D. You said that gravity will drop off at a much faster rate which you are absolutely correct about. Hopefully, this explanation can help you understand why gravity would actually be much greater though on the surface.
We have our current weight at the surface of the Earth. What if we we able to fit two Earths together. The second one would double our weight. If we added a third we would triple our weight. When we step up to 4D we are not double or tripling. We are actually multiplying by infinity because there are multiply superimposed spheres from our perspective. Fortunately we can change the calculation from L3 to L4. This gives us a more rational answer but it still results in a lot more bulk in the same place immediately below us. Gravity does decrease at squared rate from the hypersurface to the hypercentre of a hypersphere; whereas it decreases at a constant rate from the surface to the centre of a sphere. That is correct; but the amount of bulk at each hyperpoint of 4D mass greatly exceeds the amount of bulk at each point of 3D mass. If we had a hypersphere below us now we would be squashed flatter than flat.
quickfur wrote:This then becomes the challenging concept. How do you turn your head through two axis of left-right while still having one down.
Um... because in 4D your neck has two degrees of freedom in turning?
In other words, your neck is spherindrical (extrusion of a sphere), and it can rotate in 2 directions while still remaining upright.
Return to Higher Spatial Dimensions
Users browsing this forum: No registered users and 4 guests