GravSim - a
gravitation simulation
Freeware program for Windows 95/98/NT - Download
GravSim here . (c)2000, 2001 Peer Schaefer. No warranty, no liability. Provided
free of charge "as is". Use on your own risk! You may
distribute this program unchanged and without profit.
The program GravSim simulates the dynamic movement of objects in
three-dimensional space under the influence of gravitation, e.g.
planets in a solar system or suns in an star-cluster. The routes
of the objects can be displayed, e.g. like this:
It's also possible
to display the objects and their positions in run-time:
Download GravSim here
The following <help> is included in the program:
QUICKSTART
GravSim calculates the movement of objects under the influence of gravitation in three-dimensional space and displays it (suppressing the z-axis on the display). The objects should be defined in an ASCII-text-file, that you can edit with your favourite text-editor or with the build-in-editor of GravSim (though this is not very luxurious...).
Each object is defined
by seven numbers:
x-, y- and z-position,
x-, y- and z-start-velocity
mass.
The position 0 0 0 is in the middle of the screen. Negative
values go left (x), up (y) or into the depth of the screen (z),
positive values in the opposite directions. The positions are
given in AU (astronomical units = 149 mio. km), the velocity in
AU/year and the mass in sun-masses (= lots of kg.). The
x-axis-diameter of the display is 10 AU (you can change this with
the "/hwidth=?"-command in the ASCII-text-file (? means
the new x-axis-diameter of the screen in AU).
Example:
-1.1 2.7 -0.7 0.12 -0.07 0.2 1.2
would create an object that is located 1.1 AU left from the
center of the screen, 2.7 AU downwards from the center of the
screen and -0.7 AU into the depth of the screen. The object has a
velocity of 0.12 AU/year to the right, 0.07 AU/year up and 0.2
AU/year up on the z-axis (that is: in YOUR direction...). The
object has 1.2 sun-masses (so it's a main-series star).
(The z-axis is suppressed in the graphical display). You see,
it's quite simple.
As the first step try the build-in scenarios. Choose one of the scenarios from the "Create"-menu inside the "Edit"-menu. Run a scenario from the editor with Ctrl-R. (Re-)Start with F1. Stop with F2. Watch & edit with Ctrl+E. Have fun. That's all.
REFERENCE
Each object is defined
by seven numbers: x-, y- and z-position, x-, y- and z-velocity
and mass. Position is given in astronomical units (AU = 149
million km), velocity in AU/year and mass in sun-masses.
The position 0 0 0 is in the middle of the screen.
Each number can be:
an integer, such as 7 or 435
a floating point value, such as 2.3 or .3 (=0.3) or 1.2e+3
(=1200)
an expression like 1+2 or (3.4+.7)*2.234555
The object definitions should be placed in an ASCII-text-file with the ending .grv
After the definition of
an object (= the seven numbers) you can place one or more of the
following commands (seperated by spaces):
/name=TEXT Displays the TEXT near to the object
/color=COLOR Gives the object the specified COLOR (e.g. BLUE,
GREEN, ...)
/showdata Displays position and velocity of the object
/thin The object is displayed as a single dot (pixel)
/medium The object is displayed as a box of 4 dots
/fat The object is displayed as a little disc (default)
/trail The object leaves a trail behind it
/fixed The object is fixed in the center of the screen. All other
objects move around it.
One or more of the
following commands you can place anywhere in the definition-file:
/hwidth=# Sets the horizontal width of the screen to # AU
/stepwidth=# Sets the calculation stepwidth to # seconds
simulation-time (the movements of the objects are calculated in
discrete steps)
/hidetime Hides the time-counter in the upper left corner of the
display
/sideview Displays a view onto the flank of the scenery in the
right-bottom corner of the display. z-axis=vertical,
y-axis=horizontal, x-axis suppressed (this is the only way to
make the z-axis visible)
/smallsideviw Same as /sideview, but smaller
/bigsideview Same as /sideview, but bigger
/stepdelay=# Makes a pause of # millisec. (real-time) after each
calculation step
/lapdelay=# Makes a pause of # millisec. (real-time) after each
round of 50 calculation-steps
Stand: 09.09.2000 | (c)2000, 2001 Peer
Schaefer. Alle Rechte vorbehalten. Keine
Gewähr, keine Haftung. All rights reserved. No warranty,
no liability. Nutzungsbedingungen
(terms of use). eMail: peer_schaefer@bigfoot.de URL: www.peer-schaefer.de |