#### Archived

This topic is now archived and is closed to further replies.

# 4d engine.

This topic is 5913 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hi ! Ive decided I want to work on a very elementry 4d engine. 4d ? Yeah...Id like to see what I can put together in 4 dimensions. Anyway. What will be happening is the actual points will be held in 4d representation, operated on(transformation,translated, rotated), then projected to a 3d represenation, which will be sent to into OpenGLs 3D operations. Basically, what will happen is the 4D components will be a software layer over OpenGL. Ive found 3d rotation matrixes on GameDev, which some work I know I can apply to 4d. I know that translation is a snap- just say add to translating ! Transformation is scalar*point. But I dont know what a projection matrix looks like ! I know the equations for projection(I actually figured a slightly erroneous set out by myself one day ) Id do the same for 4D, but fact is, I have no clue how a point moving in 4D is suppoed to look. So I cant visually refine it really. No, I dont have the code down yet, Im stilll doing someother stuff- (finals next week). But I think a 4D engine would be cool. So does anyone know the projction matrix for 3d to 2d ? I came, I saw, I got programmers block. ~V''''lion

##### Share on other sites
Are you talking about plucker coordinates or quaternions? Why would you want to make a more complex layer over something that already works great?

"You are too useless. And now I must beat you." - English subtitle in a Honk Kong Movie.

##### Share on other sites
Vlion, I think you''ll get more usefull replies on the subject in the Math & Physics forum. There are several 4D discussions going on there already.

##### Share on other sites
Gosh AP, that was a very mature and thoughtful reply. Its little moments like that that make me glad to be part of such an enlightened and intelligent community. I shall follow your obviously powerful debating and argumentitive skills with interest.

RM.

Tron Software

-=Kicking Butt and Writing Code=-

##### Share on other sites
I really can''t imagine what u want creating a new dimension. So, it''s like to add on every point on x,y,z space a new "depth". But u will still have to map it on 2 dimensions of screen. The visual effect will be strange and unpleasant and will be VERY hard and slow to render.

##### Share on other sites
Time may be another dimension, but the number is pretty arbitrary. It''s obvious that the original poster is talking about a spatial dimension.

BTW, you can even see time as a spatial dimension. We''re not able to move along it at will, but then, we''re not capable of moving along any dimensions except the first 2 at will...

##### Share on other sites
Think of it this way... a point moving in 4d could be anything, there in fact MANY MANY MANY DIMENSION! did you kno a 2d scroller is acually 3d (X Coords + Y Coords + Time\(Animation)) so an easy represation could be something like a point with a ghosting effect. Think about it... itz ture! Let put it this way...

"Be happy with the fucking 4d we live with" - ME

##### Share on other sites
Wow, you seem to have great luck getting intelligent replies. Anyway, to project from 3D to 2D you generally project the point to a plane (usually z-1=0), so I think that should work with 4D too - project the 4D coordinates to a 3D plane by clipping one side of the plane and scaling the x,y and z by the distance from the plane to the w (or however you want to call it), then do your normal camera transform. I think this is what pov-ray does with its fractal objects.

##### Share on other sites
quote:
Original post by Anonymous Poster
"Just to let you know, there are two different definitions of the 4th dimention. One is time, and the other is the demension beyond 3d."

It all depends on your metric tensor, which could very well be user-defined.

##### Share on other sites
quote:
Original post by Vlion
Ive found 3d rotation matrixes on GameDev, which some work I know I can apply to 4d. I know that translation is a snap- just say add to translating !
Transformation is scalar*point.

But I dont know what a projection matrix looks like !
I know the equations for projection(I actually figured a slightly erroneous set out by myself one day )

Id do the same for 4D, but fact is, I have no clue how a point moving in 4D is suppoed to look.
So I cant visually refine it really.
No, I dont have the code down yet, Im stilll doing someother stuff- (finals next week).
But I think a 4D engine would be cool.

So does anyone know the projction matrix for 3d to 2d ?

I came, I saw, I got programmers block.
~V'lion

I think you should probably read a bit more about 4D before going into creating something of a 4D engine. Although, that would be pointless since all of our computer screens can only display 2D...

"And that's the bottom line cause I said so!"

** I WANT TO BE THE MODERATOR FOR THE LINUX FORUM **

Cyberdrek
A division of DLC Multimedia

Resist Windows XP's Invasive Production Activation Technology!

"gitty up" -- Kramer
/(bb|[^b]{2})/ that is the Question -- ThinkGeek.com

Edited by - cyberdrek on December 14, 2001 3:26:37 PM

##### Share on other sites
Hey guys, just because you''ve never read anything about higher spatial dimensions, or just because the human mind cannot visualize (as one person said) dimensions greater than 3, does not mean that such dimensions do not exist.

There''s a book called Flatland that was written a good many years ago that should help you less-informed people get a clue. It''s more of a popular text so even those less technically adept can still read through it without trouble.

##### Share on other sites

QUOTE:
"...Project the 4D coordinates to a 3D plane by..."

A 3D plane, huh???

R3 is called space, it''s not planar.

And as far as I know, the term "projection" means
creating an image of something existing (in R3), of which the
reflected rays hit a plane, and thus
there are only 2 components left, representing the
image that "falls" onto the plane.

How would you "project" R4 to _SPACE_ ?
And, what sense does that make, since, if 4th component
of R4 is time, your time can run and run forward,
but absolutely nothing
will change within that "projection" if the object is not moving
within the first 3 components of the R4, the space.

Is there any use for this?

##### Share on other sites
projection can work from 4d to 3d, though haven''t looked at this in a while. the 4th dimension doesn''t have to be time, don''t listen to those idiots (geez hasn''t anybody ever seen the hypercube demos?) i think there was something about a 4d sphere recently, check that out, though i think that degenerated into a very longwinded discussion about dimensions as well, although the people were not such assholes about it. i think there were a couple of links in that post, and they may not be exactly what you are looking for, but could lead you in the right direction. try some math sites, and google is a really good resource.

yep. heres the thread (math and physics, believe it or not)

http://gamedev.net/community/forums/topic.asp?topic_id=67563

##### Share on other sites
I am pleased by the maturity shown by the posters in this thread.
For IronFist and Painless, and the latest AP, thank you, you can contributed meaningful thoughts.

I know that there are some 4D topics running in Math & Physics, but I assumed that because this was a graphics forum, people would have experience handling projection functions.

I also am aware that it would be considerd "pointless" and ridiculous by most people. However: I like the more estoric parts of math, and I am not going to make anyone download any 4D software.
I am quite free to program higher dimensional graphics engines all I want, no one is not affected by them.
(Moderator, please delete all of the dumb commnts from this thread, thanx)
[edit: Done]

~V'lion

Edited by - Magmai Kai Holmlor on December 15, 2001 3:21:42 AM

##### Share on other sites
I want to agree that this is *not* pointless.. I think it sounds pretty cool. Some people need to realize that many of the effects and things that are around today in popular use were considered pointless at some time. Who could have known when they were developing, say, complex numbers, that they would have actual uses in physics eventually?

Anyway.. I wish I could be more help, but I do remember finding a cool document on going from 4D to 2D.. It was on a microsoft server I think, some research thing. It even had a sample app..

If I can find it I''ll post again, but if not, have a look on google. Just know that the info *is* out there.

Good luck!

##### Share on other sites
Anything that ever has existed or ever will exist can be placed at a specific, but relative, point in all four dimensions... my 4D position right now is, relative to the chair in front of my computer, 0.0, 0.0, 0.0, 2:19AM EST Dec 15, 2001. The last value, of course, was the time relative to the generally observed birth of Christ. Any object in a 4D context exists at a specific point in time-space.

There are no alternative fourth dimensions. It is, in fact, time. We aren''t talking about parallel universes or anything (as in "The monster came from another dimension!")... the fourth dimension is, without question, time. An engine that keys animations based on time is already a 4D engine, in that sense.

##### Share on other sites
I found it! This is a pretty cool document:

http://research.microsoft.com/~hollasch/thesis/

Have fun!

##### Share on other sites
smitty:

Actually.. time is just the accepted 4th dimension in physics. Higher math is full of n-dimensional stuff.. n meaning multiple, meaning 4, 5, 6, 20, whatever. Just because the physically accepted 4th dimension is time doesn''t mean the math doesn''t hold up for any number of dimensions.

It''s meant to be abstract, not physical.

##### Share on other sites
We aren''t talking about abstract mathematical theory. We''re talking about a game engine, right? You will see things on a 2D monitor. The things you see on the monitor MAY be intended to represent things moving in 3D space, which they will do over TIME.

##### Share on other sites
To project a 3D point (X,Y,Z,1) onto a normalized 2D plane Ax+By+Cz+D=0, |(A,B,C)|==1.. you can use the following transformation matrix: (written in row major order, so think V*M)
| AA+1 BA   CA   0  || AB   BB+1 CB   0  || AC   BC   CC+1 0  || AD   BD   CD   1  | 

So.. to project a 4D point (X,Y,Z,W,1) onto a normalized 3D "plane" Ax+By+Cz+Dw+E=0, |(A,B,C,D)|==1.. you can use the following transformation matrix: (just extending concept to 4D)
| AA+1 BA   CA   DA   0  || AB   BB+1 CB   DB   0  || AC   BC   CC+1 DC   0  || AD   BD   CD   DD+1 0  || AE   BE   CE   DE   1  | `

Sounds like a fun project.. enjoy!

xyzzy

##### Share on other sites

I left out a whole bunch of negative signs.. all the 2-letter pairs in those matrices should be negated.. like "-AA+1 -BA -CA 0" etc..

xyzzy

Edited by - xyzzy00 on December 15, 2001 3:01:28 AM

##### Share on other sites
quote:
Look IronShit, I don't think you know what the hell you are talking about.

"Just to let you know, there are two different definitions of the 4th dimention. One is time, and the other is the demension beyond 3d." "Dimension beyond 3rd". Well thats a clear defenition. Of course, you can say there are 5th,6th,7th...etc dimensions, but obviously there is no way to visualize that. Adding a 4th dimension is simply representing objects with respect to time. Cut the bullshit. And I've seen the programs that are "4D." It is simply an abstract concept, that makes no sense to projecting to 2 space. Figure out what the hell you are saying before you start talking.

That bolded sentence proves you do not belong in this thread. If you read the other posts in this thread, you will realize how ignorant you are being right now. Again, just because you don't understand something doesn't mean it doesn't exist. Unless you want to learn about demensions beyong the 3rd other than time, there is no reason for you to be in this thread.

BTW, are you and the first Anonymous Poster brothers or something?

Edited by - IronFist on December 15, 2001 3:29:19 AM

##### Share on other sites
HAY YOU DUMB FUCKERS, STICK YOUR 4D ENGINE CRAP UP YOUR ASS, IT DOESNT EXIST AND NEVER WILL. WIPE THAT SHIT AWAY FROM YOUR MOUTH AND SHUTUP OR ILL COME ROUND TO YOUR HOUSE AND BEAT YOU SILLY.

ps. SHUT THE FUCK UP!!!!!!!!!!

##### Share on other sites
[sarcasm] my hero, AP... [/sarcasm]

Could be time to can this thread Magmai... everyone is getting a bit emotional over nothing

##### Share on other sites
This is from a different AP - the other AP needs to learn some manners - big time!

At any rate - time is not the 4d - maybe on the twilight zone or in some strange metaphysics - but read a book like "Hyperspace" by Michio Kaku or "Black Holes & Time Warps" by Kip Thorne and you''ll soon be made aware that time is something else entirely - a property apart from dimensionality.

When it comes to a game engine - it doesn''t make any sense to incorporate time into the spatial representation. Time is handled by the main thread of the program and to mix that code up with image data - that just sounds like a great headache!

The Hollasch paper looks great, thanks for the url. Keep up the thread too - I just might come out of hiding to participate in the discussion!

##### Share on other sites

This topic is 5913 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

This topic is now closed to further replies.