Celestia: A real-time visual space simulation
Copyright (C) 2001-2002, Chris Laurel <claurel@shatters.net>
--
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA.
--
Installing:
WINDOWS:
Unzip the files into a temporary directory, such as c:\temp\ Then, select
Run from the Start menu and enter:
TEMPDIR\setup.exe
Where TEMPDIR is the name of your temporary directory (e.g. c:\temp\setup.exe)
This will launch the setup program that will install Celestia on your
computer. After setup is complete, launch Celestia by selecting it from
the start menu.
UNIX:
Type ./configure --help for a list of options.
The most basic commands are
./configure
make
make install
This will build the GTK version.
The new KDE3 version is built with
./configure --with-kde
make
make install
Running Celestia:
Celestia will start up in a window, and if everything is working
correctly, you'll see Jupiter's moon Io in front of a field of
stars. In the left corner is a welcome message and some information
about your target (Io), your speed, and the current time (Universal
Time, so it'll probably be a few hours off from your computer's clock.)
Right drag the mouse to orbit Io and you should see Jupiter and
some familiar constellations. Left dragging the mouse changes your
orientation too, but the camera rotates about its center instead of
rotating around Io. Rolling the mouse wheel will change your distance
to the space station--you can move light years away, then roll the wheel
in the opposite direction to get back to your starting location. If your
mouse lacks a wheel, you can use the Home and End keys instead.
In Celestia, you'll usually have some object selected; currently,
it's Io, but it could also be a star, planet, spacecraft, or galaxy.
The simplest way to select an object is to click on it. Try clicking
on a star to select it. The information about Io is replaced with
some details about the star. Press G (or use the navigation menu),
and you'll zoom through space toward the selected star. If you
press G again, you'll approach the star even closer.
Press H to select our Sun, and then G to go back to our solar system.
You'll find yourself half a light year away from the sun, which looks
merely like a bright star at this range. Press G three more times to
get within about 30 AU of the sun and you will be to see a few become
visible near the sun. Right click on the sun to bring up a menu of
planets and other objects in the solar system. After selecting a planet
from the menu, hit G again to travel toward it. Once there, hold down
the right mouse button and drag to orbit the planet.
Tour Guide
The tour guide is a list of some of the more interesting objects you can visit
Celestia. Select the Tour guide option in the navigation menu to bring up the
guide window, choose a destination from the list, click the Goto button, and
you're off.
That covers the very basics . . .
Mouse and Keyboard Controls for Celestia
----------------------------------------
Mouse Functions:
Left drag: orient camera
Right drag: orbit the selected object
Wheel: adjust distance to selection
Right + Left drag: adjust distance to selection
Ctrl + Left drag: adjust distance to selection
Shift + Left drag: change field of view (e.g. => telescopic view)
Wheel (middle button) click: toggle field of view between 45 degrees
and the previous field (e.g. telescopic view)
Left - click: select object
Left double click: center selection
Right - click: bring up context menu
Keyboard Commands:
Navigation:
H : Select the sun (Home)
C : Center on selected object
G : Goto selected object
F : Follow selected object
Y : Orbit the selected object at a rate synced to its rotation
: : Lock on selected object
" : Chase selected object (orientation is based on selection's velocity)
T : Track selected object (keep selected object centered in view)
HOME : Move closer to object
* : Look back
END : Move farther from object
ESC : Cancel motion or script
Left/Right Arrows : Roll Camera
Up / Down Arrows : Change Camera Pitch
1-9 : Select planets around nearby sun
Time:
Space : stop time
L : Time 10x faster
K : Time 10x slower
J : Reverse time
! : Set time to now
? : Display light-travel delay between observer and selected object
- : Subtract light-travel delay from current simulation time
Labels:
= : Toggle constellation labels
B : Toggle star labels
E : Toggle galaxy labels
M : Toggle moon labels
W : Toggle asteroid & comet labels
N : Toggle spacecraft labels
P : Toggle planet labels
& : Toggle location labels
V : Toggle verbosity of info text
Options:
I : Toggle cloud textures
U : Toggle galaxy rendering
O : Toggle planet orbits
/ : Toggle constellation diagrams
; : Show an earth-based equatorial coordinate sphere
[ : If autoMag OFF: Decrease limiting magnitude (fewer stars visible)
If autoMag ON : Decrease limiting magnitude at 45 deg field of view
] : If autoMag OFF: Increase limiting magnitude (more stars visible)
If autoMag ON : Increase limiting magnitude at 45 deg field of view
{ : Decrease ambient illumination
} : Increase ambient illumination
, : Narrow field of view
. : Widen field of view
Backspace: Cancel current selection
Ctrl+A : Toggle atmospheres
Ctrl+B : Toggle constellation boundaries
Ctrl+E : Toggle eclipse shadow rendering
Ctrl+K : Toggle display of markers
Ctrl+L : Toggle night side planet maps (light pollution)
Ctrl+P : Mark selected object
Ctrl+S : Cycle the star style between fuzzy discs, points, and scaled discs
Ctrl+T : Toggle rendering of comet tails
Ctrl+V : Cycle between supported OpenGL render paths
Ctrl+W : Toggle wireframe mode
Ctrl+X : Toggle antialias lines
Ctrl+Y : Toggle autoMag = auto adaptation of star visibility to field
of view
r R: lower or raise texture resolution
+ : Switch between artistic and limit of knowledge planet textures
Multiview:
Ctrl+R : Split view vertically
Ctrl+U : Split view horizontally
TAB : Cycle active view
DEL : Delete active view
Ctrl+D : Delete all views except active one
Spaceflight:
F1 : Stop
F2 : Set velocity to 1 km/s
F3 : Set velocity to 1,000 km/s
F4 : Set velocity to speed of light
F5 : Set velocity to 10x the speed of light.
F6 : Set velocity to 1 AU/s
F7 : Set velocity to 1 ly/s
A : Increase velocity
Z : Decrease velocity
Q : Reverse direction
X : Set movement direction toward center of screen
Number pad:
4 : Yaw left
6 : Yaw right
8 : Pitch down
2 : Pitch up
7 : Roll left
9 : Roll right
5 : Stop rotation
Joystick:
X axis : yaw
Y axis : pitch
L trigger : roll left
R trigger : roll right
Button 1 : slower
Button 2 : faster
Other:
D : Run demo
F8 : Enable joystick
F10 : Capture image to file
` : Show frames rendered per second
ENTER : Select a star or planet by typing its name
Ctrl+C, Ctrl+INS : Copy location URL to clipboard
Star and Planet Browsers:
[For the moment This only applies to the Windows version of Celestia.]
In the navigation menu are 'Solar System Browser' and 'Star Browser'
options. The Solar System Browser pops up a window with a tree view
of all the objects in the nearest solar system (if there is one at all
within a light year of your current position.) Clicking on the name
of any planet in the window will select it; you can then use the center
or goto buttons to see it in the main Celestia window. The star
browser is a window showing a table of the hundred nearest stars,
along with their distances and apparent and absolute magnitudes.
Clicking on the column headers will sort the stars. The table is
not continuously updated--if you travel to another star, you should
press the Refresh button to update the table for your current position.
The radio buttons beneath the table let you switch between viewing
a list of nearest or brightest stars. As with the solar system browser,
clicking on any star name in the table will select it--use this feature
along with the center button to tour the stars visible from any night
sky in the galaxy.
Selecting Objects by Name:
It's possible to choose a star or planet by name. There are two ways to
enter a star name: choose 'Select Object' from the Navigation menu to
bring up a dialog box, or by hitting Enter, typing in the name, and
pressing Enter again. You can use common names, or Bayer designations
and HD catalog numbers for stars. Bayer and Flamsteed designations need
to be entered like this:
Upsilon And
51 Peg
The constellation must be given as a three letter abbreviation and the
full Greek letter name spelled out. Irritating, but it'll be fixed.
HD catalog numbers must be entered with a space between HD and the number.
Celestia handles star catalog numbers in a slightly kludgy way. To keep the
star database size to minimum, only one catalog number is stored. Normally,
this will a number from the HD catalog, but if a star isn't in the HD catalog
the number from another catalog will be used instead. Currently, the secondary
catalog is always the HIPPARCOS data set, for which the prefix "HIP" should be
used.
Known Issues:
Many people have reported problems running Celestia with Matrox G400/G450
3D accelerator cards. As I don't have a Matrox card, I haven't made much
progress on this bug. If you do have a G400, have Visual C++ installed, and
would be interested in testing a debug version of Celestia, please contact me.
The maximum texture size supported by the Voodoo 1/2/3 is 256x256, so many
of the planet textures will look blurry when running Celestia on one of these
cards.
On 3D accelerator cards with a limited amount of memory, resizing the main
Celestia window can cause textures to disappear. This occurs because so
much memory is required the frame buffer that there's not enough left for
textures. There are a several workarounds:
- Use a smaller window
- Make sure your display is set to 16-bit (high color) mode
- Try running Celestia in full screen mode
Celestia only barely works in 256 color mode; if your display is set to
256 colors, change to 16-bit or 32-bit if at all possible.
If look good at a distance but get to dark when you approach them closely,
your OpenGL driver does not support a required extension. Try upgrading to
the most current version of drivers available for your card. For some older
cards, this still won't fix the problem. The next version of Celestia will
feature a workaround.
Basic Hacking Tips:
It's possible to modify the solarsys.ssc, stars.dat, and hdnames.dat
files to create an entirely fictional universe.
The easiest file to modify is the solar system catalog, as it's a text
file and the format is very text-editor friendly since that's how I
had to enter all the data. It's also quite verbose, but that's not a
problem yet.
The units used for the solar system data may not be obvious. All
angle fields in the catalog are in degrees. For planets, the period
is specified in earth years, and the semi-major axis in AU; for
satellites, days and kilometers are used instead.
All solar system textures should be placed in the textures
subdirectory. Currently, JPEG and BMP are the only formats supported.
Models belong in the models directory. Celestia can read 3DS models,
as well as a custom format (.cms files, used right now just for rough
fractal displacement map likenesses of asteroids and small moons.) 3DS
meshes are normalized to fit within a unit cube--the Radius field
determines how big they appear within Celestia.
The stars.dat file is a binary database of stars, processed from
the 50+ meg HIPPARCOS data set. The first four bytes are an int
containing the number of stars in the database. Following that
are a bunch of records of this form:
4 byte int : catalog number
4 byte float : right ascension
4 byte float : declination
4 byte float : parallax
2 byte int : apparent magnitude
2 byte int : stellar class
1 byte : parallax error
RA, declination, and parallax are converted to x, y, z coordinates
and apparent magnitude is converted to absolute magnitude when the
database is read.
Authors:
Chris Laurel
Clint Weisbrod
Fridger Schrempp
Christophe Teyssier
Bob Ippolito (Mac OS X version)
Hank Ramsey (Mac OS X version)
Grant Hutchison
Contributors:
Deon Ramsey (UNIX installer, Gtk interface)
Christopher ANDRE (Eclipse finder)
Colin Walters (endianness fixes)
Peter Chapman (orbit path rendering changes)
James Holmes
Documentation:
Frank Gregorio (Celestia User's Guide)
Hitoshi Suzuki (Japanese README translation)
Christophe Teyssier (DocBook and HTML conversion of User's Guide)
Diego Rodriguez (Acrobat conversion of User's Guide)
Other Contributors:
Models of Mars Global Surveyor and Mars Odyssey were created by
Shrox: http://www.shrox.com/
Most of the planet maps are from David Seal's
site: http://maps.jpl.nasa.gov/. A few of these maps were modified by me,
with fictional terrain added to fill in gaps. The model of the Galileo
spacecraft is also from David Seal's site (though it was converter from
Inventor to 3DS format.)
The Mars, Moon, Neptune, and Uranus textures and bump maps are all from
James Hastings-Trew's collection. Some of the prettiest planet maps
around are at http://gw.marketingden.com/planets/planets.html
Fridger Schrempp produced the 'available data' Pluto and Charon texture
using maps created by Marc Buie at Lowell Observatory. Buie's maps were
generated from photometric data gathered during six years of mutual
occultations of Pluto and Charon.
The Venus, Saturn, and Saturn's rings textures are from Bjorn Jonsson.
His site is http://www.mmedia.is/~bjj/ and is an excellent resource
for solar system rendering. Venus's surface is a copyright-free NASA image.
The Earth texture was created by NASA using data from the MODIS instrument
aboard the Terra satellite. Further information is available from
http://earthobservatory.nasa.gov/Newsroom/BlueMarble/
The textures for the Uranian satellites were created by Ivan Rivera from
JPL data. His Celestia page is http://bruckner.homelinux.net/celestia.html
The Hyperion and Enceladus maps are photomosaics assembled by Phil Stooke and
colored by Jens Meyer. Amalthea is a shaded relief map by Phil Stooke, colored
by Wm. Robert Johnston (http://www.johnstonsarchive.net/spaceart/cylmaps.html),
and further modified by Jens Meyer and Grant Hutchison. Proteus, Janus, Prometheus
and Epimetheus maps are by Phil Stooke. Dione and Rhea are USGS maps colored
and modified by Jens Meyer, and Tethys is a USGS map colored and modified by
Grant Hutchison. The Moon map by Jens Meyer is based on data from PDS
Map-A-Planet at http://pdsmaps.wr.usgs.gov/maps.html with colors from Mark
Robinson at:
http://www.earth.northwestern.edu/research/robinson/MOON/clem_color.html.
The Eros map is a shaded relief generated by Grant Hutchison from the NEAR
laser rangefinder shape model at http://pdssbn.astro.umd.edu/NEARdb/nlr/#shape
The asteroid.jpg texture was created by Paul Roberts.
The lower resolution textures were all converted from their higher resolution
versions using Gimp.
3D asteroid models of Toutatis, Kleopatra, and Geographos are courtesy of
Scott Hudson, Washington State University. His site is:
http://www.eecs.wsu.edu/~hudson/Research/Asteroids/models.html
3D models of Phobos, Deimos, Amalthea, Janus, Epimetheus, Prometheus,
Proteus, Vesta, Ida, Mathilde, and Gaspra are derived from Phil Stooke's
Cartography of Non-Spherical Worlds:
http://publish.uwo.ca/~pjstooke/plancart.htm
Grant Hutchison supplied the correct orientations for the major planets,
their moons, and a number of asteroids.
Selden Ball deserves a special mention for suffering more prerelease versions
finding more bugs, and giving more feedback than anyone else.
The Mac OS X icon was designed by Chris Alford (http://www.chrisalford.com/)
The txf font format used by Celestia was devised by Mark Kilgard.
The star database (stars.dat) was derived from the ESA's HIPPARCOS data set.
This software is based in part on the work of the Independent JPEG
Group.
Thank you to all the Celestia users who've submitted bug reports,
suggestions, and fixes over the past year. Celestia wouldn't be the
program it is without your help.
Chris Laurel
claurel@shatters.net
http://www.shatters.net/~claurel
and
http://www.shatters.net/celestia/