Celestia is a great multi-platform 3D
astronomy program that allows the user to tour the solar system and universe.
I encourage everyone to install it, play with it, and see what can be done
with it. The user can write scripts for custom demos; and I put one
together (posted at the bottom of this page) that tours the solar system.
It looks impressive on a PC with good graphics capability.
I have installed Celestia in Suse 9.1
Personal, Red Hat 9, and Windows 98 SE; and it works great. The main
site is: http://www.shatters.net/celestia/
I'm working on my gallery.
The Suse 9.1 rpm is available through Yast.
The Red Hat rpm is available at: http://freshrpms.net/
It needs gtkglarea which I got with apt
but is also on the 2nd Red Hat 9 CD.
Here's the script for the mini tour
of the solar system. Just copy and paste into a text editor, save
it as SolSysMiniTour.cel, click on it, and Celestia should run it:
# Start of Script --------------------------------------------------------------------
{
#-----------------------------------------------------------------------------
# SolSysMiniTour.cel Version
1.0.0 Last updated on 12/22/2004
# Solar System Mini Tour: A brief
tour of the solar system script
# By: L2Cache
# License: free for non-commercial
use
# ------------------------------------
# Inspired by the demo, other scipts,
and the script guide
# Designed as a brief introduction
to the solar system for students, etc.
# It visits the Sun, our Moon, and
the nine planets.
# Tested with Celestia 1.3.0 - 1.3.2
on 640x480 and 800x600 displays
# Tested on Windows 98SE, Red Hat
Linux 9.0, Suse 9.1 Personal, KDE
# The Sun spots will not show in
lowres mode.
# In Celestia 1.3.1 up, make sure
orbits for moons and planets are activated
# So that the script can show them.
In Windows, on the menu bar, go to Render,
# View Options, Orbits/Lables and
check Orbits for Moons and Planets.
# Leave other Orbits unchecked.
# To clear the extra text on the
screen, press the v key a couple of times.
# Set full screen mode to hide the
title bar.
# Turn off your screensaver or up
it's delay so the show won't be interrupted.
#-----------------------------------------------------------------------------
cancel { }
wait {duration 2.0 }
timerate { rate 1 }
labels { clear "stars|galaxies|moons|planets|spacecraft"
}
labels { clear "asteroids|constellations"
}
renderflags { clear "galaxies|stars|planets|orbits|comettails|boundaries|markers"
}
renderflags { clear "eclipseshadows|pointstars|constellations"
}
set { name "FOV" value 21 }
renderflags { set "cloudmaps|nightmaps|ringshadows|atmospheres"
}
set { name "StarDistanceLimit" value
3 }
select { object "Sol" }
renderflags { set "stars|planets|orbits"
}
labels { set "stars|planets" }
gotolonglat {time 2 distance 3350
up [0 1 0] longitude 0 latitude 90 }
print { text "Solar System Tour
- Press ESC to end.
Now showing planet orbits around
the sun
If the orbits don't show in Celestia
1.3.1 up, go to
Render, View Options, Orbits/Lables
and check Orbits
for Moons and Planets. Leave other
Orbits unchecked." row -6}
wait { duration 17.0 }
gotolonglat {time 2 distance 7600
up [0 1 0] longitude 0 latitude 90 }
wait { duration 9.0 }
print { text "To clear the extra
text on the screen, press the v key
once or twice. To hide the menu
bar, set full screen mode." row -3 }
gotolonglat {time 2 distance 17000
up [0 1 0] longitude 0 latitude 90 }
wait { duration 7.0 }
gotolonglat {time 2 distance 33000
up [0 1 0] longitude 0 latitude 90 }
wait { duration 5.0 }
gotolonglat {time 2 distance 55000
up [0 1 0] longitude 0 latitude 90 }
wait { duration 4.0 }
gotolonglat {time 2 distance 75000
up [0 1 0] longitude 0 latitude 90 }
wait { duration 5.0 }
print { text " " row -2 }
renderflags { clear "orbits|stars|planets"
}
labels { clear "stars|planets" }
set { name "FOV" value 170 }
select { object "Milky Way" }
gotolonglat {time 2 up [0 1 0] longitude
0 latitude 0 }
wait {duration 2.0 }
set { name "AmbientLightLevel"
value 1.0 }
renderflags { set "galaxies" }
print { text "Our Galaxy, the Milky
Way . . .
If you can't see it, increase the
monitor's brightness a little." row -3 }
set { name "FOV" value 140 }
wait { duration 0.1 }
set { name "FOV" value 135 }
wait { duration 0.1 }
set { name "FOV" value 130 }
wait { duration 0.1 }
set { name "FOV" value 125 }
wait { duration 0.1 }
set { name "FOV" value 120 }
wait { duration 0.1 }
set { name "FOV" value 115 }
wait { duration 0.1 }
set { name "FOV" value 110 }
wait { duration 0.1 }
set { name "FOV" value 100 }
wait { duration 0.1 }
set { name "FOV" value 95 }
wait { duration 0.1 }
set { name "FOV" value 90 }
wait { duration 0.1 }
set { name "FOV" value 85 }
wait { duration 0.1 }
set { name "FOV" value 80 }
wait { duration 0.1 }
set { name "FOV" value 75 }
wait { duration 0.1 }
set { name "FOV" value 70 }
wait { duration 0.1 }
set { name "FOV" value 65 }
wait { duration 0.1 }
set { name "FOV" value 60 }
wait { duration 0.1 }
set { name "FOV" value 55 }
wait { duration 0.1 }
set { name "FOV" value 50 }
wait { duration 0.1 }
set { name "FOV" value 45 }
wait { duration 0.1 }
set { name "FOV" value 40 }
wait { duration 0.1 }
set { name "FOV" value 35 }
wait { duration 0.1 }
set { name "FOV" value 30 }
wait { duration 0.1 }
set { name "FOV" value 27 }
orbit { axis [ 0 1 0 ] rate 30 duration
18 }
wait { duration 2.0 }
renderflags { set "stars|planets"
}
set { name "AmbientLightLevel"
value 0.1 }
set { name "StarDistanceLimit" value
1000000 }
print { text "Starting Solar System
Tour . . ." row -2 }
wait { duration 3.0 }
labels { set "stars" }
select { object "Sol" }
set { name "FOV" value 26 }
wait { duration 0.08 }
set { name "FOV" value 25 }
wait { duration 0.08 }
set { name "FOV" value 24 }
wait { duration 0.08 }
set { name "FOV" value 23 }
wait { duration 0.08 }
set { name "FOV" value 22 }
wait { duration 0.08 }
set { name "FOV" value 21 }
goto { time 10 distance 10 }
wait { duration 10.0 }
print { text "Let's start at the
Sun with it's spots. . ." row -2 }
orbit { axis [ 0 1 0 ] rate 30 duration
15 }
wait { duration 2.0 }
labels { clear "stars" }
labels { set "planets" }
print { text "Now on to Mercury
. . ." row -2 }
select { object "Sol/Mercury" }
goto { time 15 distance 10 }
wait { duration 15.0 }
orbit { axis [ 0 1 0 ] rate 30 duration
15 }
wait { duration 2.0 }
print { text "Then Venus . . ." row
-2 }
select { object "Sol/Venus" }
goto { time 15 distance 10 }
wait { duration 15.0 }
orbit { axis [ 0 1 0 ] rate 30 duration
15 }
wait { duration 2.0 }
print { text "And now, our Earth
. . ." row -2 }
select { object "Sol/Earth" }
goto { time 15 distance 10 }
wait { duration 15.0 }
orbit { axis [ 0 1 0 ] rate 30 duration
20 }
wait { duration 2.0 }
print { text "Let's see the Moon
. . ." row -2 }
select { object "Sol/Earth/Moon"
}
goto { time 15 distance 10 }
wait { duration 15.0 }
orbit { axis [ 0 1 0 ] rate 30 duration
15 }
wait { duration 2.0 }
print { text "Show orbits and on
to Mars . . ." row -2 }
renderflags { set "orbits" }
labels { set "moons" }
select { object "Mars" }
goto { time 15 distance 10 }
wait { duration 15.0 }
renderflags { set "orbits" }
orbit { axis [ 0 1 0 ] rate 30 duration
15 }
wait { duration 2.0 }
print { text "And Jupiter . . ."
row -2 }
select { object "Jupiter" }
goto { time 15 distance 10 }
wait { duration 15.0 }
orbit { axis [ 0 1 0 ] rate 30 duration
15 }
wait { duration 2.0 }
print { text "Then Saturn and it's
rings. . ." row -2 }
select { object "Saturn" }
goto { time 15 distance 10 }
wait { duration 15.0 }
orbit { axis [ 0 1 0 ] rate 30 duration
15 }
wait { duration 2.0 }
print { text "Now Uranus . . ." row
-2 }
select { object "Uranus" }
goto { time 15 distance 10 }
wait { duration 15.0 }
orbit { axis [ 0 1 0 ] rate 30 duration
15 }
wait { duration 2.0 }
print { text "And Neptune . . ."
row -2 }
select { object "Neptune" }
goto { time 15 distance 10 }
wait { duration 15.0 }
orbit { axis [ 0 1 0 ] rate 30 duration
15 }
wait { duration 2.0 }
print { text "At last, Pluto . .
." row -2 }
select { object "Pluto" }
goto { time 15 distance 10 }
wait { duration 15.0 }
orbit { axis [ 0 1 0 ] rate 30 duration
15 }
wait { duration 2.0 }
print { text "And we head back home
to Earth." row -2 }
select { object "Sol/Earth" }
goto { time 25 distance 10 }
wait { duration 25.0 }
orbit { axis [ 0 1 0 ] rate 30 duration
20 }
wait { duration 2.0 }
renderflags { clear "orbits" }
labels { clear "planets|moons" }
print { text "The End." row -2 }
wait { duration 3.0 }
}
# End of script ----------------------------------------------------
|