Jump to content

Can my 3d game program be used as Minkowski Space??


Iwonderaboutthings

Recommended Posts

Can my 3d video game program be used as Cartesian Coordinates for Space Time And Relativity??

 

Yes I am lazy tongue.png

 

 

I am having problems with visualizing QM wave functions.

 

What I want to do is use my 3d modeling program of game creation, and just use this to build things such as: Minkowski Space, Lorentz Transformations and etc.

 

But I want it to work as the equations themselves and see the visual results and take photos of my ideas, not sure if this is possible???

 

 

Minkowski Space

https://en.wikipedia.org/wiki/Minkowski_space

 

 

I would take say a 3d mesh sphere = a particle, and place it at position x , y directions and animate this. But not sure of z though as this is just depth in computer game software..

 

My 3d program also has a feature to set the world metric system of units to meters, so I think this could work...

 

 

 

 

 

Thanks!

Edited by Iwonderaboutthings
Link to comment
Share on other sites

Not really - it seems that your game has 2 dimensions, a depth coordinate (is that a 3rd dimension or a truncated dimension). Minkowski Space needs four coordinates - 3 spatial dimensions and 1 temporal. You would be better off learning about vectors, transformations, and geometry rather than planning to model a 4 coordinate system on a computer screen.

 

For quantum mechanics - I would really recommend against investing any time whatsoever trying to get a 'real-world' or intuitive perspective - QM just does not fit with our primitive naked ape brains. The thing that repays time spent is the mathematics - it is daunting and still does not get around the completely counterintuitive nature of QM; but it is the one and only way we have of investigating physical models

Link to comment
Share on other sites

Can my 3d video game program be used as Cartesian Coordinates for Space Time And Relativity??

 

Yes I am lazy tongue.png

 

 

I am having problems with visualizing QM wave functions.

 

What I want to do is use my 3d modeling program of game creation, and just use this to build things such as: Minkowski Space, Lorentz Transformations and etc.

 

But I want it to work as the equations themselves and see the visual results and take photos of my ideas, not sure if this is possible???

 

 

Minkowski Space

https://en.wikipedia.org/wiki/Minkowski_space

 

 

I would take say a 3d mesh sphere = a particle, and place it at position x , y directions and animate this. But not sure of z though as this is just depth in computer game software..

 

My 3d program also has a feature to set the world metric system of units to meters, so I think this could work...

 

 

 

 

 

Thanks!

It has been done many times (correctly). I can provide you with links to the respective simulations, if you are interested.

Edited by xyzt
Link to comment
Share on other sites

It has been done many times (correctly). I can provide you with links to the respective simulations, if you are interested.

YES PLEASE!

 

I have been searching and searching but never did get lucky, I assume this " could be possible" because when creating the UV Texture Maps for game models it " resembles a type manifold" and or atlas. The program also has a physics engine.

 

Texture Maps: here is an image of this:

http://www.csit.parkland.edu/~dbock/Class/csc189/Lecture/CharacterTexturing_files/image079.jpg

Not really - it seems that your game has 2 dimensions, a depth coordinate (is that a 3rd dimension or a truncated dimension). Minkowski Space needs four coordinates - 3 spatial dimensions and 1 temporal. You would be better off learning about vectors, transformations, and geometry rather than planning to model a 4 coordinate system on a computer screen.

 

For quantum mechanics - I would really recommend against investing any time whatsoever trying to get a 'real-world' or intuitive perspective - QM just does not fit with our primitive naked ape brains. The thing that repays time spent is the mathematics - it is daunting and still does not get around the completely counterintuitive nature of QM; but it is the one and only way we have of investigating physical models

You mention a 4 coordinate system.

 

Would this be the same as:

top, left, bottom and right perspective??

 

NOTE:

am not to sure about the front perspective being valid though.

The reason for this is called I think the frustum, in where it is only valid for the " user"

 

Frustum

http://en.wikipedia.org/wiki/Frustum

 

 

This considereds a 180 degree "digital camera" that is looking at you as opposed to you looking at the game, I am not joking! and yes its weird.

 

 

 

BUT also, 3d programs have digital cameras too:

 

top, left, bottom and right perspectives= 4 coordinate systems?

Adding the cameras 4 of them would total an 8 coordinate system????

 

 

 

 

 

To answer your question:

 

The third dimension for modeling as I know it, allows a 3d "primitive" to be translated freely " while modeling this" with no need for top, left, bottom or right perspective. So long as you are in the user perspective window not necessarily the orthographic view. However, I find this orthographic view very annoying because as I look at this it kinda looks off in a sense when I am modeling a 3d mesh.

 

 

But! Each window in the 3d program must have a "camera" and that " camera" cannot be moved, otherwise the:

 

top, left, bottom and right perspective will be off, and the modeling " vertices" too will be off.

 

 

Which is why I prefer to model in perspective view.

Edited by Iwonderaboutthings
Link to comment
Share on other sites

reply to xyzt snipped...

You mention a 4 coordinate system.

 

Would this be the same as:

top, left, bottom and right perspective??

 

NOTE:

am not to sure about the front perspective being valid though.

The reason for this is called I think the frustum, in where it is only valid for the " user"

 

Frustum

http://en.wikipedia.org/wiki/Frustum

 

 

This considereds a 180 degree "digital camera" that is looking at you as opposed to you looking at the game, I am not joking! and yes its weird.

 

 

 

BUT also, 3d programs have digital cameras too:

 

top, left, bottom and right perspectives= 4 coordinate systems?

Adding the cameras 4 of them would total an 8 coordinate system????

 

 

 

 

 

To answer your question:

 

The third dimension for modeling as I know it, allows a 3d "primitive" to be translated freely " while modeling this" with no need for top, left, bottom or right perspective. So long as you are in the user perspective window not necessarily the orthographic view. However, I find this orthographic view very annoying because as I look at this it kinda looks off in a sense when I am modeling a 3d mesh.

 

 

But! Each window in the 3d program must have a "camera" and that " camera" cannot be moved, otherwise the:

 

top, left, bottom and right perspective will be off, and the modeling " vertices" too will be off.

 

 

Which is why I prefer to model in perspective view.

 

 

4 coordinate is difficult to visualize.

 

Coordinates 101. You can describe one axis with one coordinate - but note that positive is one way along the axis and negative is the other way. This means that left and right are one axis and thus one coordinate (x right is normally positive), also at a right angle to that are up and down which are on one axis (y up is normally positive), and at right angles to both you have in and out of the page which are another axis (z towards you out of paper is normally positive). The bracketed conventions for positive and negative form a right handed coordinate system - splay your right hand out to make rough right angles between your thumb, forefinger and middle finger like so

post-32514-0-64137200-1374051081.jpg

Your thumb is the x-axis (left right) your forefinger is the y axis (up down) and your middle finger is the z axis (in out). Everything in space can be described using a distance along the x axis, some along the y and some along the z. Note - no matter how much you try, there is no amount of x that can create some y etc.; all three axes are orthogonal and completely independent.

 

For Minkowski space you need another coordinate - ie another axis (which we call t) which is also at right angles to all the above three axes x, y, and z. This just doesn't fit in our heads without some form of simplification. It is the perspectives that allow you, to an extent, to achieve that simplification. I watch three dimensional, ie three axes, three coordinate objects on two dimensional screens all the time - as do you. But what you are seeking to do is to render 4 dimensions (and our brain is not happy with 4 dimensions) onto a two dimensional screen - you will per force lose a lot of information and the simplification might be such that all useful data are lost in the pursuit of easy accessibility.

Link to comment
Share on other sites

 

 

4 coordinate is difficult to visualize.

 

Coordinates 101. You can describe one axis with one coordinate - but note that positive is one way along the axis and negative is the other way. This means that left and right are one axis and thus one coordinate (x right is normally positive), also at a right angle to that are up and down which are on one axis (y up is normally positive), and at right angles to both you have in and out of the page which are another axis (z towards you out of paper is normally positive). The bracketed conventions for positive and negative form a right handed coordinate system - splay your right hand out to make rough right angles between your thumb, forefinger and middle finger like so

attachicon.gifphoto.JPG

Your thumb is the x-axis (left right) your forefinger is the y axis (up down) and your middle finger is the z axis (in out). Everything in space can be described using a distance along the x axis, some along the y and some along the z. Note - no matter how much you try, there is no amount of x that can create some y etc.; all three axes are orthogonal and completely independent.

 

For Minkowski space you need another coordinate - ie another axis (which we call t) which is also at right angles to all the above three axes x, y, and z. This just doesn't fit in our heads without some form of simplification. It is the perspectives that allow you, to an extent, to achieve that simplification. I watch three dimensional, ie three axes, three coordinate objects on two dimensional screens all the time - as do you. But what you are seeking to do is to render 4 dimensions (and our brain is not happy with 4 dimensions) onto a two dimensional screen - you will per force lose a lot of information and the simplification might be such that all useful data are lost in the pursuit of easy accessibility.

Yes very true indeed and thanks for the message, I will try my very best with what you have suggested although I know it might me a tedious task I know the rewards will be worth it in the future.wink.png

If you have a PC, I would like to suggest trying my application at

 

http://www.relativitysimulation.com/MainWebPage.html

 

It has a lot of the capability you seem to be looking for. I would be glad to share the code with you.

Very Interesting! Yes please let me know more information pleasewink.png

Link to comment
Share on other sites

Ok. So, from you original post I assume you already have the ability to display bodies/shapes in a graphical application. (2D or 3D doesn’t matter right now).

 

And now you want to be able to modify those shapes to suit the laws of relativity.

 

You probably already know that, in relativity, the shape of a body changes as its relative velocity changes. A cube that was sitting at rest next to you is not a cube anymore when it is moving with respect to you.

 

You probably already know that a graphics engine renders a shape on screen based on the coordinates of its vertices. So, if you passed the engine four vertices with the following coordinates;

(0,0)

(1,0)

(1,1)

(0,1)

The engine would render a square.

 

If you want to render the body when it is moving at 87% the speed of light in the x-direction, you would have to pass the following coordinates to the engine;

(.25, 0)

(.75, 0)

(.75, 1)

(.25, 1)

Or some other set that gave you x-dimensions that were half that of the square.

 

So, you need to develop 2 capabilities.

  1. Be able to pass to the graphics engine a new set of coordinates for all the vertices of a body without having to recreate the body from scratch. (You could recreate the body from scratch but that would put an unnecessary load on the computer processor.)
  2. Be able to determine the new set of coordinates based on the relative velocity of the body. This is the hard part. You can use the Lorentz Transformation to determine the shape of the body for any relative velocity. But you will need a 3D or at least a 2D version of the Lorentz Transformation.
  1. First build the mathematical structure that is the Lorentz Transformation for the relative velocity you are using.
  2. Then pump the coordinates of every vertex through the transformation. Note that the transformation transforms events, not vertex coordinates. So you will need to convert the vertex coordinates to events, transform the events and then convert the transformed events back to vertex coordinates. It’s not as simple as it sounds. I can walk you thru it or send you some code (the code is in Java).

If this post is totally off base and you really want to do something else, just disregard it.

Link to comment
Share on other sites

Ok. So, from you original post I assume you already have the ability to display bodies/shapes in a graphical application. (2D or 3D doesn’t matter right now).

 

And now you want to be able to modify those shapes to suit the laws of relativity.

 

You probably already know that, in relativity, the shape of a body changes as its relative velocity changes. A cube that was sitting at rest next to you is not a cube anymore when it is moving with respect to you.

 

You probably already know that a graphics engine renders a shape on screen based on the coordinates of its vertices. So, if you passed the engine four vertices with the following coordinates;

(0,0)

(1,0)

(1,1)

(0,1)

The engine would render a square.

 

If you want to render the body when it is moving at 87% the speed of light in the x-direction, you would have to pass the following coordinates to the engine;

(.25, 0)

(.75, 0)

(.75, 1)

(.25, 1)

Or some other set that gave you x-dimensions that were half that of the square.

 

So, you need to develop 2 capabilities.

  1. Be able to pass to the graphics engine a new set of coordinates for all the vertices of a body without having to recreate the body from scratch. (You could recreate the body from scratch but that would put an unnecessary load on the computer processor.)
  2. Be able to determine the new set of coordinates based on the relative velocity of the body. This is the hard part. You can use the Lorentz Transformation to determine the shape of the body for any relative velocity. But you will need a 3D or at least a 2D version of the Lorentz Transformation.
  1. First build the mathematical structure that is the Lorentz Transformation for the relative velocity you are using.
  2. Then pump the coordinates of every vertex through the transformation. Note that the transformation transforms events, not vertex coordinates. So you will need to convert the vertex coordinates to events, transform the events and then convert the transformed events back to vertex coordinates. It’s not as simple as it sounds. I can walk you thru it or send you some code (the code is in Java).

If this post is totally off base and you really want to do something else, just disregard it.

Oh, how does the cube change size if it is relative to me??

Thats interesting..

 

 

 

Yes in indeed I would like more information on the java code.

 

But first off I really need to able to learn these "Lorentz transformations " technicals" though.

 

I am a wizard at math, the issues is going to be, all the symbols used with the Lorentz Transformations and the "scientific technicals of their meanings.

 

That in itself may take me some time. Any links on how to do this??

 

Intro to Lorentz transformations

Link to comment
Share on other sites

Oh, how does the cube change size if it is relative to me??

Thats interesting..

 

 

 

Yes in indeed I would like more information on the java code.

 

But first off I really need to able to learn these "Lorentz transformations " technicals" though.

 

I am a wizard at math, the issues is going to be, all the symbols used with the Lorentz Transformations and the "scientific technicals of their meanings.

 

That in itself may take me some time. Any links on how to do this??

 

Intro to Lorentz transformations

Let me back up a minute.

 

If you are comfortable with freshman college physics and linear algebra, then you can handle introductory level Special Relativity. There are lots of introductions to be found on the internet or in bookstores. I believe other posters have referenced some. Many people will say that you don’t need knowledge of basic physics or linear algebra to learn Special Relativity. Speaking from experience, it would be exasperating trying to learn SR without that knowledge.

 

Since you’ve built your own computer game I expect you already have the physics and math background. And I expect you already use a physics engine in that computer game that calculates position, orientation, velocity etc. for objects in reaction to user/system commands. That engine, whether it exists as a library, a separate chunk of your own code or many pieces spread throughout the program probably enforces the Newtonian laws of physics.

 

If you want to enforce the laws of Relativistic Physics, you will need a Relativistic Physics Engine. (The process I provided in my last post is one superficial example of the many additions/changes that would exist in a Relativistic Physics engine.)

 

I also expect you use some kind of Scene Graph in your game program, a hierarchical structure to manage the parent /child relationships of the objects being rendered. Again, whether it is a separate library or one of your own design, it probably manages those objects using the laws of vector algebra. I.e. child position = vector sum of (its position with respect to its parent) plus (that parent’s position). Well, relativistic physics doesn’t work that way. So you will need a separate Relativistic Scene Graph that manages the parent/child hierarchies according to the rules of Relativistic Physics.

 

The processes that make up the Relativistic Physics Engine and Relativistic Scene Graph in my program are spread throughout the code. It’s spaghetti code! I’m in the process of organizing it now, but I am months away from being able to offer them as a usable library to anyone else. All I can give right now are the pieces as requested.

 

In terms of passing code, I wonder if it would be better if I posted the code as web pages on my web site since it could get really long. I’ll start with a 3D Lorentz Transformation. Now where did I put that?

 

 

Added some hours later:

I posted an introduction to SR by David Hogg on my website at.

 

http://www.relativitysimulation.com/Documents/SRbyDavidHogg

 

It'spretty much the same presentation you will get from most textbooks and most members of this forum. But it does give the 3D version of the Lorentz Transformation (page 21).

 

Credit to:

 

David W. Hogg

Center for Cosmology and Particle Physics

Department of Physics

New York University

Edited by Mike-from-the-Bronx
Link to comment
Share on other sites

Let me back up a minute.

 

If you are comfortable with freshman college physics and linear algebra, then you can handle introductory level Special Relativity. There are lots of introductions to be found on the internet or in bookstores. I believe other posters have referenced some. Many people will say that you don’t need knowledge of basic physics or linear algebra to learn Special Relativity. Speaking from experience, it would be exasperating trying to learn SR without that knowledge.

 

Since you’ve built your own computer game I expect you already have the physics and math background. And I expect you already use a physics engine in that computer game that calculates position, orientation, velocity etc. for objects in reaction to user/system commands. That engine, whether it exists as a library, a separate chunk of your own code or many pieces spread throughout the program probably enforces the Newtonian laws of physics.

 

If you want to enforce the laws of Relativistic Physics, you will need a Relativistic Physics Engine. (The process I provided in my last post is one superficial example of the many additions/changes that would exist in a Relativistic Physics engine.)

 

I also expect you use some kind of Scene Graph in your game program, a hierarchical structure to manage the parent /child relationships of the objects being rendered. Again, whether it is a separate library or one of your own design, it probably manages those objects using the laws of vector algebra. I.e. child position = vector sum of (its position with respect to its parent) plus (that parent’s position). Well, relativistic physics doesn’t work that way. So you will need a separate Relativistic Scene Graph that manages the parent/child hierarchies according to the rules of Relativistic Physics.

 

The processes that make up the Relativistic Physics Engine and Relativistic Scene Graph in my program are spread throughout the code. It’s spaghetti code! I’m in the process of organizing it now, but I am months away from being able to offer them as a usable library to anyone else. All I can give right now are the pieces as requested.

 

In terms of passing code, I wonder if it would be better if I posted the code as web pages on my web site since it could get really long. I’ll start with a 3D Lorentz Transformation. Now where did I put that?

 

 

Added some hours later:

I posted an introduction to SR by David Hogg on my website at.

 

http://www.relativitysimulation.com/Documents/SRbyDavidHogg

 

It'spretty much the same presentation you will get from most textbooks and most members of this forum. But it does give the 3D version of the Lorentz Transformation (page 21).

 

Credit to:

 

David W. Hogg

Center for Cosmology and Particle Physics

Department of Physics

New York University

WOW! your pretty savvy, the PDF looks incredible and I cannot wait until I read the whole thing, thanks for the time very much appreciated!

Edited by Iwonderaboutthings
Link to comment
Share on other sites

What I want to do is use my 3d modeling program of game creation, and just use this to build things such as: Minkowski Space, Lorentz Transformations and etc.

 

But I want it to work as the equations themselves and see the visual results and take photos of my ideas, not sure if this is possible???

 

 

Minkowski Space

https://en.wikipedia.org/wiki/Minkowski_space

 

 

I would take say a 3d mesh sphere = a particle, and place it at position x , y directions and animate this. But not sure of z though as this is just depth in computer game software..

 

 

The Euclidean metric that your game uses is different from the Minkowski metric -- for example, you mention a sphere... if you specify an origin point in your game and tell the engine to paint everything red that is exactly one meter away from that origin point then you would end up with a red sphere. All of the points in space that are one meter away from an origin make a sphere with a radius of one meter. In Minkowski space, however, the same procedure makes an open hyperbolic surface (not a sphere).

 

Likewise, if you have an object (a light bulb let's say) in the game at position x,y,z and you tell the game to *only* illuminate objects that have zero distance from the bulb (everything that has zero distance from the bulb gets illuminated) then nothing but the bulb itself would be illuminated. In Euclidean space, distance zero from x,y,z just makes a point at x,y,z.

 

In Minkowski space, distance zero from x,y,z makes a cone. Objects intersecting the cone would be illuminated.

 

So... if you want to visualize Minkowski space in the game you'd essentially be embedding a hyperbolic plane in a 3D cartesian coordinate system.... The hyperboloid model here would be a good place to start surfing.

 

 

have to use something like the Hyperboloid model to get the metric of the one to work in the other.

to paint everything blue that has a distance of zero from that point then nothing but the point itself would be painted blue.

Link to comment
Share on other sites

 

The Euclidean metric that your game uses is different from the Minkowski metric -- for example, you mention a sphere... if you specify an origin point in your game and tell the engine to paint everything red that is exactly one meter away from that origin point then you would end up with a red sphere. All of the points in space that are one meter away from an origin make a sphere with a radius of one meter. In Minkowski space, however, the same procedure makes an open hyperbolic surface (not a sphere).

 

Likewise, if you have an object (a light bulb let's say) in the game at position x,y,z and you tell the game to *only* illuminate objects that have zero distance from the bulb (everything that has zero distance from the bulb gets illuminated) then nothing but the bulb itself would be illuminated. In Euclidean space, distance zero from x,y,z just makes a point at x,y,z.

 

In Minkowski space, distance zero from x,y,z makes a cone. Objects intersecting the cone would be illuminated.

 

So... if you want to visualize Minkowski space in the game you'd essentially be embedding a hyperbolic plane in a 3D cartesian coordinate system.... The hyperboloid model here would be a good place to start surfing.

 

 

have to use something like the Hyperboloid model to get the metric of the one to work in the other.

to paint everything blue that has a distance of zero from that point then nothing but the point itself would be painted blue.

The sphere and light bulb were excellent for me to visualize, I am very appreciative, saw the links and thanks..I will take your advice too.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.