Alert icon
We're changing our privacy policy. This stuff matters.  Learn more  Dismiss

Simulation of Special Relativity: Lorentz Contraction - OpenGL/GLUT

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
8,105
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on Nov 22, 2009

I've done a little program today that tries to illustrate the effects of the special theory of relativity. What I show here is a so-called Lorentz-Boost (here in x-direction). It can be described as an simple 4x4 matrix, but in this case I just used the 3x3 submatrix for the spatial components. I also decided to accelerate my observer relatively to the shown sphere (or accelerated the sphere, how you like it) according to relativistic acceleration. As velocity increases, the gamma-factor (1-v^2)^(-1/2) increases (I used natural units, so c=1, that also reduces performance loss because of additional divisions that would be needed) and the sphere shrinks in size along the moving direction. This is called Lorentz Contraction.

At the moment I'm struggling with OpenGLs internal coordinate systems (homogenous coordinates, projection, model coordinates, etc.) and try to understand how it work. I think with time I can improve some issues this program has at the moment. When you look at the sphere at the end of the video, I think it's not just a boost in x direction, but in some more general direction in the x-z plane. So the real image of the sphere might look different, but maybe I can fix this.
I'm currently thinking about a 3D-Space Simulation that respects special relativity and shows its effects like lorentz contraction, time dilatation (time "flows" slower in a moved system), doppler effect and light aberration. The lorentz contraction would follow from the lorentz group, especially from the boosts and time dilatation could easily be simulated with a different internal "clocking" of the moved objects - when the CPU clock gives your local system 1000 cycles, than a moved one just will get something like 100 cycles, for example. Doppler effect could be accomplished with pixel shader operations - the only problem I see is the aberration of light: When you travel fast enough, you will see lightsources that were behind you coming in front of you. This effect doesn't show up in a normal program because the speed of light inside a computersystem is infinit - everything is drawn instantanously onto the screen.

But at the moment I would be glad if I accomplish in getting a moving camera, that doesn't behave like a drunken monkey. ^^

EDIT:
Today I just learned about the "invisible lorentz contraction" effect. If you look at a sphere that moves fast in a direction that is orthogonal to your view, and you measure the sphere's length, then you will see a contraction. But if you take a photograph (with a very fast camera ^^), you will see a sphere again on this photograph, not an ellipsoid. That happens because the aberration of light, that seems to compensate the effect of lorentz contraction. But the size doesn't need to be the same and the geodecics might be distorted. So this video does only show the "real" sphere, it's not what you would actually "see" in reality. Here one has to distinguish "measuring" and "seeing".

Category:

Science & Technology

Tags:

License:

Standard YouTube License

  • likes, 2 dislikes

Link to this comment:

Share to:

Uploader Comments (Copycap)

  • Have you ever heard of a Mach-Lorentz thruster? There was supposedly a video about them but I have been unable to find it. 

  • @EccentricInTexas I think so. Why do you ask?

  • @Copycap Well I don't fully understand the particulars of it how it works.  I do however understand what it would mean if it works.

  • @EccentricInTexas I can't find any serious papers regarding that topic, and all I can find about it and related stuff is somehow "esotheric".

  • what sovtware did you use for this?

  • @Dextomus Software? Well - I could've done it with Vim and g++ but I think I used the IDE Code::Blocks cause it's easier to work with.

    Used Libs: mesa3d implementation of OpenGL and freeglut.

see all

All Comments (38)

Sign In or Sign Up now to post a comment!
  • brilliant video

  • very interesting thanks

  • brilliant video

  • Sweet video Copycap. Don't sweat the comments; haters gonna hate.

  • @Copycap Yeah same here, but I am so hoping it pans out.

Loading...

Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more