Laydees and Geyntelmen....
I announce to you the opening of...
Bugle4D
The first publicly released 4D engine code for C++.
Although this marvel is but newly formed and has yet but few objects, it shows gre-eat promise in the new year...
Bugle4D- A New Dimension In Graphics !
Seriously speaking...
It`s not fully done yet, but the core stuff is finished.
The source for the finished classes is zipped and uploaded, please try it ! Working in 4D does not look normal 3D, so please don`t email me about wierd shapes. But if you find any actual coding bugs, let me know. I`ve got a kinda history of it so far on my page, which shows errors I`ve found as I`ve coded, I encourage you to read it.
I`m going to try and keep the page updated as I go along, but I do hate writing html .
Enjoy !
http://members.tripod.com/thefivelions/bugle4d/
~V''lion
quote:Original post by Vlion
I announce to you the opening of...
Bugle4D
The first publicly released 4D engine code for C++.
Although this marvel is but newly formed and has yet but few objects, it shows gre-eat promise in the new year...
Bugle4D- A New Dimension In Graphics !
Seriously speaking...
It`s not fully done yet, but the core stuff is finished.
The source for the finished classes is zipped and uploaded, please try it ! Working in 4D does not look normal 3D, so please don`t email me about wierd shapes. But if you find any actual coding bugs, let me know. I`ve got a kinda history of it so far on my page, which shows errors I`ve found as I`ve coded, I encourage you to read it.
I`m going to try and keep the page updated as I go along, but I do hate writing html .
Enjoy !
http://members.tripod.com/thefivelions/bugle4d/
~V''lion
How in hell do you represent 4D on a 2D screen??? Kind of odd that some people think they actually know what 4D is when even the theory is devided into 2 clans, maybe more...
"And that''s the bottom line cause I said so!"
Cyberdrek
Resist Windows XP''s Invasive Production Activation Technology!
"gitty up" -- Kramer
/(bb|[^b]{2})/ that is the Question -- ThinkGeek.com
Hash Bang Slash bin Slash Bash -- #!/bin/bash
Mathematical 4D is easy. Just 4 depths. A 4d matrix is also easy. [x][y][z][w/t/?]. Displaying 4d... Well... You can do that any way you like. It''s just about displaying all the data. I t doesn''t matter if you use a timeline, or add an extra axis. Just think about it. You can display 3d on a 2d screen with a third axis. Or you can use time, gives a nice effect
-Maarten Leeuwrik
"Some people when faced with the end of a journey simply decide to begin anew I guess."
-Maarten Leeuwrik
"Some people when faced with the end of a journey simply decide to begin anew I guess."
Well, considering we live in a 10 or 11 dimensional space, 4 isn''t that bad
Death of one is a tragedy, death of a million is just a statistic.
Death of one is a tragedy, death of a million is just a statistic.
Of course, you should be able to visualize any number of spatial dimensions----when they are projected onto a 2D plane such as the computer screen.
Graham Rhodes
Senior Scientist
Applied Research Associates, Inc.
Graham Rhodes
Senior Scientist
Applied Research Associates, Inc.
Transforming 4d->3d is just like 3d->2d...
See:
2d.x = 3d.x / 3d.z
2d.y = 3d.y / 3d.z
This is the generic formula...
So, 4d->3d:
3d.x = 4d.x / 4d.w
3d.y = 4d.y / 4d.w
3d.z = 4d.z / 4d.w
So, 4d->2d:
2d.x = 4d.x / (4d.z / 4d.w)
2d.x = 4d.x / (4d.z / 4d.w)
See:
2d.x = 3d.x / 3d.z
2d.y = 3d.y / 3d.z
This is the generic formula...
So, 4d->3d:
3d.x = 4d.x / 4d.w
3d.y = 4d.y / 4d.w
3d.z = 4d.z / 4d.w
So, 4d->2d:
2d.x = 4d.x / (4d.z / 4d.w)
2d.x = 4d.x / (4d.z / 4d.w)
Actually, what I`m doing is the 4d-3d projection, then using OpenGL to do the 3d-2d projection. That way I can concentrate on the 4-dimensional aspects of the coding.
However that may be....
x/w has an asymptote that is 0.
I think the correct term is that f(x) = k/x has a limit of 0.
Anyway, what that tranlates out to is that you can`t have a w value of 0, which is clearly illogical.
Also, my logic is not as clear on this, but any value from 1 to limit->0 to -1, is really going to freak out my x,y,z values.
So I needed to find a way so that I could have values in the range [-1,1] without messing up my projection.
Remember the equations for 3d-2d perspective projection work on the basis of:
1)View frustrum with a FOV and a end.
2)Projecting to a finite plane.
The equation is, if I remember right...
x = fov*(x/y)+ x_width_of_plane_to_project_on;
What I am trying to accomplish is perspective projection with this basis:
Perspective projection from 4-space to 3-space.
Thats why I am using this offbeat equation I am.
It seems to work, so I use it.
However that may be....
x/w has an asymptote that is 0.
I think the correct term is that f(x) = k/x has a limit of 0.
Anyway, what that tranlates out to is that you can`t have a w value of 0, which is clearly illogical.
Also, my logic is not as clear on this, but any value from 1 to limit->0 to -1, is really going to freak out my x,y,z values.
So I needed to find a way so that I could have values in the range [-1,1] without messing up my projection.
Remember the equations for 3d-2d perspective projection work on the basis of:
1)View frustrum with a FOV and a end.
2)Projecting to a finite plane.
The equation is, if I remember right...
x = fov*(x/y)+ x_width_of_plane_to_project_on;
What I am trying to accomplish is perspective projection with this basis:
Perspective projection from 4-space to 3-space.
Thats why I am using this offbeat equation I am.
It seems to work, so I use it.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement