Sun vs. Planets - size comparison script
Posted: 13.11.2003, 22:47
*****************************************
*
* EDITED NOV 23, 2003:
*
* Displayed code is now version 1.0.4.
*
* Script file URL now points to version 1.0.4.
*
*****************************************
Howdy Everyone,
Here is a slightly modified version of Christoria's 2 million km comparison script, ready for testing. Please report bugs here so we can modify the posted script code for everyone else.
Thank you!
-Don G.
-----------------------------------------
Added:
If you prefer to download the script file, here is a direct link to it: http://www.donandcarla.com/Celestia/cel_scripting/SunAndPlanetsSizeComparison_1_0_4.cel.txt. Just right-click and save. When you save the file, remove the trailing ".txt" part of it.
And here is my Celestia web page with other .CEL script files: http://www.donandcarla.com/Celestia/
-----------------------------------------
*
* EDITED NOV 23, 2003:
*
* Displayed code is now version 1.0.4.
*
* Script file URL now points to version 1.0.4.
*
*****************************************
Howdy Everyone,
Here is a slightly modified version of Christoria's 2 million km comparison script, ready for testing. Please report bugs here so we can modify the posted script code for everyone else.
Thank you!
-Don G.
-----------------------------------------
Added:
If you prefer to download the script file, here is a direct link to it: http://www.donandcarla.com/Celestia/cel_scripting/SunAndPlanetsSizeComparison_1_0_4.cel.txt. Just right-click and save. When you save the file, remove the trailing ".txt" part of it.
And here is my Celestia web page with other .CEL script files: http://www.donandcarla.com/Celestia/
-----------------------------------------
Code: Select all
{
#------------------------------------------------------------------------+
# |
# FileName: SunAndPlanetsSizeComparison_1_0_4.cel |
# FileType: Celestia .CEL Script (See http://www.shatters.net/celestia/) |
# |
# PostDate: October 31, 2003 (original posting date) |
# Version: 1.0.4 |
# Last Mod: Nov 22, 2003 |
# |
# Purpose: Display our solar system planets to compare their size to |
# the sun, at a distance of two million km. |
# |
# Author: Christoria (User=christoria on the Celestia Forums): |
# See http://shatters.net/forum/viewforum.php?f=9 |
# |
# License: Free for personal use. For any other use, contact Author. |
# |
#------------------------------------------------------------------------+
# Modified by Don Goyette (User=don on the Celestia Forums) on November |
# 13, 2003 to move some code from inside of "goto...wait" and "print... |
# wait" statements, to outside of those statements. Along with a few |
# other changes and additions. |
# |
# Modified by Bob Hegwood on Nov 16, 2003 to obtain more accurate two |
# million km planet distances, and made a couple of spelling changes. |
# |
# Modified by Don Goyette on November 17, 2003. More text changes and |
# additions, and put back a couple of things that Bob changed, since |
# this version is for the basic Celestia distribution package and his |
# version is for the planet add-ons he has installed on his system. |
# |
# Modified by Bob Hegwood on Nov 22, 2003 for distance modifications |
# made necessary by changes in planetary radii. Made minor text changes. |
#------------------------------------------------------------------------+
#------------------------------------------------------------------------+
# Setup |
#------------------------------------------------------------------------+
# Do not render the following objects...
renderflags { clear "orbits|constellations|comettails|boundaries|markers" }
renderflags { clear "eclipseshadows|pointstars|nightmaps|galaxies" }
renderflags { clear "planets|stars" }
# Render the following objects...
renderflags { set "cloudmaps|ringshadows" }
# Do not label the following objects...
labels { clear "planets|moons|spacecraft|asteroids|constellations|stars|galaxies" }
# Set Ambient Light Level (0.0 to 1.0 is a good Lo-Hi range)...
set { name "AmbientLightLevel" value 0.40 }
# Set Field of View (Celestia 1.3.1 dflt = 25)...
set { name "FOV" value 27.5 }
# Set visible star Magnitude (Celestia UI: 0.8 to 15.2, dflt=6.0)...
setvisibilitylimit { magnitude 8.0 }
# Set the time multiplier...
timerate { rate 1 }
# Set Date and Time...
time { jd 2452950.34359 }
#------------------------------------------------------------------------+
# Script Body |
#------------------------------------------------------------------------+
#
# At this point, stars and planets are NOT displayed, so we can put a nice
# text description of the script on the screen.
#
# The length of sentences are defined for an 800x600 display, which is about
# 50 to 60 characters.
#
wait { duration 3 }
print { origin "topleft" row 11 column 1 duration 18
text "Welcome to the Sun vs. Planets size comparison script.\n\nThis script first displays our Sun at a distance of 2\nmillion km. Then, it displays each of the planets in\nour solar system, at approximately the same 2 million\nkm distance, for size comparison.\n\n(To end this script at any time, press the ESC key.)" }
wait { duration 18 }
print { origin "topleft" row 11 column 1 duration 15
text "Before we get started, lets remove a little distraction ...\n\nPress the 'v' key on your keyboard until there is NO text\ndisplayed in any of the window corners ..." }
wait { duration 13 }
print { origin "topleft" row 11 column 1 duration 15
text "Also, if you happen to see small green text (Locations)\ndisplayed on the screen when we visit a planet, press\nthe '&' key to turn this off." }
wait { duration 13 }
#------------------------------------------------------------------------+
# Start at Sol, our Sun |
#------------------------------------------------------------------------+
select { object "Sol" }
print { row -4 column 1 duration 5 text "First stop, our Sun ..." }
wait { duration 5 }
# Define the starting Coordinate System, Camera Position and Orientation...
setframe { ref "Sol" coordsys "universal" }
setposition {
base [ 0.003261867430402947 -3.555640827885698e-007 6.174173227554632e-007 ]
offset [ 1.25510712933874e-013 5.421010862427522e-019 3.236343484869231e-017 ] }
setorientation {
angle 1.99055
axis [ -0.0333064 -0.340652 0.939599 ] }
goto { time 2 distance 10.05999 }
wait { duration 2 }
# Rotate the Sun so it shows a smiley face...
rotate { duration 0.11
rate 1000
axis [0 0 1] }
wait { duration 0.11 }
renderflags { set "stars|planets" } # Turn on stars
# Speed up time so we can see the Sun rotating...
timerate { rate 15000.0 }
print { text "There's our huge Sun, smiling down on us.\nCurrent distance: 7 million km." row -5 column 2 duration 9 }
wait { duration 9 }
print { text "Let's zoom in to 2 million km -- our comparison distance.\nThen, we'll observe each of the planets from about the\nsame distance."
row -5 column 2 duration 9}
wait { duration 9 }
changedistance { duration 3.15 rate -0.5 }
wait { duration 3.15 }
wait { duration 2 }
# Since we sped up time, reset it...
timerate { rate 1.0 }
time { jd 2452950.34359 }
# Turn off star display so we can display some text...
renderflags { clear "stars" }
print { text "Now THAT is HUGE!!!\nEven at a distance of 2 MILLION km! WOW!"
row -4 column 1 duration 7 }
wait { duration 7 }
# Rotate the Sun back to it's normal position...
rotate { duration 0.11
rate -1000
axis [0 0 1] }
wait { duration 0.11 }
#------------------------------------------------------------------------+
# Mercury |
#------------------------------------------------------------------------+
# NOTE: Since white text does not show up on a white sun, we have to
# move the sun out of the way before displaying any text...
select { object "Mercury" }
center { time 1 }
print { text "Next stop: Mercury, planet #1 ..."
row -4 column 2 duration 3 }
wait { duration 4 }
follow { }
goto { time 3 distance 8 }
renderflags { set "stars" } # (We turned this off above)
wait { duration 3 }
# Speed up time so we can see the planet rotating...
timerate { rate 70000.0 }
print { text "There's Mercury, at a pretty close distance of only\n17 thousand km."
row -4 column 2 duration 8 }
wait { duration 8 }
print { text "Did you know that Mercury's surface temperatures range\nfrom 90 degrees K to 700 degrees K. Now that's HOT!"
row -4 column 2 duration 8 }
wait { duration 8 }
print { text "Let's go to 2 million km away, like we did at the sun ..."
row -4 column 2 duration 6 }
wait { duration 6 }
goto { time 5 distance 820.688 }
wait { duration 5 }
# Since we sped up time, reset it...
timerate { rate 1.0 }
time { jd 2452950.34359 }
print { text "Wow! This is the same 2 million km distance we just viewed\nthe sun at, and Mercury is just a tiny little dot!" row -4 column 2 duration 8 }
wait { duration 8 }
print { text "Now let's check out Venus, planet #2.\nWatch Mercury go bye bye ..."
row -4 column 2 duration 7 }
labels { set "planets" } # (To see where Mercury is)
wait { duration 7 }
#------------------------------------------------------------------------+
# Venus |
#------------------------------------------------------------------------+
select { object "Venus" }
center { time 2 }
follow { }
goto { time 5 distance 8 }
wait { duration 5 }
labels { clear "planets" }
# Speed up time so we can see the planet rotating...
timerate { rate 6000.0 }
print { text "Here's Venus, at a distance of 42 thousand km. Notice\nhow it rotates in the -opposite- direction as the other\nplanets. This is called a 'retrograde' rotation."
row -5 column 2 duration 15 }
wait { duration 15 }
print { text "Let's go out to 2 million km ..."
row -4 column 2 duration 5 }
wait { duration 5 }
goto { time 6 distance 331.5}
wait { duration 6 }
# Since we sped up time, reset it...
timerate { rate 1.0 }
time { jd 2452950.34359 }
print { text "It's almost gone, but you can still see it! Quite small\ncompared to the Sun at 2 million km, wouldn't you say?"
row -4 column 2 duration 7 }
wait { duration 7 }
print { text "Next, let's go to our home planet, Earth:\nthird rock from the Sun, planet #3 ..."
row -4 column 2 duration 7 }
wait { duration 7 }
#------------------------------------------------------------------------+
# Earth |
#------------------------------------------------------------------------+
select { object "Earth" }
center { time 1 }
follow { }
goto { time 5 distance 8 }
wait { duration 5 }
# Speed up time so we can see the planet rotating...
timerate { rate 1000 }
print { text "Our Big Blue Marble sure is beautiful.\nWe're at a distance of 45 thousand km right now."
row -4 column 2 duration 8 }
wait { duration 8 }
print { text "How many Earths do you think can fit inside the Sun?"
row -4 column 2 duration 7 }
wait { duration 7 }
print { text "With a radius of 6,378 km, over one million Earths\ncan fit inside the Sun!!! WOW!"
row -4 column 2 duration 7 }
wait { duration 7 }
print { text "Time for the 2 million km comparison ..."
row -4 column 2 duration 4 }
wait { duration 4 }
goto { time 6 distance 314.65 }
wait { duration 6 }
# Since we sped up time, reset it...
timerate { rate 1.0 }
time { jd 2452950.34359 }
print { text "Now at a distance of 2 million km -- Pretty small.\nHere's a little more Earth trivia for you ..."
row -4 column 2 duration 7 }
wait { duration 7 }
print { text "Earth's mass is 6,000,000,000,000,000,000,000,000 kgs!\nThat's 6x10E24 kgs, which is how scientists and engineers\nwrite that huge number."
row -5 column 2 duration 10 }
wait { duration 10 }
print { text "Let's set off for Mars, the 'Red planet', #4 ..."
row -4 column 2 duration 5 }
wait { duration 5 }
#------------------------------------------------------------------------+
# Mars |
#------------------------------------------------------------------------+
select { object "Mars" }
center { time 1 }
follow { }
goto { time 5 distance 8 }
wait { duration 5 }
# Speed up time so we can see the planet rotating...
timerate { rate 1500 }
print { text "There's Mars, and now you know why it's called\nthe 'Red planet'. We're at a distance of 24 thousand km."
row -4 column 2 duration 10 }
wait { duration 10 }
print { text "Mars is where the Sojourner Rover landed, on the 4th of July,\n1997. It was a small, 6-wheeled, remotely controlled vehicle."
row -4 column 2 duration 10 }
wait { duration 10 }
print { text "Out to 2 million km, shall we?"
row -4 column 2 duration 5 }
wait { duration 5 }
goto { time 6 distance 590.4 }
wait { duration 5 }
# Since we sped up time, reset it...
timerate { rate 1.0 }
time { jd 2452950.34359 }
print { text "We're still not able to see much of this planet either."
row -4 column 2 duration 5 }
wait { duration 5 }
#------------------------------------------------------------------------+
# Jupiter |
#------------------------------------------------------------------------+
print { text "Now, on to some bigger planets -- much bigger --\nthe Gas Giants. First stop is Jupiter, planet #5 ..."
row -4 column 2 duration 10 }
wait { duration 10 }
select { object "Jupiter" }
center { time 1 }
follow { }
goto { time 8 distance 8 }
wait { duration 8 }
# Speed up time so we can see the planet rotating...
timerate { rate 2000 }
print { text "We are 500 thousand km away! Remember when we\nlooked at Mercury? It was a mere 17 thousand km away."
row -4 column 2 duration 10 }
wait { duration 10 }
timerate { rate 800 }
print { text "The Great Red Spot on Jupiter is actually a huge (23,000\nkm by 12,400 km) hurricane-like storm that has lasted\nfor over 300 years."
row -5 column 2 duration 9 }
wait { duration 9 }
print { text "Will Jupiter look as big as the Sun at 2 million km away?\nLet's see ..."
row -4 column 2 duration 7 }
wait { duration 7 }
goto { time 3 distance 29.02 }
wait { duration 3 }
timerate { rate 1000 }
print { text "Hey, we can still see it! Jupiter is the largest\nplanet in our Solar System."
row -4 column 2 duration 9 }
wait { duration 9 }
#------------------------------------------------------------------------+
# Saturn |
#------------------------------------------------------------------------+
select { object "Saturn" }
print { text "And now, to the planet with the best rings:\nSaturn, planet #6 ..."
row -4 column 2 duration 7 }
wait { duration 7 }
# Since we sped up time, reset it...
timerate { rate 1.0 }
time { jd 2452950.34359 }
center { time 1 }
follow { }
goto { time 8 distance 8 up [ 0 1 0 ] upframe "equatorial" }
wait { duration 8 }
print { text "Saturn, at 422 thousand km away.\nWhat a cool planet!"
row -4 column 2 duration 5 }
wait { duration 5 }
orbit { axis [ 0 1 0 ] rate 30 duration 12 }
print { text "We could watch this one for a while, but\n2 million km coming up ..."
row -4 column 2 duration 7 }
wait { duration 7 }
goto { time 6 distance 34.16 }
wait { duration 6 }
# Speed up time so we can see the planet rotating...
timerate { rate 1500 }
print { text "Still looks cool.\nLike Jupiter, Saturn is also a Gas Giant."
row -4 column 2 duration 9 }
wait { duration 9 }
print { text "Want some more trivia?"
row -4 column 2 duration 5 }
wait { duration 5 }
print { text "Saturn is the only planet, that if put in water ...\nwould float!"
row -4 column 2 duration 7 }
wait { duration 7 }
print { text "Tell me that ain't cool.\nSaturn is definitely cool."
row -4 column 2 duration 7 }
wait { duration 7 }
#------------------------------------------------------------------------+
# Uranus |
#------------------------------------------------------------------------+
select { object "Uranus" }
print { text "Now let's check out Uranus, planet #7.\nThat's pronounced 'YOOR-uh-nus' ..."
row -4 column 2 duration 7 }
wait { duration 7 }
# Since we sped up time, reset it...
timerate { rate 1.0 }
time { jd 2452950.34358 }
center { time 1 }
follow { }
goto { time 5 distance 8 }
wait { duration 5 }
# Speed up time so we can see the planet rotating...
timerate { rate 1000 }
print { text "Uranus, at a distance of 179 thousand km.\nCan you see how the planet is tilted on it's side?"
row -4 column 2 duration 10 }
wait { duration 10 }
print { text "It might look pretty, but uranus has surface winds of\nup to 600 km per hour! That's a bit windy for us humans."
row -4 column 2 duration 8 }
wait { duration 8 }
print { text "Betcha it stays blue at 2 million km.\nWhat do YOU think? . . ."
row -4 column 2 duration 8 }
wait { duration 8 }
goto { time 5 distance 79.25 }
wait { duration 5 }
# Since we sped up time, reset it...
timerate { rate 1.0 }
time { jd 2452950.34359 }
print { text "Yep, it's still blue. Told ya."
row -4 column 2 duration 5 }
wait { duration 5 }
#------------------------------------------------------------------------+
# Neptune |
#------------------------------------------------------------------------+
select { object "Neptune" }
print { text "It's time to tune into Neptune, planet #8 on our charts ...\nIsn't this fun?"
row -4 column 2 duration 7 }
wait { duration 7 }
center { time 8 }
follow { }
goto { time 3 distance 8 }
wait { duration 3 }
# Speed up time so we can see the planet rotating...
timerate { rate 800 }
print { text "What a cool blue!\nWe're at 173 thousand km, which is the closest\nwe've started with the Gas Giants."
row -5 column 2 duration 9 }
wait { duration 9 }
print { text "That dark spot on Neptune is about the size of our\nentire planet Earth."
row -4 column 2 duration 7 }
wait { duration 7 }
print { text "Neptune's diameter is about 4 times the diameter of Earth."
row -4 column 2 duration 7 }
wait { duration 7 }
print { text "Here we go ... 2 million km ..."
row -4 column 2 duration 5 }
wait { duration 5 }
goto { time 5 distance 81.78 }
wait { duration 5 }
# Since we sped up time, reset it...
timerate { rate 1.0 }
time { jd 2452950.34359 }
print { text "We can still see it."
row -4 column 2 duration 5 }
wait { duration 5 }
#------------------------------------------------------------------------+
# Pluto |
#------------------------------------------------------------------------+
select { object "Pluto" }
print { text "And finally, we'll visit Pluto, planet #9,\nthe smallest planet in our Solar System ..."
row -4 column 2 duration 7 }
wait { duration 7 }
center { time 1 }
follow { }
goto { time 5 distance 8 }
wait { duration 5 }
# Speed up time so we can see the planet rotating...
timerate { rate 8000 }
print { text "We are only 8 thousand km away.\nAt Mercury, we started at 17 thousand km.\nWatch for Charon, Pluto's moon ..."
row -5 column 2 duration 15 }
wait { duration 15 }
print { text "The radius of Pluto is a mere 1151 km, which is SMALLER\nthan Earth's moon! Now that is one tiny planet!"
row -5 column 2 duration 7 }
wait { duration 7 }
print { text "Notice how Pluto rotates in the -opposite- direction\nas the other planets, just like Venus, and it's axis\nis tilted like Earth's."
row -5 column 2 duration 8 }
wait { duration 7 }
print { text "Say adios, ciao, goodbye ...\n2 million km coming right up ..."
row -4 column 2 duration 7 }
wait { duration 7 }
goto { time 5 distance 1739.0 }
wait { duration 5 }
# Since we sped up time, reset it...
timerate { rate 1.0 }
time { jd 2452950.34359 }
print { text "Oh, and since Pluto is the furthest planet from the Sun,\nit takes 250 Earth years to go around the Sun once."
row -5 column 2 duration 9 }
wait { duration 9 }
#------------------------------------------------------------------------+
# Time to go Home |
#------------------------------------------------------------------------+
print { text "There you have it:\n\nJupiter is HUGE!\nPluto is ... Hey, where'd Pluto go???"
row -7 column 2 duration 10 }
wait { duration 10 }
select { object "Earth" }
follow { }
center { time 10 }
print { text "As you just saw, the planets in our Solar System vary\ngreatly in size. From tiny little Pluto to huge Jupiter."
row -4 column 2 duration 10 }
wait { duration 10 }
goto { time 20 distance 8 }
print { text "However, when it comes to size, none of our planets\ncompares to the Sun. Remember how it filled the display\nat 2 million km? None of the planets even came close!\n\nWhat a magnificent Solar System we live in!"
row -7 column 2 duration 18 }
wait { duration 18 }
print { text "And here we are, back at our home planet, Earth.\n... So go home already."
row -4 column 2 duration 10 }
wait { duration 10 }
#------------------------------------------------------------------------+
# The End |
#------------------------------------------------------------------------+
# Reset visible star Magnitude (Celestia UI: 0.8 to 15.2, dflt=6.0)...
setvisibilitylimit { magnitude 6.5 }
print { row -4 column 2 duration 5
text "We hope you enjoyed the Sun vs. Planet size comparison script." }
wait { duration 5 }
print { row -6 column 2 duration 10
text "Now that the script is finished, you can display text again.\n\nPress the 'v' key on your keyboard until the text you\nwant to see is displayed." }
wait { duration 10 }
# Reset Field of View (Celestia 1.3.1 dflt = 25)...
set { name "FOV" value 25.0 }
print { text "Press the '!' key to return to your current date and time."
row -4 column 2 duration 7 }
wait { duration 7 }
print { text "The script is now finished."
row -4 column 2 duration 5 }
wait { duration 5 }
}