Skip to content

Blender Add-on for special-relativistic polygon rendering

Notifications You must be signed in to change notification settings

KaranocaVe/BlenderSRPolygon

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Special-Relativistic Polygon Rendering with Blender

Introduction

Special-Relativistic Polygon Rendering is a straightforward method to show what an observer moving with a velocity close to the speed of light would see.

The idea is as follows: Given a scene with a couple of objects where each object is at rest with respect to its local reference frame. Each reference frame, however, can move in an arbitrary direction with a different velocity. The observer has also its own reference frame which can move in an arbitrary direction. As each object shall be represented as a quad- or triangular mesh, the individual vertices of the mesh can be transformed according to the following algorithm. First, the current observer position is transformed into the local reference frame of an object by means of the Lorentz-Transformation between the two reference frames. Next, the backward lightcone of the observer is intersected with the worldlines of all vertices in order to determine the events where light has to be emitted to reach the observer at observation time. Finally, these events are transformed into the reference frame of the observer. That's it. Note that the finer meshed the surface is, the better is the approximation.

Blender How-To

This is a very brief tutorial on how to use the blender add-on "SRPolygonTransform".

  1. Start Blender and subdivide the mesh of the box:

    • Switch to Edit-Mode and press 'A' twice to deselect all.

    • Press Ctrl-R while hovering above an edge, move mouse wheel to insert subdivision, and press left mouse button twice.

    • Repeat the above to subdivide all faces.

    • Switch back to Object-Mode.

  2. Install Add-On:

    • File -> User Preferences -> Add-ons -> "Install Add-on from File..."
    • Select "srPolygonTransform[].py", for blender 2.79 and later use "srPolygonTransform2x.py", for blender 4.0 use "srPolygonTransform4x.py"
    • Object -> Select "SR Polygon Transformation"
  3. Apply polygon transformation:

    • Press 'Space' and search for "SR..."
    • In the "Tool Shelf" (T), you can change the velocity in x-, y-, and z- direction. Note, however, that the magnitude of the velocity has to be below the speed of light.
    • Modify the observation time 'tobs' to see how the object moves.
  4. The transformation is only valid for the camera. Thus, switch to the camera view to see the correct transformation.

  5. When the transformation is applied to the mesh, you no longer can modify the velocity or the observation time. Thus, before you transform an object, you better make a copy of the original mesh and move it to a different layer.

A final image could look like this:

References

License

CC BY-NC-SA 4.0

About

Blender Add-on for special-relativistic polygon rendering

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%