StarryOrbits Prototype

Introduction
The StarryOrbits prototype was written in C# using managed DirectX and will run on Windows XP and Vista. The main purpose of the prototype was to get an idea of the capabilities of modern graphics cards, especially with respect to the maximum number of bodies they can handle. The prototype shows that even low cost graphics cards can comfortably handle animations with 10,000 bodies and more.



You can download the StarryOrbits prototype by clicking on the following links. The file with the executable is "StarryOrbits Prototype.zip":


 * http://www.rknop.net/modest_files/StarryOrbits_Prototype.zip
 * http://www.rknop.net/modest_files/AstroSim_examples_for_StarryOrbits.zip
 * http://www.rknop.net/modest_files/GravSim_example_orbits.zip

There are also some example AstroSim and GravSim input files there. Note that this prototype will not run after your system clock reaches the year 2010. Hopefully, the release version will be available by then.

WARNING
There is very little error checking in this prototype so expect a crash or two. It doesn't write to any files nor access any network stuff so it should be safe enough. Please use it at your own risk.

Installation
You will need the Microsoft .NET framework installed as well as DirectX. You also need the DirectX runtime extensions for managed code which should be in the following WINDOWS folder. ..\WINDOWS\Microsoft.NET\DirectX for Managed Code If you don't have this folder you should google for the "DirectX End-User Runtime Web Installer" which is on the Microsoft site and install it.

You can then download and extract the example files and download, extract and run the programme file StarryOrbits Prototype.exe to watch them.

Operation
When you run the programme, you will first be presented with a dialogue file showing files with a .csv extension. Choose the orbit file you want to display and then wait while it loads. You should then see a 3D animation of the n-body solution. It runs very slow to start so just press the 'S' key to make it faster. The space bar will pause/play the animation and the arrow keys will rotate the view. Press F1 for help to see the rest of the keyboard commands.



File Format
The prototype uses a modification of the GravSim file format. This is a text file with a .csv extension arranged like so:

N, (number of bodies,)

0,m,t0,x,y,z, (body number, mass, time, x position, y position, z position,)

1,m,t0,x,y,z,

..

N-1,m,t0,x,y,z,

0,m,t1,x,y,z,

etc...

Note the comma at the end of each line.

GravSim Files
The prototype can also read GravSim orbit files. It currently does not check for memory overflow so keep the orbit files small for now. I have run GravSim.fastsim on the GravSim model 10, 100 and 1000 files under end times of 100, 10 and 1 respectively and they display OK on my clunker desktop. You need to set the -t flag to "constant" for now.

For instance, run the following on the command line

fastsim -f model10.csv -o orbit10x10.csv -m 10.0 -t "constant"

to generate a 10 body orbit file with an end time of 10.0.