Real Time Relativity User Guide

Real Time Relativity User Guide

Version 0.8, August 2007 (updated 27 August 2007)

Web site:

Contents

  1. Overview
  2. Installation
  3. Basics
  4. Controls
  5. Customization
  6. Exploring relativity
  7. Physics
  8. The Code
  9. References

1. Overview

RTR is a simulation of a world which obeys the physics of special relativity. It allows users to learn by exploring. Some of the physics can be turned off to allow easier study of specific effects.

2. Installation

RTR is installed using the Windows Installer which may be downloaded from the RTR web site. All RTR files are installed in the "Program Files" directory in the directory "AustralianNationalUniversity". The executable is called "RTR.exe". A link is placed in the start menu under "Real Time Relativity".

Earlier versions must be uninstalled using the "Add or Remove programs" Windows control panel.

If it doesn’t work

The most likely reason for RTR to display an error message when starting up is that your Video card does not have a programmable Graphics Processing Unit (GPU). All modern cards should have one. We believe the following are compatible cards: nVidia GeForce FX Series, 6xxx Series, or 7xxx Series; ATI Radeon 9500-9800 Series, or X Series.

Apparently, RTR does not run on some systems which do have GPUs. If it does not run on your system and you would like to work with us to figure out why, contact us through the RTR web site.

You can try running in Safe Mode: see under “Parameters” in the Customization section. This turns off some features, such as the clocks, and usessafer Direct X files.

If all else fails, you can try version 0.2a, available from the versions page on the RTR web site.

3. Basics

Starting up. Start up using the Start menu or the desktop alias. You will appear in the world, looking down a path lined with stone columns. Press W to accelerate. The default window size may be changed as described in the Customisation section below.

Message boxes may announce errors. They can be dismissed by pressing Enter. The most common errors are due to older graphics cards that do not support features required by RTR.

Exiting. To end RTR press the Escape key (ESC).

The RTR window. Your current velocity is expressed as a fraction of the speed of light (c) in the top left corner. Also shown are the pointing angles of your camera. The bottom left hand corner gives some key mappings. Note that if the Desktop colour quality is set below 24 bits the 3D will not work properly -- behind and in front may become confused – set it as high as possible.

The RTR window may be captured to the clipboard with Alt-PrintScreen.

Switch to full screen mode with ALT+ENTER. Repeat to toggle back to a window. Note that if your screen resolution is too high for your graphics card (e.g. >1024 pixels in width or height) the frame rate will drop, perhaps dramatically, so that RTR appears to freeze.

The World. The world in the simulation is big, because the speed of light is fast. It is denoted by “c”, and c = 300,000 km/s. The Earth and Sun are to scale, respectively about 0.043 and 4.7 light-seconds in diameter. A light-second is the distance light travels in a second: 300,000 km. The square on which the world sits is35 light-seconds on a side, the colored cubes are2.5 light-seconds on a side, the distant bar is 25 light-seconds long, and the two clocks are 10 light-seconds apart. In the RTR world it is useful to use light-seconds as the unit of distance, and seconds as the unit of time. The speed of light is then 1 light-second per second.

The object in the “sky”, the skybox, are moved every frame to stay centred on the camera, so their absolute sizes are undefined.

The clocks in the world show world time in seconds since RTR started, or since the timers were reset with the zero key. However, the time you see is delayed by the time it takes the light to travel from the clock to you. For example, if the clock is reading 50s, and you are 10 light-seconds away from the clock in the world frame, you will see the clock reading 40s. The clocks can be used to observe time dilation and the relativity of simultaneity.

4. Controls

The mouse controls where you are looking, but not the direction your ship is pointing. Try looking around a bit with the mouse. You'll notice that the red cross always points in the same direction- this tells you which way your ship is facing. Placing the red cross in the centre means you are looking in the direction of travel (F key).

The keyboard controls the ship's direction of motion. The arrow keys control pitch and yaw (pitch is tilting the nose up and down, yaw is rotating it side to side). Try moving around a little with the keys. You'll notice that the red cross remains fixed in the centre of the screen.

If you get lost you can reset to the starting configuration by using the O (Oh) key.

To accelerate and decelerate, use the W and S keys. Accelerate up to about 0.2c and practice flying around and looking with the mouse, until you are familiar with the controls. To stop use the 1 key. To instantly accelerate to 0.866c use the 2 key, and to 0.9682 use the 4 key. These give gamma factors of 2 and 4 respectively and hence length contraction and time dilation by these factors. Keys 3 and 5 accelerate “backwards” to -0.866c and -0.9682c.

To help measure lengths a grid can be toggled on the screen with the G key.

When travelling toward an object, the Doppler Effect causes the wavelength of the incoming light to change. By default, this effect is turned off in the simulation, but you can toggle it on/off with the K key. An indicator at the top left of the screen tells you its status.

When travelling at relativistic speeds, the world appears to brighten in the direction of travel, and darken away from the direction of travel. This is called the headlight effect. This effect is disabled in the simulation by default, but can be toggled with the H key. An indicator at the top left of the screen tells you its status.

All relativistic effects, Doppler, headlight and aberration, may be toggled on and off with the M key. This may make it easy to navigate the world.

The time you actually experience flying around the world is called "proper time". The time that would be experienced by hypothetical observers in the world frame is called "world time". By default RTR works in proper time. Sometimes it is useful to work in world time, even though it is unphysical, because it is "slower". These two times can be switched between with the T key. When you are in proper time, timers are displayed at the top left of the screen. When you are in world time they are not displayed. You can zero the timers using the 0 (zero) key.

By default RTR uses constant proper acceleration when the acceleration and deceleration keys are pressed. Constant world frame acceleration can be toggled with the P key. Constant proper acceleration is physically realistic, but takes longer to reach speeds above about 0.95c. Hence it is sometimes convenient to use the physically unrealistic constant world frame acceleration.

By default RTR uses game type yaw and pitch control, with increasing angular speed while the arrow keys are depressed. This is convenient but unrealistic. The Y key toggles a more relativistically correct control, approximating constant proper acceleration perpendicular to the velocity. This makes turning slow at high speed.

Controls summary

Mouse: look direction.

Left click or L: look 90 degrees to left of direction of motion.

Right click or R: look 90 degrees to right of direction of motion.

Middle click or B: look behind direction of motion.

Keyboard.

Navigation

Up & Down arrows: Pitch direction of motion.

If Game Navigation is on (N to toggle):

W: Accelerate.Default: 0.2 light-seconds / second2. (Customise as below).

S: Decelerate.Default: -0.2 light-seconds / second2.

A & D: Yaw direction of motion.

If Game Navigation is off (N to toggle):

A: Accelerate.Default: 0.2 light-seconds / second2. (Customise as below).

Z: Decelerate.Default: -0.2 light-seconds / second2.

Left & Right Arrows: Yaw direction of motion.

Speed presets

1: Set speed to zero.

2: Set speed to +0.8660c, for a gamma (time dilation) factor of 2.

3: Set speed to -0.8660c.

4: Set speed to +0.9682c, for a gamma (time dilation) factor of 4.

5:Set speed to -0.9682c.

Position presets

O (Oh): Reset to the initial camera setup: (x=0,y=0,z=0). Do this if you get lost.

C:Looking at the clocks: (x=-10,y=0,z=-17). v=0.5c.Looking left.

Used for relativity of simultaneity.

I:Looking at the clocks: (x=-10,y=0,z=-40). v=0. Looking left.

Used for relativity of simultaneity.

Look directions

F: Look in the direction of motion.

B: Look behind the direction of motion.

L: Look 90 degrees to the left of the direction of motion.

R: Look 90 degrees to the right of the direction of motion.

Toggles

F1:Cycle through on screen help types.

Data + short help -> Data -> Nothing -> Key mappingstoggle settings.

F2:Pause RTR.

F5: Show title text, including RTR version.

G: Toggle screen grid.

H: Toggle headlight effect on and off.

J: Toggle Doppler and headlight on and off together.

K: Toggle Doppler effect between off, model 1 on, and model 2 on (see Physics section 7).

M:Toggle Relativity on and off. Doppler, headlight and aberration off. User time is world time. Constant world frame acceleration.

N:Toggle game type navigation keys: WSAD.

P: Toggle between constant proper acceleration (physical) and constant world frame acceleration (unphysical).

T: Toggle user time between proper time (physical) and world time (unphysical).

Y: Toggle between yaw and pitch control of game type and more relativistically accurate control.

Miscellaneous

0 (zero): Set proper time and world time timers to zero.

Esc: Exit RTR.

Enter: Dismiss message boxes.

Alt-PrintScreen: Capture RTR window to Windows clipboard.

Alt-Enter: Toggle between full screen and windowed display modes.

5. Customization

You can replace the world model and skybox with your own. You can also change some of the parameters controlling RTR. Relevant files are in the directory:

Program Files\Australian National University\Real Time Relativity.

World. In the "Media" directory is the default world file "World.x". It is a DirectX file. If you can produce 3D world models in DirectX format you can replace it with your own. You can do this by writing simple DirectX files directly, or using 3D modeling software such as Milkshape or Blender. Different world files may be loaded using the “DirectX_World_File” parameter.

World_1.x is a binary form of the world file of the original version 0.2b of RTR. World_2.x is a binary form of World.x, provided for debugging purposes.

Coordinates. The coordinate origin is the point looking down the columns that the camera is at when RTR starts. The O key resets the camera there. The screen text shows the x,y,z coordinates in light seconds from this point. x is the direction along the columns, with negative in front. y is the direction perpendicular to the plane, with positive down. z is the direction perpendicular to the columns and the plane, with positive to the left.

Coordinates in the program and in the RTR_parameters.txt file (below) are in units of 20 light-seconds. That is they should be divided by 20 to get the distance in light-seconds.

Sky Box. In the "Media" directory is the default DirectX skybox file "Skybox.x".A different skybox file may be loaded using the “DirectX_Skybox_File” parameter. The skybox is a large cube of textures which is moved each frame so that it remains centred on the camera. This creates the illusion that it is distant, like the “sky”. Consequently, the skybox images are only physically accurate insofar as they are far away compared to any distance moved by the camera –which is not very realistic, especially for the planets and asteroids in Skybox_1.x. However they are fun!

In the "Media/Stars" directory are texture files "Stars#.jpg", with #=1-6. These images are used for the skybox cube of Skybox.x. In the "Media/Planet" directory are the texture files for Skybox_1.x. They arefrom Octane Digital Studios, and were rotated as follows; left.jpg, rotate 180. front.jpg, rotate 90 anticlockwise. right.jpg, rotate 180: back.jpg, rotate 90 clockwise. up.jpg and down.jpg, no rotation.

Parameters. The file "RTR_parameters.txt" allows you to change the following parameters. Each parameter is defined by a number preceding a descriptor on a single line.The number and descriptor are separated by a space. Lines without a valid descriptor are ignored.

Log_Window. An integer. Default 0.

Displays a text window which logs actions in RTR. Primarily for development work. 0: don’t display window. Anything else: display window.

Safe_Mode. An integer. Default 0.

Uses graphics options which are most likely to work on any machine. Clocks are not rendered and the version 0.2b Direct X world file, and stars skybox are used (see below). 1: Safe mode. Anything else: Normal mode.

DirectX_World_File. An integer. Default 0.

Selects the Direct X world file from the media directory. 0: World.x. 1: World_1.x (binary from version 0.2b). 2: World_2.x (binary version of World.x for debugging). 3: World_3.x (not supplied in download). Note: the Initial_Camera_Position_y parameter may have to be changed if the default World file is not used. For World_1.x use: Initial_Camera_Position_y = -50.0.

DirectX_Skybox_File An integer. Default 0.

Selects the Direct X skybox file from the media directory. 1: Skybox_1.x (planet). Anything else: Skybox.x (stars). Note Skybox_1.x uses 800x800 pixel textures, and some graphics cards will not render texture sizes that are not a power of 2.

Window_Width. An integer. Default 800.

Width of the RTR window. N.B. exceeding 1024 in width or height requires substantially increased computational resources and may dramatically slow or crash your computer.

Window_Height. An integer. Default 600.

Height of the RTR window. See note for window width.

World_Box_Size. A float. Default 10,000.

When the camera distance from the origin exceeds this a periodic boundary is applied: the camera position changes sign. Units are 1/20 light-second.

Mouse_Sensitivity. A float. Default 0.2.

A number between 0.0 and 1.0 reduces the sensitivity. A number larger than 1.0 increases it.

Proper_Acceleration.A float. Default 0.2.

The proper acceleration of the rocket in ( light-seconds per second ) per second.

Game_Navigation. An integer. Default 1.

This chooses the keys used for acceleration/deceleration and yaw. 1: W, S, A, D, respectively acceleration, deceleration, left, right. Anything else: A, Z, left arrow, right arrow.

Pilot_Pitch_Keys. An integer. Default 0.

This chooses between pilot and natural style pitch control. Set to 1 for pilot style: the up key makes you move down. Set to 0 for natural style: the up key makes you move up.

Show_World_Clocks. An integer. Default 1.

This chooses whether clocks are rendered in the world. 0: No. 1: Yes.

Clock_x. A float. No default.

When Clock_x, Clock_y and Clock_z values are read in a clock is created at the corresponding x, y, z, location. Maximum of 10 clocks. If no clocks are specified two clocks are generated by default.

Clock_y. A float. No default.

See Clock_x.

Clock_z. A float. No default.

See Clock_x.

Initial_Camera_Position_x. A float. Default 150.0.

This sets the x component of your starting position in the world. This is the direction along the direction of the columns, with negative ahead.

Initial_Camera_Position_y.A float. Default -27.0

This sets the y component of your starting position in the world. This is the direction perpendicular the plane, with negative up.

Initial_Camera_Position_z.A float. Default 30.0

This sets the z component of your starting position in the world. This is the direction perpendicular to the line of columns, with positive toward the left.

End_File_Read.

When this string is encountered no more of the parameter file is read in.

Example file.

RTR Parameters file (A comment line)

Format: Number Name (Another comment line)

0 Log_Window

0 Safe_Mode

0 DirectX_World_File

0 DirectX_Skybox_File

800 Window_Width

600 Window_Height

0.2 Mouse_Sensitivity

0.2Proper_Acceleration

0 Pilot_Pitch_Keys

1 Show_World_Clocks

150.0 Initial_Camera_Position_x

-27.0 Initial_Camera_Position_y

30.0 Initial_Camera_Position_z

6. Exploring relativity (incomplete)

This section gives some examples of how RTR may be used to learn about special relativity.For details see the paper “Real time relativity: exploration learning of special relativity”[3].

Doppler effect.

Headlight effect.

Time dilation.

Relativity of simultaneity.

Length contraction.

7. Physics

This section overviews the physics implemented in RTR. Our aim is for RTR to accurately simulate relativistic physics, although some aspects, such as the Doppler effect, are currently simulated in a limited way.

RTR has five elements of relativistic physics built into it: everything else is a consequence of these. They are: the Doppler effect, the headlight effect, optical aberration, time dilation, and light delay.

The Doppler effect is implemented using the Doppler frequency shift formula [1]:

(1)

f is the observed frequency, f’ the world frame frequency,and the angle between the incoming ray and the velocity vector in the world frame. Colours are represented in RTR by areflectancecibetween 0 and 1 for each of the three colour components: red (fr = 4.3x1014 Hz, 700 nm)cr, green(fg = 5.7x1014 Hz, 525 nm)cg, blue (fb = 6.8x1014 Hz, 440 nm)cb. This is a significant limitation as RTR cannot represent ultraviolet or infrared “colours”, which may be shifted into the visible.

As of version 0.8 RTR has two models for the rest frame ultraviolet and infrared colours of objects. These are inferred from the object’s blue and red colours respectively.

Model 0 is the only one used in RTR versions prior to 0.8. For frequencies greater than bluefb the colour value at frequency f is given bycb(fb/f). For frequencies less than red fr the colour value at frequency f is given by cr (f/fr).