Sorry for any inconvenience and at the very least all the posts...(I should have followed-up to my first post maybe...
ANyway here's the revised script...again only tested on Celestia 1.3.2pre10.
Jon
{
#
#------------------------------------------------------------------------
# Cassini Mission.cel V1.00:
#
#------------------------------------------------------------------------
#
renderflags {clear "orbits|constellations|comettails|boundaries"}
renderflags {clear "pointstars|nightmaps|galaxies|markers"}
renderflags {set "cloudmaps|eclipseshadows|atmospheres|nightmaps"}
labels {clear "planets|moons|spacecraft|asteroids|constellations|stars|galaxies"}
set {name "AmbientLightLevel" value 0.40}
set {name "FOV" value 40.0}
time {jd 2450736.89792}
setframe {
ref "#0/Cassini"
target "Sol/Earth"
coordsys "lock"
}
select {object "#0/Cassini"}
center{}
print {text "At any time you can use the space bar to pause or press esc to abort." row -4 column 1 duration 5.0}
wait {duration 5}
goto { time 3.0}
wait {duration 6.0}
print {text "The Cassini Mission to Saturn began from Earth on Oct 15 1997." row -4 column 1 duration 16.0}
wait {duration 5}
orbit {axis [0 1 0] rate 30 duration 9.0}
wait {duration 2}
select {object "Sol/Earth"}
timerate {rate 300}
wait {duration 5}
timerate {rate 1000}
orbit {axis [0 1 0] rate -20 duration 2.5}
timerate {rate 2000}
print {text "Due to payload constraints, only an optimum amount of fuel is loaded\non board the spacecraft." row -5 column 1 duration 12.0}
wait {duration 15}
print {text "So, to travel to the outer planets,\nwe utilize the gravity of the planets to gain enough momentum\nto get to our destination." row -5 column 1 duration 12}
wait {duration 14}
print {text "This is called 'gravity assist'." row -3 duration 8}
wait {duration 10}
print {text "Cassini used gravity assist 4 times on it's way to Saturn!" row -5 column 1 duration 10}
timerate {rate 10000}
wait {duration 12}
print {text "Twice it flew by Venus..." row -5 column 1 duration 15.0}
wait {duration 5}
print {text "...then, once past the Earth..." row -5 column 1 duration 10.0}
wait {duration 5}
print {text "...and finally, it would flyby Jupiter." row -5 column 1 duration 7.0}
wait {duration 9}
print {text "So, let's go to our first destination...Venus!" row -5 column 1 duration 9.0}
wait {duration 9}
timerate {rate 50000}
print {text "Now it took a little over 6 months for Cassini to reach Venus..." row -5 column 1 duration 8.0}
wait {duration 8}
print {text "...so, let's jump forward in time a bit..." row -4 column 1 duration 8.0}
orbit {axis [0 1 0] rate -30 duration 6.0}
select {object "Sol/Venus"}
timerate {rate 100000}
time {jd 2450890.33333}
set {name "FOV" value 40.0}
wait {duration 5}
print {text "In a moment you'll see the planet Venus enter\nour field of view from the top-right portion of the screen." row -4 column 1 duration 12.0}
wait {duration 12}
print {text "Cassini's trajectory established a flyby of Venus at a distance of about 300 kilometers..." row -5 column 1 duration 10.0}
wait {duration 10}
print {text "That's only about 190 miles from the surface...\nthe closest of all Cassini's planned flybys!" row -4 column 1 duration 7.0}
wait {duration 5}
timerate {rate 50000}
wait {duration 3}
timerate {rate 20000}
setframe {
ref "#0/Cassini"
target "Sol/Venus"
coordsys "lock" }
wait {duration 2}
timerate {rate 10000}
wait {duration 3}
timerate {rate 3000}
wait {duration 11}
timerate {rate 10000}
print {text "Cassini was now poised to return to Venus in 14 months for a second flyby \n on June 24, 1999." row -5 column 1 duration 9.0}
wait {duration 10}
timerate {rate 1500000}
print {text "This second flyby of Venus would be at distance of 700km...\nor about 450 miles." row -5 column 1 duration 10}
wait {duration 23}
timerate {rate 500000}
wait {duration 2}
timerate {rate 100000}
wait {duration 6}
timerate {rate 50000}
wait {duration 7}
timerate {rate 10000}
wait {duration 7}
timerate {rate 3000}
wait {duration 10}
timerate {rate 10000}
wait {duration 10}
print {text "And now it's just a two-month trip to flyby the Earth." row -5 column 1 duration 8}
orbit {axis [0 1 0] rate -21 duration 5.5}
orbit {axis [1 0 0] rate 10 duration 2}
wait {duration 2}
select {object "Sol/Earth"}
timerate {rate 150000}
print {text "The flyby of Earth would be at a distance of 1200km...\nor about 750 miles." row -5 column 1 duration 8}
wait {duration 11}
setframe {
ref "#0/Cassini"
target "Sol/Earth"
coordsys "lock" }
print {text "An interesting tidbit...\nThere were some protests at that time\nwarning about Cassini's plutonium powerplant\nand the fear of an accidental collision with Earth." row -6 column 1 duration 14}
wait {duration 14}
timerate {rate 50000}
wait {duration 11}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 5}
timerate {rate 2000}
wait {duration 12}
print {text "So, it's now been almost two years since the launch of Cassini\nand in essence, we are just leaving Earth...only now with the added momentum gained\nby the three gravity assist flybys." row -5 column 1 duration 20}
wait {duration 15}
timerate {rate 10000}
wait {duration 5}
print {text "And now it's on to Jupiter..." row -5 column 1 duration 8}
wait {duration 3}
orbit {axis [0 1 0] rate -45 duration 5.2}
orbit {axis [1 0 0] rate -10 duration 2.5}
setframe {
ref "#0/Cassini"
target "Sol/Jupiter"
coordsys "lock" }
select {object "Sol/Jupiter"}
wait {duration 3}
labels {set "planets"}
wait {duration 13}
labels {clear "planets"}
timerate {rate 1500000}
wait {duration 5}
print {text "The closest we get to Jupiter is about 10,000,000 km." row -5 column 1 duration 12}
wait {duration 23}
timerate {rate 100000}
select {object "0#/Galileo"}
mark {object "#0/Galileo"}
renderflags {set "markers"}
print {text "The marked object is the Galileo probe which was\nstill on it's mission in orbit around Jupiter!" row -5 column 1 duration 15}
wait {duration 25}
renderflags {clear "markers"}
setframe {
ref "#0/Cassini"
target "Sol/Saturn"
coordsys "lock" }
print {text "And now to our final destination...\nthe 'Jewel of the Solar System'...Saturn." row -5 column 1 duration 8}
wait {duration 8}
select {object "#)/Cassini"}
orbit {axis [0 1 0] rate 30 duration 4}
wait {duration 3}
timerate {rate 150000}
wait {duration 5}
print {text "We'll move forward in time again...to the flyby of Pheobe...\none of Saturn's moons." row -5 column 1 duration 10}
wait {duration 8}
# ------------------------Saturn arrival---------------------
timerate {rate 1}
time {jd 2453168.16667}
setframe {
ref "#0/Cassini"
target "Saturn/Pheobe"
coordsys "lock"
}
select {object "#0/Cassini"}
goto {}
# Only used for alignnment when testing Saturn segment alone.
# orbit {axis [0 1 0] rate -10 duration 1.5}
# orbit {axis [1 0 0] rate 10 duration 1}
orbit {axis [0 1 0] rate 10 duration 3}
changedistance {duration 2 rate 0.5 }
select {object "Saturn/Pheobe"}
timerate {rate 200}
print {text "Several weeks before Cassini arrived at Saturn\nit flew by one of Saturn's moons named Pheobe." row -5 column 1 duration 10}
wait {duration 12}
print {text "One interesting fact about Pheobe is that is has a 'retrograde' orbit." row -5 column 1 duration 8}
wait {duration 10}
print {text "This means it orbits Saturn in a clockwise direction...\nmost objects in our Solar System orbit in a counter-clockwise direction." row -5 column 1 duration 10}
wait {duration 12}
print {text "One possible theory to explain this is that Pheobe was an asteroid\nthat was somehow captured by Saturn's gravity." row -5 column 1 duration 10}
wait {duration 12}
print {text "Cassini passed within several thousand kilometers of Pheobe\non June 11, 2004." row -5 column 1 duration 10}
wait {duration 12}
print {text "But there's no stopping us now...\nwe're on schedule to arrive at Saturn on June 29, 2004." row -5 column 1 duration 10}
wait {duration 5}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
set {name "FOV" value 50.0}
select {object "#0/Cassini"}
timerate {rate 100000}
wait {duration 10}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 4}
timerate {rate 10000}
wait {duration 4}
print {text "The point at which time Cassini passes through the ring-plane of Saturn\nis called SOI or Saturn Orbital Insertion." row -5 column 1 duration 10}
timerate {rate 5000}
wait {duration 5}
chase {}
timerate {rate 1000}
wait {duration 10}
print {text "Shortly after SOI Cassini fired it's thruster for 90 minutes\nin order to slow down enough to be captured by Saturn's gravity." row -5 column 1 duration 8}
timerate {rate 500}
wait {duration 16}
timerate {rate 500}
wait {duration 5}
print {text "This is about where Cassini made it's closest approach\nto Saturn-approximately 19,000km, or about 12,000 miles!" row -5 column 1 duration 8}
wait {duration 12}
orbit {axis [0 1 0] rate -20 duration 8}
wait {duration 10}
timerate {rate 1000}
wait {duration 5}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
timerate {rate 5000}
wait {duration 5}
timerate {rate 10000}
wait {duration 5}
print {text "So there you have it...Cassini in orbit!" row -5 column 1 duration 10}
wait {duration 5}
print {text "This script is finished...press esc to abort." row -5 column 1 duration 10}
wait {duration 20}
}
Cassini Script--corrected
Howdy Jon,
Very enjoyable script. Thank you for sharing it with us!
A couple of notes...
* If known, it might be interesting to know how much velocity was gained during each gravity assist.
* At the end, the user does not need to press ESC to abort the script. All scripts (Cel and Celx) end automatically at the last statement, leaving all controls where the script defined them.
* Before ending the script, it might be a good idea to change the timerate back to 1 (normal) -- but don't reset the date, so we can still see Cassini in orbit.
Keep up the great work!
Very enjoyable script. Thank you for sharing it with us!
A couple of notes...
* If known, it might be interesting to know how much velocity was gained during each gravity assist.
* At the end, the user does not need to press ESC to abort the script. All scripts (Cel and Celx) end automatically at the last statement, leaving all controls where the script defined them.
* Before ending the script, it might be a good idea to change the timerate back to 1 (normal) -- but don't reset the date, so we can still see Cassini in orbit.
Keep up the great work!
-Don G.
My Celestia Scripting Resources page
Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.
My Celestia Scripting Resources page
Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.
-
Topic authorJon R
Revised Cassini Script and shorter version
Hello,
First, thanks Don for your feedback.
This is the revised script for the Cassini Mission….(Cassinimission101.cel)
As suggested many things were added and tweaked:
1. The stats for the flyby accelerations are included. (And a few other general stats as well.)
(But I haven’t been able to find anything on the 2nd flyby of Venus.)
2. An orbit of Saturn was added including the first flyby of Titan.
3. Ending the script with instructions on continuing manually.
4. Added several more swivel camera movements. (at Phoebe and Saturn)
5. Cleaned up grammar and spelling. (Hopefully!)
6. Tried to optimize timing so that reading is more relaxed while not having to wait so long between events.
In addition I’ve added a script that starts at the Phoebe encounter onward...only. (cassiniarrival101.cel) Sometime I just want to see the Saturn part and don’t want to wait.
Here are the two scripts....
#
#------------------------------------------------------------------------
# Cassini Mission.cel V1.01:
#
#------------------------------------------------------------------------
#
renderflags {clear "orbits|constellations|comettails|boundaries"}
renderflags {clear "pointstars|nightmaps|galaxies|markers"}
renderflags {set "cloudmaps|eclipseshadows|atmospheres|nightmaps"}
labels {clear "planets|moons|spacecraft|asteroids|constellations|stars|galaxies"}
set {name "AmbientLightLevel" value 0.40}
set {name "FOV" value 50.0}
time {jd 2450736.89792}
setframe {
ref "#0/Cassini"
target "Sol/Earth"
coordsys "lock"
}
select {object "#0/Cassini"}
center{}
print {text "At any time you can use the space bar to pause or press esc to abort." row -4 column 1 duration 5.0}
wait {duration 5}
goto { time 3.0}
print {text "The Cassini Mission to Saturn launched from Earth on Oct 15, 1997." row -4 column 1 duration 16.0}
wait {duration 5}
orbit {axis [0 1 0] rate 30 duration 9.0}
select {object "Sol/Earth"}
wait {duration 2}
timerate {rate 300}
wait {duration 3}
orbit {axis [0 1 0] rate -10 duration 5.0}
wait {duration 5}
print {text "Cassini is one of the largest interplanetary spacecraft ever constructed by NASA.\nIt stands two-stories tall and at launch had a mass of 5,655 kg,\nof which 3,132 kg were propellant." row -5 column 1 duration 15.0}
wait {duration 17}
timerate {rate 1000}
print {text "Cassini, like other long-range spacecraft, used the technique of\n 'gravity assist' flybys to travel to the outer planets." row -5 column 1 duration 12.0}
wait {duration 14}
timerate {rate 2000}
print {text "These flybys use the gravitational pull of the target planets to impart more\nspeed to the spacecraft to help it reach it's destination while using less propellant." row -5 column 1 duration 14}
wait {duration 16}
print {text "Cassini used gravity assist flybys 4 times on it's way to Saturn!" row -5 column 1 duration 10}
timerate {rate 5000}
wait {duration 12}
print {text "Two flybys of Venus..." row -5 column 1 duration 6.0}
wait {duration 7}
print {text "...and one flyby each of Earth and Jupiter." row -5 column 1 duration 7.0}
wait {duration 10}
print {text "The propellant savings due to these gravity assists is no small amount...." row -5 column 1 duration 10}
wait {duration 12}
print {text "In fact, the gravity assists from the two flybys of Venus and the\none flyby of Earth provide the equivalent of more than 68,000 kg (75 tons) of rocket fuel!" row -5 column 1 duration 15}
wait {duration 20}
print {text "So, let's follow Cassini to it's first flyby of Venus." row -5 column 1 duration 7.0}
wait {duration 10}
timerate {rate 50000}
print {text "It took a little over 6 months for Cassini to reach Venus,\nso let's jump forward a bit.." row -5 column 1 duration 8.0}
orbit {axis [0 1 0] rate -29 duration 6.0}
select {object "Sol/Venus"}
timerate {rate 1}
time {jd 2450890.33333}
set {name "FOV" value 40.0}
wait {duration 5}
wait {duration 1}
timerate {rate 100000}
wait {duration 5}
print {text "In a moment you'll see the planet Venus enter\nour field of view from the top-right portion of the screen." row -4 column 1 duration 9.0}
wait {duration 10}
print {text "Cassini's trajectory prepared it for a flyby of Venus\nat a distance of about 300 kilometers, or about 190 miles!\nThe closest of all Cassini's planned flybys." row -5 column 1 duration 15.0}
wait {duration 16}
print {text "Cassini reached Venus on April 26, 1998." row -4 column 1 duration 9.0}
wait {duration 1}
timerate {rate 50000}
wait {duration 3}
timerate {rate 20000}
setframe {
ref "#0/Cassini"
target "Sol/Venus"
coordsys "lock" }
wait {duration 2}
timerate {rate 10000}
wait {duration 3}
timerate {rate 3000}
wait {duration 11}
timerate {rate 10000}
print {text "Venus' gravity gave Cassini a boost in speed of about 7 km/sec.\nor about 15,500 miles per hour!" row -5 column 1 duration 15}
wait {duration 17}
print {text "Cassini was now poised to return to Venus in 14 months for a second flyby \n on June 24, 1999." row -5 column 1 duration 12.0}
wait {duration 10}
timerate {rate 3000000}
wait {duration 10}
timerate {rate 1500000}
print {text "This second flyby of Venus would be at a distance of 700km...\nor about 450 miles." row -5 column 1 duration 10}
wait {duration 3}
timerate {rate 500000}
wait {duration 2}
timerate {rate 100000}
wait {duration 6}
timerate {rate 50000}
wait {duration 4}
timerate {rate 10000}
wait {duration 4}
timerate {rate 3000}
wait {duration 11}
timerate {rate 10000}
wait {duration 10}
print {text "It took two more months to reach Earth." row -5 column 1 duration 8}
orbit {axis [0 1 0] rate -21 duration 5.5}
orbit {axis [1 0 0] rate 10 duration 2}
wait {duration 2}
select {object "Sol/Earth"}
setframe {
ref "#0/Cassini"
target "Sol/Earth"
coordsys "lock" }
timerate {rate 150000}
print {text "The flyby of Earth would be at a distance of 1200km,or about 750 miles,\nadding 5.5 km/sec or 12,000 miles per hour to the speed of Cassini." row -5 column 1 duration 18}
wait {duration 20}
print {text "An interesting tidbit...\nThere were some protests at that time of the flyby,\nconcerning the 72 pounds of plutonium-238 fuel aboard Cassini\nand the possibility of a collision with Earth." row -6 column 1 duration 18}
wait {duration 5}
timerate {rate 50000}
wait {duration 11}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 5}
timerate {rate 2000}
wait {duration 12}
print {text "So, it's now been 22 months since the launch of Cassini\nand in essence, we are just now leaving Earth...only now, boosted by the\neffects of the three gravity assist flybys." row -5 column 1 duration 20}
wait {duration 15}
timerate {rate 10000}
wait {duration 5}
print {text "And now it's on to Jupiter..." row -5 column 1 duration 8}
wait {duration 3}
orbit {axis [0 1 0] rate -45 duration 5.2}
orbit {axis [1 0 0] rate -10 duration 1.8}
setframe {
ref "#0/Cassini"
target "Sol/Jupiter"
coordsys "lock" }
select {object "Sol/Jupiter"}
wait {duration 3}
labels {set "planets"}
wait {duration 13}
labels {clear "planets"}
timerate {rate 1500000}
wait {duration 5}
print {text "We flyby Jupiter at a distance of approximately 9,700,000 km...\nand again gain an additional 2km/sec or 4,500 mile per hour boost." row -5 column 1 duration 12}
wait {duration 23}
timerate {rate 100000}
select {object "#0/Galileo"}
mark {object "#0/Galileo"
color [0 1 0] }
renderflags {set "markers"}
print {text "The marked object is the Galileo probe which was\nstill on it's mission in orbit around Jupiter!" row -5 column 1 duration 15}
wait {duration 25}
setframe {
ref "#0/Cassini"
target "Sol/Saturn"
coordsys "lock" }
print {text "And now to our final destination...Saturn." row -5 column 1 duration 8}
wait {duration 8}
select {object "#)/Cassini"}
renderflags {clear "markers"}
orbit {axis [0 1 0] rate 30 duration 4}
wait {duration 3}
select {object "Saturn"}
timerate {rate 150000}
wait {duration 5}
print {text "We'll move forward in time again...to the flyby of Phoebe...\none of Saturn's moons." row -5 column 1 duration 10}
wait {duration 8}
set {name "FOV" value 50.0}
# ------------------------Saturn arrival---------------------
timerate {rate 1}
time {jd 2453168.16667}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
select {object "#0/Cassini"}
goto {}
# Only used for alignnment when testing Saturn segment alone.
orbit {axis [1 0 0] rate 10 duration 2}
orbit {axis [0 1 0] rate 10 duration 3}
select {object "Saturn/Phoebe"}
timerate {rate 200}
print {text "Several weeks before Cassini arrived at Saturn\nit flew by one of Saturn's moons named Phoebe." row -5 column 1 duration 10}
wait {duration 12}
print {text "One interesting fact about Phoebe is that is has a 'retrograde' orbit." row -5 column 1 duration 8}
wait {duration 10}
print {text "This means it orbits Saturn in a clockwise direction...\nmost objects in our Solar System orbit in a counter-clockwise direction." row -5 column 1 duration 10}
wait {duration 12}
print {text "One theory suggests that Phoebe is perhaps an asteroid\nthat was captured by Saturn's gravity." row -5 column 1 duration 10}
wait {duration 12}
print {text "Cassini passed within several thousand kilometers of Phoebe\non June 11, 2004." row -5 column 1 duration 10}
select {object "Saturn/Phoebe"}
# select {object "#0/Cassini"}
wait {duration 8}
rotate {duration 10 rate -2.5 axis [-1 1 0]}
select {object "#0/Cassini"}
print {text "Let's now move forward in time to the arrival of Cassini at Saturn\non June 30, 2004." row -5 column 1 duration 10}
wait {duration 3}
rotate {duration 2.5 rate 10 axis [-1 1 0]}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
set {name "FOV" value 50.0}
select {object "Saturn"}
timerate {rate 100000}
wait {duration 10}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 3}
timerate {rate 10000}
wait {duration 3}
print {text "The point in time when Cassini passes through the ring-plane of Saturn\nis called SOI, or Saturn Orbital Insertion." row -5 column 1 duration 10}
timerate {rate 5000}
wait {duration 5}
select {object "#0/Cassini"}
changedistance {duration 3 rate 0.6 }
chase {}
orbit {axis [0 1 0] rate -10 duration 3}
select {object "Saturn"}
timerate {rate 1000}
wait {duration 13}
timerate {rate 500}
wait {duration 5}
print {text "Shortly after SOI, Cassini fired it's thruster for 90 minutes\nin order to slow down enough to be captured by Saturn's gravity." row -5 column 1 duration 10}
timerate {rate 250}
wait {duration 15}
print {text "This is where Cassini made it's closest approach\nto Saturn-approximately 19,000km, or about 12,000 miles!" row -5 column 1 duration 8}
select {object "#0/Cassini"}
orbit {axis [0 1 0] rate -20 duration 8}
orbit {axis [1 0 0] rate 10 duration 2}
select {object "Saturn"}
timerate {rate 250}
wait {duration 13}
timerate {rate 500}
wait {duration 7}
timerate {rate 1000}
wait {duration 5}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
timerate {rate 5000}
wait {duration 3}
select {object "#0/Cassini"}
orbit {axis [1 0 0] rate -10 duration 2}
select {object "Saturn"}
timerate {rate 10000}
wait {duration 5}
print {text "So Cassini is now in orbit around Saturn." row -5 column 1 duration 10}
wait {duration 5}
timerate {rate 100000}
wait {duration 5}
print {text "Let's follow along for one more orbit...to view the planned\nflyby of Saturn's moon Titan scheduled for October 2004!" row -5 column 1 duration 10}
timerate {rate 500000}
wait {duration 17}
timerate {rate 100000}
wait {duration 3}
select {object "Saturn/Titan"}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 6}
timerate {rate 5000}
wait {duration 6}
timerate {rate 1000}
wait {duration 10}
select {object "Saturn"}
timerate {rate 1}
renderflags {clear "markers"}
print {text "This script is finished...you can use the 'L' and 'K' keys to speed-up\nor slowdown time and continue to experience the orbits of Cassini for\nthe remainder of it's mission. The 'J' key will toggle time forward and backward." row -7 column 1 duration 20}
wait {duration 15}
}
######################################################################
# Cassini Arrival Script 1.01 (Cassiarrival101.cel)
# A shortened version - including mission from Phoebe encounter onward.
#
#######################################################################
{
renderflags {clear "orbits|constellations|comettails|boundaries"}
renderflags {clear "pointstars|nightmaps|galaxies|markers"}
renderflags {set "cloudmaps|eclipseshadows|atmospheres|nightmaps"}
labels {clear "planets|moons|spacecraft|asteroids|constellations|stars|galaxies"}
set {name "AmbientLightLevel" value 0.40}
set {name "FOV" value 50.0}
# ------------------------Saturn arrival---------------------
timerate {rate 1}
time {jd 2453168.16667}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
select {object "#0/Cassini"}
goto {}
# Only used for alignnment when testing Saturn segment alone.
orbit {axis [0 1 0] rate -10 duration 4}
orbit {axis [1 0 0] rate 10 duration 1}
select {object "Saturn/Phoebe"}
timerate {rate 200}
print {text "Several weeks before Cassini arrived at Saturn\nit flew by one of Saturn's moons named Phoebe." row -5 column 1 duration 10}
wait {duration 12}
print {text "One interesting fact about Phoebe is that is has a 'retrograde' orbit." row -5 column 1 duration 8}
wait {duration 10}
print {text "This means it orbits Saturn in a clockwise direction...\nmost objects in our Solar System orbit in a counter-clockwise direction." row -5 column 1 duration 10}
wait {duration 12}
print {text "One theory suggests that Phoebe is perhaps an asteroid\nthat was captured by Saturn's gravity." row -5 column 1 duration 10}
wait {duration 12}
print {text "Cassini passed within several thousand kilometers of Phoebe\non June 11, 2004." row -5 column 1 duration 10}
select {object "Saturn/Phoebe"}
# select {object "#0/Cassini"}
wait {duration 8}
rotate {duration 10 rate -2.5 axis [-1 1 0]}
select {object "#0/Cassini"}
print {text "Let's now move forward in time to the arrival of Cassini at Saturn\non June 30, 2004." row -5 column 1 duration 10}
wait {duration 3}
rotate {duration 2.5 rate 10 axis [-1 1 0]}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
set {name "FOV" value 50.0}
select {object "Saturn"}
timerate {rate 100000}
wait {duration 10}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 3}
timerate {rate 10000}
wait {duration 3}
print {text "The point in time when Cassini passes through the ring-plane of Saturn\nis called SOI, or Saturn Orbital Insertion." row -5 column 1 duration 10}
timerate {rate 5000}
wait {duration 5}
select {object "#0/Cassini"}
changedistance {duration 3 rate 0.6}
chase {}
orbit {axis [0 1 0] rate -10 duration 3}
select {object "Saturn"}
timerate {rate 1000}
wait {duration 13}
timerate {rate 500}
wait {duration 5}
print {text "Shortly after SOI, Cassini fired it's thruster for 90 minutes\nin order to slow down enough to be captured by Saturn's gravity." row -5 column 1 duration 10}
timerate {rate 250}
wait {duration 15}
print {text "This is where Cassini made it's closest approach\nto Saturn-approximately 19,000km, or about 12,000 miles!" row -5 column 1 duration 8}
select {object "#0/Cassini"}
orbit {axis [0 1 0] rate -20 duration 8}
orbit {axis [1 0 0] rate 10 duration 2}
select {object "Saturn"}
timerate {rate 250}
wait {duration 13}
timerate {rate 500}
wait {duration 7}
timerate {rate 1000}
wait {duration 5}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
timerate {rate 5000}
wait {duration 3}
select {object "#0/Cassini"}
orbit {axis [1 0 0] rate -10 duration 2}
select {object "Saturn"}
timerate {rate 10000}
wait {duration 5}
print {text "So Cassini is now in orbit around Saturn." row -5 column 1 duration 10}
wait {duration 5}
timerate {rate 100000}
wait {duration 5}
print {text "Let's follow along for one more orbit...to view the planned\nflyby of Saturn's moon Titan scheduled for October 2004!" row -5 column 1 duration 10}
timerate {rate 500000}
wait {duration 17}
timerate {rate 100000}
wait {duration 3}
select {object "Saturn/Titan"}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 6}
timerate {rate 5000}
wait {duration 6}
timerate {rate 1000}
wait {duration 10}
select {object "Saturn"}
timerate {rate 1}
renderflags {clear "markers"}
print {text "This script is finished...you can use the 'L' and 'K' keys to speed-up\nor slowdown time and continue to experience the orbits of Cassini for\nthe remainder of it's mission. The 'J' key will toggle time forward and backward." row -7 column 1 duration 20}
wait {duration 15}
}
First, thanks Don for your feedback.
This is the revised script for the Cassini Mission….(Cassinimission101.cel)
As suggested many things were added and tweaked:
1. The stats for the flyby accelerations are included. (And a few other general stats as well.)
(But I haven’t been able to find anything on the 2nd flyby of Venus.)
2. An orbit of Saturn was added including the first flyby of Titan.
3. Ending the script with instructions on continuing manually.
4. Added several more swivel camera movements. (at Phoebe and Saturn)
5. Cleaned up grammar and spelling. (Hopefully!)
6. Tried to optimize timing so that reading is more relaxed while not having to wait so long between events.
In addition I’ve added a script that starts at the Phoebe encounter onward...only. (cassiniarrival101.cel) Sometime I just want to see the Saturn part and don’t want to wait.
Here are the two scripts....
#
#------------------------------------------------------------------------
# Cassini Mission.cel V1.01:
#
#------------------------------------------------------------------------
#
renderflags {clear "orbits|constellations|comettails|boundaries"}
renderflags {clear "pointstars|nightmaps|galaxies|markers"}
renderflags {set "cloudmaps|eclipseshadows|atmospheres|nightmaps"}
labels {clear "planets|moons|spacecraft|asteroids|constellations|stars|galaxies"}
set {name "AmbientLightLevel" value 0.40}
set {name "FOV" value 50.0}
time {jd 2450736.89792}
setframe {
ref "#0/Cassini"
target "Sol/Earth"
coordsys "lock"
}
select {object "#0/Cassini"}
center{}
print {text "At any time you can use the space bar to pause or press esc to abort." row -4 column 1 duration 5.0}
wait {duration 5}
goto { time 3.0}
print {text "The Cassini Mission to Saturn launched from Earth on Oct 15, 1997." row -4 column 1 duration 16.0}
wait {duration 5}
orbit {axis [0 1 0] rate 30 duration 9.0}
select {object "Sol/Earth"}
wait {duration 2}
timerate {rate 300}
wait {duration 3}
orbit {axis [0 1 0] rate -10 duration 5.0}
wait {duration 5}
print {text "Cassini is one of the largest interplanetary spacecraft ever constructed by NASA.\nIt stands two-stories tall and at launch had a mass of 5,655 kg,\nof which 3,132 kg were propellant." row -5 column 1 duration 15.0}
wait {duration 17}
timerate {rate 1000}
print {text "Cassini, like other long-range spacecraft, used the technique of\n 'gravity assist' flybys to travel to the outer planets." row -5 column 1 duration 12.0}
wait {duration 14}
timerate {rate 2000}
print {text "These flybys use the gravitational pull of the target planets to impart more\nspeed to the spacecraft to help it reach it's destination while using less propellant." row -5 column 1 duration 14}
wait {duration 16}
print {text "Cassini used gravity assist flybys 4 times on it's way to Saturn!" row -5 column 1 duration 10}
timerate {rate 5000}
wait {duration 12}
print {text "Two flybys of Venus..." row -5 column 1 duration 6.0}
wait {duration 7}
print {text "...and one flyby each of Earth and Jupiter." row -5 column 1 duration 7.0}
wait {duration 10}
print {text "The propellant savings due to these gravity assists is no small amount...." row -5 column 1 duration 10}
wait {duration 12}
print {text "In fact, the gravity assists from the two flybys of Venus and the\none flyby of Earth provide the equivalent of more than 68,000 kg (75 tons) of rocket fuel!" row -5 column 1 duration 15}
wait {duration 20}
print {text "So, let's follow Cassini to it's first flyby of Venus." row -5 column 1 duration 7.0}
wait {duration 10}
timerate {rate 50000}
print {text "It took a little over 6 months for Cassini to reach Venus,\nso let's jump forward a bit.." row -5 column 1 duration 8.0}
orbit {axis [0 1 0] rate -29 duration 6.0}
select {object "Sol/Venus"}
timerate {rate 1}
time {jd 2450890.33333}
set {name "FOV" value 40.0}
wait {duration 5}
wait {duration 1}
timerate {rate 100000}
wait {duration 5}
print {text "In a moment you'll see the planet Venus enter\nour field of view from the top-right portion of the screen." row -4 column 1 duration 9.0}
wait {duration 10}
print {text "Cassini's trajectory prepared it for a flyby of Venus\nat a distance of about 300 kilometers, or about 190 miles!\nThe closest of all Cassini's planned flybys." row -5 column 1 duration 15.0}
wait {duration 16}
print {text "Cassini reached Venus on April 26, 1998." row -4 column 1 duration 9.0}
wait {duration 1}
timerate {rate 50000}
wait {duration 3}
timerate {rate 20000}
setframe {
ref "#0/Cassini"
target "Sol/Venus"
coordsys "lock" }
wait {duration 2}
timerate {rate 10000}
wait {duration 3}
timerate {rate 3000}
wait {duration 11}
timerate {rate 10000}
print {text "Venus' gravity gave Cassini a boost in speed of about 7 km/sec.\nor about 15,500 miles per hour!" row -5 column 1 duration 15}
wait {duration 17}
print {text "Cassini was now poised to return to Venus in 14 months for a second flyby \n on June 24, 1999." row -5 column 1 duration 12.0}
wait {duration 10}
timerate {rate 3000000}
wait {duration 10}
timerate {rate 1500000}
print {text "This second flyby of Venus would be at a distance of 700km...\nor about 450 miles." row -5 column 1 duration 10}
wait {duration 3}
timerate {rate 500000}
wait {duration 2}
timerate {rate 100000}
wait {duration 6}
timerate {rate 50000}
wait {duration 4}
timerate {rate 10000}
wait {duration 4}
timerate {rate 3000}
wait {duration 11}
timerate {rate 10000}
wait {duration 10}
print {text "It took two more months to reach Earth." row -5 column 1 duration 8}
orbit {axis [0 1 0] rate -21 duration 5.5}
orbit {axis [1 0 0] rate 10 duration 2}
wait {duration 2}
select {object "Sol/Earth"}
setframe {
ref "#0/Cassini"
target "Sol/Earth"
coordsys "lock" }
timerate {rate 150000}
print {text "The flyby of Earth would be at a distance of 1200km,or about 750 miles,\nadding 5.5 km/sec or 12,000 miles per hour to the speed of Cassini." row -5 column 1 duration 18}
wait {duration 20}
print {text "An interesting tidbit...\nThere were some protests at that time of the flyby,\nconcerning the 72 pounds of plutonium-238 fuel aboard Cassini\nand the possibility of a collision with Earth." row -6 column 1 duration 18}
wait {duration 5}
timerate {rate 50000}
wait {duration 11}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 5}
timerate {rate 2000}
wait {duration 12}
print {text "So, it's now been 22 months since the launch of Cassini\nand in essence, we are just now leaving Earth...only now, boosted by the\neffects of the three gravity assist flybys." row -5 column 1 duration 20}
wait {duration 15}
timerate {rate 10000}
wait {duration 5}
print {text "And now it's on to Jupiter..." row -5 column 1 duration 8}
wait {duration 3}
orbit {axis [0 1 0] rate -45 duration 5.2}
orbit {axis [1 0 0] rate -10 duration 1.8}
setframe {
ref "#0/Cassini"
target "Sol/Jupiter"
coordsys "lock" }
select {object "Sol/Jupiter"}
wait {duration 3}
labels {set "planets"}
wait {duration 13}
labels {clear "planets"}
timerate {rate 1500000}
wait {duration 5}
print {text "We flyby Jupiter at a distance of approximately 9,700,000 km...\nand again gain an additional 2km/sec or 4,500 mile per hour boost." row -5 column 1 duration 12}
wait {duration 23}
timerate {rate 100000}
select {object "#0/Galileo"}
mark {object "#0/Galileo"
color [0 1 0] }
renderflags {set "markers"}
print {text "The marked object is the Galileo probe which was\nstill on it's mission in orbit around Jupiter!" row -5 column 1 duration 15}
wait {duration 25}
setframe {
ref "#0/Cassini"
target "Sol/Saturn"
coordsys "lock" }
print {text "And now to our final destination...Saturn." row -5 column 1 duration 8}
wait {duration 8}
select {object "#)/Cassini"}
renderflags {clear "markers"}
orbit {axis [0 1 0] rate 30 duration 4}
wait {duration 3}
select {object "Saturn"}
timerate {rate 150000}
wait {duration 5}
print {text "We'll move forward in time again...to the flyby of Phoebe...\none of Saturn's moons." row -5 column 1 duration 10}
wait {duration 8}
set {name "FOV" value 50.0}
# ------------------------Saturn arrival---------------------
timerate {rate 1}
time {jd 2453168.16667}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
select {object "#0/Cassini"}
goto {}
# Only used for alignnment when testing Saturn segment alone.
orbit {axis [1 0 0] rate 10 duration 2}
orbit {axis [0 1 0] rate 10 duration 3}
select {object "Saturn/Phoebe"}
timerate {rate 200}
print {text "Several weeks before Cassini arrived at Saturn\nit flew by one of Saturn's moons named Phoebe." row -5 column 1 duration 10}
wait {duration 12}
print {text "One interesting fact about Phoebe is that is has a 'retrograde' orbit." row -5 column 1 duration 8}
wait {duration 10}
print {text "This means it orbits Saturn in a clockwise direction...\nmost objects in our Solar System orbit in a counter-clockwise direction." row -5 column 1 duration 10}
wait {duration 12}
print {text "One theory suggests that Phoebe is perhaps an asteroid\nthat was captured by Saturn's gravity." row -5 column 1 duration 10}
wait {duration 12}
print {text "Cassini passed within several thousand kilometers of Phoebe\non June 11, 2004." row -5 column 1 duration 10}
select {object "Saturn/Phoebe"}
# select {object "#0/Cassini"}
wait {duration 8}
rotate {duration 10 rate -2.5 axis [-1 1 0]}
select {object "#0/Cassini"}
print {text "Let's now move forward in time to the arrival of Cassini at Saturn\non June 30, 2004." row -5 column 1 duration 10}
wait {duration 3}
rotate {duration 2.5 rate 10 axis [-1 1 0]}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
set {name "FOV" value 50.0}
select {object "Saturn"}
timerate {rate 100000}
wait {duration 10}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 3}
timerate {rate 10000}
wait {duration 3}
print {text "The point in time when Cassini passes through the ring-plane of Saturn\nis called SOI, or Saturn Orbital Insertion." row -5 column 1 duration 10}
timerate {rate 5000}
wait {duration 5}
select {object "#0/Cassini"}
changedistance {duration 3 rate 0.6 }
chase {}
orbit {axis [0 1 0] rate -10 duration 3}
select {object "Saturn"}
timerate {rate 1000}
wait {duration 13}
timerate {rate 500}
wait {duration 5}
print {text "Shortly after SOI, Cassini fired it's thruster for 90 minutes\nin order to slow down enough to be captured by Saturn's gravity." row -5 column 1 duration 10}
timerate {rate 250}
wait {duration 15}
print {text "This is where Cassini made it's closest approach\nto Saturn-approximately 19,000km, or about 12,000 miles!" row -5 column 1 duration 8}
select {object "#0/Cassini"}
orbit {axis [0 1 0] rate -20 duration 8}
orbit {axis [1 0 0] rate 10 duration 2}
select {object "Saturn"}
timerate {rate 250}
wait {duration 13}
timerate {rate 500}
wait {duration 7}
timerate {rate 1000}
wait {duration 5}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
timerate {rate 5000}
wait {duration 3}
select {object "#0/Cassini"}
orbit {axis [1 0 0] rate -10 duration 2}
select {object "Saturn"}
timerate {rate 10000}
wait {duration 5}
print {text "So Cassini is now in orbit around Saturn." row -5 column 1 duration 10}
wait {duration 5}
timerate {rate 100000}
wait {duration 5}
print {text "Let's follow along for one more orbit...to view the planned\nflyby of Saturn's moon Titan scheduled for October 2004!" row -5 column 1 duration 10}
timerate {rate 500000}
wait {duration 17}
timerate {rate 100000}
wait {duration 3}
select {object "Saturn/Titan"}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 6}
timerate {rate 5000}
wait {duration 6}
timerate {rate 1000}
wait {duration 10}
select {object "Saturn"}
timerate {rate 1}
renderflags {clear "markers"}
print {text "This script is finished...you can use the 'L' and 'K' keys to speed-up\nor slowdown time and continue to experience the orbits of Cassini for\nthe remainder of it's mission. The 'J' key will toggle time forward and backward." row -7 column 1 duration 20}
wait {duration 15}
}
######################################################################
# Cassini Arrival Script 1.01 (Cassiarrival101.cel)
# A shortened version - including mission from Phoebe encounter onward.
#
#######################################################################
{
renderflags {clear "orbits|constellations|comettails|boundaries"}
renderflags {clear "pointstars|nightmaps|galaxies|markers"}
renderflags {set "cloudmaps|eclipseshadows|atmospheres|nightmaps"}
labels {clear "planets|moons|spacecraft|asteroids|constellations|stars|galaxies"}
set {name "AmbientLightLevel" value 0.40}
set {name "FOV" value 50.0}
# ------------------------Saturn arrival---------------------
timerate {rate 1}
time {jd 2453168.16667}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
select {object "#0/Cassini"}
goto {}
# Only used for alignnment when testing Saturn segment alone.
orbit {axis [0 1 0] rate -10 duration 4}
orbit {axis [1 0 0] rate 10 duration 1}
select {object "Saturn/Phoebe"}
timerate {rate 200}
print {text "Several weeks before Cassini arrived at Saturn\nit flew by one of Saturn's moons named Phoebe." row -5 column 1 duration 10}
wait {duration 12}
print {text "One interesting fact about Phoebe is that is has a 'retrograde' orbit." row -5 column 1 duration 8}
wait {duration 10}
print {text "This means it orbits Saturn in a clockwise direction...\nmost objects in our Solar System orbit in a counter-clockwise direction." row -5 column 1 duration 10}
wait {duration 12}
print {text "One theory suggests that Phoebe is perhaps an asteroid\nthat was captured by Saturn's gravity." row -5 column 1 duration 10}
wait {duration 12}
print {text "Cassini passed within several thousand kilometers of Phoebe\non June 11, 2004." row -5 column 1 duration 10}
select {object "Saturn/Phoebe"}
# select {object "#0/Cassini"}
wait {duration 8}
rotate {duration 10 rate -2.5 axis [-1 1 0]}
select {object "#0/Cassini"}
print {text "Let's now move forward in time to the arrival of Cassini at Saturn\non June 30, 2004." row -5 column 1 duration 10}
wait {duration 3}
rotate {duration 2.5 rate 10 axis [-1 1 0]}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
set {name "FOV" value 50.0}
select {object "Saturn"}
timerate {rate 100000}
wait {duration 10}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 3}
timerate {rate 10000}
wait {duration 3}
print {text "The point in time when Cassini passes through the ring-plane of Saturn\nis called SOI, or Saturn Orbital Insertion." row -5 column 1 duration 10}
timerate {rate 5000}
wait {duration 5}
select {object "#0/Cassini"}
changedistance {duration 3 rate 0.6}
chase {}
orbit {axis [0 1 0] rate -10 duration 3}
select {object "Saturn"}
timerate {rate 1000}
wait {duration 13}
timerate {rate 500}
wait {duration 5}
print {text "Shortly after SOI, Cassini fired it's thruster for 90 minutes\nin order to slow down enough to be captured by Saturn's gravity." row -5 column 1 duration 10}
timerate {rate 250}
wait {duration 15}
print {text "This is where Cassini made it's closest approach\nto Saturn-approximately 19,000km, or about 12,000 miles!" row -5 column 1 duration 8}
select {object "#0/Cassini"}
orbit {axis [0 1 0] rate -20 duration 8}
orbit {axis [1 0 0] rate 10 duration 2}
select {object "Saturn"}
timerate {rate 250}
wait {duration 13}
timerate {rate 500}
wait {duration 7}
timerate {rate 1000}
wait {duration 5}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
timerate {rate 5000}
wait {duration 3}
select {object "#0/Cassini"}
orbit {axis [1 0 0] rate -10 duration 2}
select {object "Saturn"}
timerate {rate 10000}
wait {duration 5}
print {text "So Cassini is now in orbit around Saturn." row -5 column 1 duration 10}
wait {duration 5}
timerate {rate 100000}
wait {duration 5}
print {text "Let's follow along for one more orbit...to view the planned\nflyby of Saturn's moon Titan scheduled for October 2004!" row -5 column 1 duration 10}
timerate {rate 500000}
wait {duration 17}
timerate {rate 100000}
wait {duration 3}
select {object "Saturn/Titan"}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 6}
timerate {rate 5000}
wait {duration 6}
timerate {rate 1000}
wait {duration 10}
select {object "Saturn"}
timerate {rate 1}
renderflags {clear "markers"}
print {text "This script is finished...you can use the 'L' and 'K' keys to speed-up\nor slowdown time and continue to experience the orbits of Cassini for\nthe remainder of it's mission. The 'J' key will toggle time forward and backward." row -7 column 1 duration 20}
wait {duration 15}
}
I just LOVE these mission scripts. Very cool and educational!
Nice additions Jon. I learned a lot!
Thank you!
Nice additions Jon. I learned a lot!
Thank you!
-Don G.
My Celestia Scripting Resources page
Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.
My Celestia Scripting Resources page
Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.
-
Topic authorJon R
One more revision...less timing errors and a high-level over
HI,
Ok, maybe I'm obsessed now...no, I think these are necessary changes...
I noticed that I could run the script several times in a row and have the timings a little "off" at each destination. (I think due to the high timerates I used over a long period of time.) So I re-wrote the script to avoid these timing differences.
Secondly, right after the flyby of Earth I added an "overview" section where the camera climbs above the Solor System and we follow Cassini's flight thusfar...it give a nice perspective.
Now, I have included the full script below...and I also added a script that just shows the new "overview" section (Cassinitest.cel) in case you don't want to wade through the whole thing again.
I don't want to waste bandwidth...I think it's a much better script.
{
#
#------------------------------------------------------------------------
# Cassini Mission.cel V1.1: with "overview" added
#
#------------------------------------------------------------------------
#
renderflags {clear "orbits|constellations|comettails|boundaries"}
renderflags {clear "pointstars|nightmaps|galaxies|markers"}
renderflags {set "cloudmaps|eclipseshadows|atmospheres|nightmaps"}
labels {clear "planets|moons|spacecraft|asteroids|constellations|stars|galaxies"}
set {name "AmbientLightLevel" value 0.40}
set {name "FOV" value 40.0}
print {text "At any time you can use the space bar to pause or press esc to abort." row -5 column 1 duration 5.0}
wait {duration 5}
goto { time 3.0}
seturl {url "cel://PhaseLock/Sol:Cassini//1997-10-15T09:33:09.39927?x=V16OuYFBn0TMDA&y=ptnu9uDk/v///////////w&z=GJfVGZVGgBL6/////////w&ow=0.708993&ox=0.000229&oy=0.705215&oz=-0.000173&select=Sol:Cassini&fov=40&ts=1.000000<d=0&rf=8083&lm=49152" }
print {text "The Cassini Mission to Saturn launched from Earth on Oct 15, 1997." row -5 column 1 duration 16.0}
wait {duration 5}
orbit {axis [0 1 0] rate 30 duration 9.0}
select {object "Sol/Earth"}
wait {duration 2}
timerate {rate 300}
wait {duration 3}
orbit {axis [0 1 0] rate -10 duration 5.0}
wait {duration 5}
print {text "Cassini is one of the largest interplanetary spacecraft ever constructed by NASA.\nIt stands over two stories tall and at launch had a mass of 5,655 kg,\nof which 3,132 kg were propellant." row -5 column 1 duration 16.0}
wait {duration 18}
timerate {rate 1000}
print {text "Cassini, like other long-range spacecraft before it, used the technique of\n 'gravity assist' flybys to travel to the outer planets." row -5 column 1 duration 12.0}
wait {duration 14}
timerate {rate 2000}
print {text "These flybys use the gravitational pull of the target planets to impart more\nspeed to the spacecraft to help it reach it's destination while using less propellant." row -5 column 1 duration 16}
wait {duration 18}
print {text "Cassini used 4 gravity assist flybys to reach Saturn..." row -5 column 1 duration 10}
timerate {rate 5000}
wait {duration 12}
print {text "Two flybys of Venus..." row -5 column 1 duration 7.0}
wait {duration 7}
print {text "...and one flyby each of Earth and Jupiter." row -4 column 1 duration 7.0}
wait {duration 10}
print {text "And the propellant savings due to these gravity assists..." row -5 column 1 duration 10}
wait {duration 12}
print {text "The two flybys of Venus and the flyby of Earth combined to provide\nthe equivalent boost of more than 68,000 kg (75 tons) of rocket fuel!" row -5 column 1 duration 15}
wait {duration 20}
print {text "So, let's follow Cassini to it's first flyby of Venus." row -5 column 1 duration 7.0}
wait {duration 10}
timerate {rate 50000}
print {text "It took a little over 6 months for Cassini to reach Venus,\nso let's jump forward a bit.." row -5 column 1 duration 8.0}
orbit {axis [0 1 0] rate -29 duration 6.0}
select {object "Sol/Venus"}
timerate {rate 1}
seturl {url "cel://PhaseLock/Sol:Cassini//1998-03-17T20:00:00.69186?x=DUff6GLjlsSzDA&y=P0jq/kVDIf///////////w&z=v81GNOghSiIE&ow=0.375658&ox=0.000144&oy=0.926759&oz=-0.000249&select=Sol:Venus&fov=40&ts=1.000000<d=0&rf=8083&lm=49152" }
wait {duration 1}
timerate {rate 100000}
wait {duration 5}
print {text "In a moment you'll see the planet Venus enter\nour field of view from the top-right portion of the screen." row -4 column 1 duration 7.0}
wait {duration 8}
print {text "Cassini's trajectory prepared it for a flyby of Venus\nat a distance of about 300 kilometers, or about 190 miles!\nThe closest of all Cassini's planned flybys." row -5 column 1 duration 17.0}
wait {duration 18}
print {text "Cassini reached Venus on April 26, 1998." row -4 column 1 duration 9.0}
wait {duration 1}
timerate {rate 50000}
wait {duration 3}
timerate {rate 20000}
setframe {
ref "#0/Cassini"
target "Sol/Venus"
coordsys "lock" }
wait {duration 2}
timerate {rate 10000}
wait {duration 3}
timerate {rate 3000}
wait {duration 11}
timerate {rate 10000}
print {text "Venus' gravity gave Cassini a boost in speed of about 7 km/sec.\nor about 15,500 miles per hour!" row -5 column 1 duration 15}
wait {duration 17}
print {text "Cassini was now poised to return to Venus in 14 months for a second flyby \n on June 24, 1999." row -5 column 1 duration 12.0}
wait {duration 10}
timerate {rate 3000000}
wait {duration 10}
timerate {rate 1500000}
print {text "This second flyby of Venus would be at a distance of 700 km...\nor about 450 miles." row -5 column 1 duration 10}
wait {duration 3}
timerate {rate 500000}
wait {duration 2}
timerate {rate 100000}
wait {duration 6}
seturl {url "cel://PhaseLock/Sol:Cassini/Sol:Venus/1999-06-22T01:08:08.92166?x=OaC4/l+a2Im2DA&y=um/tG2IS+0g&z=YUEgPCt8LDgJ&ow=0.890360&ox=0.120376&oy=0.427358&oz=0.100671&select=Sol:Venus&fov=40&ts=50000.000000<d=0&rf=8083&lm=49152" }
timerate {rate 50000}
wait {duration 4}
timerate {rate 10000}
wait {duration 2}
timerate {rate 5000}
wait {duration 2}
timerate {rate 3000}
wait {duration 11}
timerate {rate 10000}
wait {duration 10}
print {text "It took two more months to reach Earth." row -5 column 1 duration 8}
orbit {axis [0 1 0] rate -21 duration 5.5}
orbit {axis [1 0 0] rate 10 duration 2}
wait {duration 2}
select {object "Sol/Earth"}
setframe {
ref "#0/Cassini"
target "Sol/Earth"
coordsys "lock" }
timerate {rate 150000}
print {text "The flyby of Earth would be at a distance of 1200 km, or about 750 miles,\nadding 5.5 km/sec or 12,000 miles per hour to the speed of Cassini." row -5 column 1 duration 18}
wait {duration 20}
print {text "An interesting tidbit...\nThere were some protests at the time of the flyby\nconcerning the 72 pounds of plutonium-238 fuel aboard Cassini\nand the possibility of a collision with Earth." row -6 column 1 duration 18}
wait {duration 5}
seturl {url "cel://PhaseLock/Sol:Cassini/Sol:Earth/1999-08-09T12:58:26.61586?x=DbIS8IpSYy/IDA&y=cWvf2Woh6ws&z=cQKXYdJlSGsK&ow=-0.363005&ox=0.150205&oy=-0.915473&oz=-0.087039&select=Sol:Earth&fov=39.999992&ts=50000.000000<d=0&rf=8083&lm=49152" }
timerate {rate 50000}
wait {duration 11}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 5}
timerate {rate 2000}
wait {duration 13}
print {text "So now it's roughly 22 months since launch, and we are in essense\njust leaving Earth, only now with the added momentum of the three gravity assist flybys." row -6 column 1 duration 13}
wait {duration 16}
#----------------Start of Overview--------------------------
seturl {url "cel://PhaseLock/Sol:Cassini//1997-10-15T09:33:09.39927?x=V16OuYFBn0TMDA&y=ptnu9uDk/v///////////w&z=GJfVGZVGgBL6/////////w&ow=0.708993&ox=0.000229&oy=0.705215&oz=-0.000173&select=Sol:Cassini&fov=40&ts=1.000000<d=0&rf=8083&lm=49152" }
timerate {rate 1}
print {text "So, here's a quick summary of Cassini's mission so far,\nviewed from above the Solar System...\nThe Cassini spacecraft is marked in yellow." row -5 column 1 duration 20}
select {object "#0/Cassini"}
mark {object "#0/Cassini" color [1 1 0] }
select {object "Sol"}
changedistance {duration 3.9 rate 6.05}
orbit {axis [1 0 0] rate 30 duration 3}
renderflags {set "orbits|markers"}
labels {set "planets"}
timerate {rate 1}
wait {duration 6}
timerate {rate 2000000}
wait {duration 33}
select {object "Sol"}
changedistance {duration 1 rate 1}
select {object "#0/Cassini"}
timerate {rate 1}
wait {duration 7}
select {object "Sol/Jupiter"}
center{}
print {text "So now it's on to Jupiter...and then to Saturn." row -5 column 1 duration 8}
wait {duration 10}
labels {clear "planets"}
renderflags {clear "orbits|markers"}
#---------------End of Overview------------------------
seturl {url "cel://PhaseLock/Sol:Cassini/Sol:Earth/1999-08-18T13:50:26.54656?x=xh6G+6p2jN3KDA&y=QeJgWjPsgv///////////w&z=V/QLp1MNaSMJ&ow=-0.832839&ox=-0.090645&oy=0.522709&oz=-0.157918&select=Sol:Earth&fov=39.999989&ts=2000.000000<d=0&rf=8083&lm=49152" }
orbit {axis [0 1 0] rate -45 duration 5.1}
orbit {axis [1 0 0] rate -10 duration 1.8}
setframe {
ref "#0/Cassini"
target "Sol/Jupiter"
coordsys "lock" }
select {object "Sol/Jupiter"}
wait {duration 3}
labels {set "planets"}
wait {duration 3}
timerate {rate 1500000}
wait {duration 5}
labels {clear "planets"}
print {text "We flyby Jupiter at a distance of approximately 9,700,000 km...\nand gain an additional 2 km/sec or 4,500 mile per hour." row -5 column 1 duration 12}
wait {duration 23}
timerate {rate 100000}
select {object "#0/Galileo"}
mark {object "#0/Galileo"
color [0 1 0] }
renderflags {set "markers"}
print {text "The marked object is the Galileo probe which was\nstill on it's mission in orbit around Jupiter!" row -5 column 1 duration 15}
wait {duration 25}
setframe {
ref "#0/Cassini"
target "Sol/Saturn"
coordsys "lock" }
print {text "And now to our final destination of Saturn." row -5 column 1 duration 8}
wait {duration 8}
select {object "#)/Cassini"}
renderflags {clear "markers"}
orbit {axis [0 1 0] rate 30 duration 4.7}
orbit {axis [1 0 0] rate 10 duration 1}
wait {duration 6}
select {object "Saturn"}
timerate {rate 150000}
wait {duration 5}
print {text "We'll move forward in time again...to the flyby of Phoebe...\none of Saturn's moons." row -5 column 1 duration 10}
wait {duration 8}
set {name "FOV" value 50.0}
# ------------------------Saturn arrival---------------------
timerate {rate 1}
seturl {url "cel://PhaseLock/Sol:Cassini//2004-06-11T16:00:07.89888?x=xS/8bv1H8eSVDA&y=gYhC9ixn7kD//////////w&z=N3RK7AGsd0F3/////////w&ow=0.862741&ox=0.027482&oy=0.498363&oz=0.080979&select=Sol:Cassini&fov=49.999992&ts=1.000000<d=0&rf=8083&lm=49152" }
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
select {object "Saturn/Phoebe"}
timerate {rate 200}
print {text "Several weeks before Cassini arrived at Saturn\nit flew by one of Saturn's moons named Phoebe." row -5 column 1 duration 10}
wait {duration 12}
print {text "One interesting fact about Phoebe is that is has a 'retrograde' orbit." row -5 column 1 duration 8}
wait {duration 10}
print {text "This means it orbits Saturn in a clockwise direction...\nmost objects in our Solar System orbit in a counter-clockwise direction." row -5 column 1 duration 10}
wait {duration 12}
print {text "One theory suggests that Phoebe is perhaps an asteroid\nthat was captured by Saturn's gravity." row -5 column 1 duration 10}
wait {duration 12}
print {text "Cassini passed within several thousand kilometers of Phoebe\non June 11, 2004." row -5 column 1 duration 10}
select {object "Saturn/Phoebe"}
# select {object "#0/Cassini"}
wait {duration 8}
rotate {duration 10 rate -2.5 axis [-1 1 0]}
select {object "#0/Cassini"}
print {text "Let's now move forward in time to the arrival of Cassini at Saturn\non June 30, 2004." row -5 column 1 duration 10}
wait {duration 3}
rotate {duration 2.5 rate 10 axis [-1 1 0]}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
set {name "FOV" value 50.0}
select {object "Saturn"}
timerate {rate 100000}
wait {duration 10}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 3}
timerate {rate 10000}
wait {duration 3}
print {text "The point in time when Cassini passes through the ring-plane of Saturn\nis called SOI, or Saturn Orbital Insertion." row -5 column 1 duration 10}
timerate {rate 5000}
wait {duration 5}
select {object "#0/Cassini"}
changedistance {duration 3 rate 0.6 }
chase {}
orbit {axis [0 1 0] rate -10 duration 3}
select {object "Saturn"}
timerate {rate 1000}
wait {duration 13}
timerate {rate 500}
wait {duration 5}
print {text "Shortly after SOI, Cassini fired it's thruster for 90 minutes\nin order to slow down enough to be captured by Saturn's gravity." row -5 column 1 duration 10}
timerate {rate 250}
wait {duration 15}
print {text "This is where Cassini made it's closest approach\nto Saturn-approximately 19,000 km, or about 12,000 miles!" row -5 column 1 duration 8}
select {object "#0/Cassini"}
orbit {axis [0 1 0] rate -20 duration 8}
orbit {axis [1 0 0] rate 10 duration 2}
select {object "Saturn"}
timerate {rate 250}
wait {duration 13}
timerate {rate 500}
wait {duration 7}
timerate {rate 1000}
wait {duration 5}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
timerate {rate 5000}
wait {duration 3}
select {object "#0/Cassini"}
orbit {axis [1 0 0] rate -10 duration 2}
select {object "Saturn"}
timerate {rate 10000}
wait {duration 5}
print {text "So Cassini is now in orbit around Saturn." row -5 column 1 duration 10}
wait {duration 5}
timerate {rate 100000}
wait {duration 5}
print {text "Let's follow along for one more orbit...to view the planned\nflyby of Saturn's moon Titan scheduled for October 2004!" row -5 column 1 duration 10}
timerate {rate 500000}
wait {duration 17}
timerate {rate 100000}
wait {duration 3}
select {object "Saturn/Titan"}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 6}
timerate {rate 5000}
wait {duration 5}
timerate {rate 1000}
wait {duration 8}
select {object "Saturn"}
timerate {rate 1}
renderflags {clear "markers"}
print {text "This script is finished...you can use the 'L' and 'K' keys to speed-up\nor slowdown time and continue to experience the orbits of Cassini for\nthe remainder of it's mission. The 'J' key will toggle time forward and backward." row -7 column 1 duration 20}
wait {duration 15}
}
{
#
#------------------------------------------------------------------------
# Cassinitest.cel V1.1: Showing new "overview" section only.
#
#------------------------------------------------------------------------
#
renderflags {clear "orbits|constellations|comettails|boundaries"}
renderflags {clear "pointstars|nightmaps|galaxies|markers"}
renderflags {set "cloudmaps|eclipseshadows|atmospheres|nightmaps"}
labels {clear "planets|moons|spacecraft|asteroids|constellations|stars|galaxies"}
set {name "AmbientLightLevel" value 0.40}
set {name "FOV" value 40.0}
seturl {url
"cel://PhaseLock/Sol:Cassini/Sol:Earth/1999-08-09T12:58:26.61586?x=DbIS8IpSYy/IDA&y=cWvf2Wo
h6ws&z=cQKXYdJlSGsK&ow=-0.363005&ox=0.150205&oy=-0.915473&oz=-0.087039&select=Sol:Earth&fov
=39.999992&ts=50000.000000<d=0&rf=8083&lm=49152" }
print {text "This is the additional overview section that was added to the script." row -5
column 1 duration 20}
timerate {rate 50000}
wait {duration 11}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 5}
timerate {rate 2000}
wait {duration 14}
print {text "So, it's been 22 months since the launch of Cassini and in essence\n we are
just now leaving Earth...only now with the additional boost\nprovided by the three gravity
assist flybys." row -5 column 1 duration 20}
wait {duration 15}
#----------------Start of Overview--------------------------
seturl {url
"cel://PhaseLock/Sol:Cassini//1997-10-15T09:33:09.39927?x=V16OuYFBn0TMDA&y=ptnu9uDk/v//////
/////w&z=GJfVGZVGgBL6/////////w&ow=0.708993&ox=0.000229&oy=0.705215&oz=-0.000173&select=Sol
:Cassini&fov=40&ts=1.000000<d=0&rf=8083&lm=49152" }
timerate {rate 1}
print {text "So, here's a quick summary of Cassini's mission so far,\nviewed from above the
Solar System...\nThe Cassini spacecraft is marked in yellow." row -5 column 1 duration 20}
select {object "#0/Cassini"}
mark {object "#0/Cassini" color [1 1 0] }
select {object "Sol"}
changedistance {duration 3.9 rate 6.05}
orbit {axis [1 0 0] rate 30 duration 3}
renderflags {set "orbits|markers"}
labels {set "planets"}
timerate {rate 1}
wait {duration 6}
timerate {rate 2000000}
wait {duration 33}
select {object "Sol"}
changedistance {duration 1 rate 1}
select {object "#0/Cassini"}
timerate {rate 1}
wait {duration 7}
select {object "Sol/Jupiter"}
center{}
print {text "So now it's on to Jupiter...and then to Saturn." row -5 column 1 duration 8}
wait {duration 10}
labels {clear "planets"}
renderflags {clear "orbits|markers"}
#---------------End of Overview------------------------
seturl {url
"cel://PhaseLock/Sol:Cassini/Sol:Earth/1999-08-18T13:50:26.54656?x=xh6G+6p2jN3KDA&y=QeJgWjP
sgv///////////w&z=V/QLp1MNaSMJ&ow=-0.832839&ox=-0.090645&oy=0.522709&oz=-0.157918&select=So
l:Earth&fov=39.999989&ts=2000.000000<d=0&rf=8083&lm=49152" }
orbit {axis [0 1 0] rate -45 duration 5.1}
orbit {axis [1 0 0] rate -10 duration 1.8}
setframe {
ref "#0/Cassini"
target "Sol/Jupiter"
coordsys "lock" }
select {object "Sol/Jupiter"}
wait {duration 3}
labels {set "planets"}
wait {duration 3}
labels {clear "planets"}
print {text "And then the script continues...as before." row -5 column 1 duration 12}
wait {duration 12}
}
Ok, maybe I'm obsessed now...no, I think these are necessary changes...
I noticed that I could run the script several times in a row and have the timings a little "off" at each destination. (I think due to the high timerates I used over a long period of time.) So I re-wrote the script to avoid these timing differences.
Secondly, right after the flyby of Earth I added an "overview" section where the camera climbs above the Solor System and we follow Cassini's flight thusfar...it give a nice perspective.
Now, I have included the full script below...and I also added a script that just shows the new "overview" section (Cassinitest.cel) in case you don't want to wade through the whole thing again.
I don't want to waste bandwidth...I think it's a much better script.
{
#
#------------------------------------------------------------------------
# Cassini Mission.cel V1.1: with "overview" added
#
#------------------------------------------------------------------------
#
renderflags {clear "orbits|constellations|comettails|boundaries"}
renderflags {clear "pointstars|nightmaps|galaxies|markers"}
renderflags {set "cloudmaps|eclipseshadows|atmospheres|nightmaps"}
labels {clear "planets|moons|spacecraft|asteroids|constellations|stars|galaxies"}
set {name "AmbientLightLevel" value 0.40}
set {name "FOV" value 40.0}
print {text "At any time you can use the space bar to pause or press esc to abort." row -5 column 1 duration 5.0}
wait {duration 5}
goto { time 3.0}
seturl {url "cel://PhaseLock/Sol:Cassini//1997-10-15T09:33:09.39927?x=V16OuYFBn0TMDA&y=ptnu9uDk/v///////////w&z=GJfVGZVGgBL6/////////w&ow=0.708993&ox=0.000229&oy=0.705215&oz=-0.000173&select=Sol:Cassini&fov=40&ts=1.000000<d=0&rf=8083&lm=49152" }
print {text "The Cassini Mission to Saturn launched from Earth on Oct 15, 1997." row -5 column 1 duration 16.0}
wait {duration 5}
orbit {axis [0 1 0] rate 30 duration 9.0}
select {object "Sol/Earth"}
wait {duration 2}
timerate {rate 300}
wait {duration 3}
orbit {axis [0 1 0] rate -10 duration 5.0}
wait {duration 5}
print {text "Cassini is one of the largest interplanetary spacecraft ever constructed by NASA.\nIt stands over two stories tall and at launch had a mass of 5,655 kg,\nof which 3,132 kg were propellant." row -5 column 1 duration 16.0}
wait {duration 18}
timerate {rate 1000}
print {text "Cassini, like other long-range spacecraft before it, used the technique of\n 'gravity assist' flybys to travel to the outer planets." row -5 column 1 duration 12.0}
wait {duration 14}
timerate {rate 2000}
print {text "These flybys use the gravitational pull of the target planets to impart more\nspeed to the spacecraft to help it reach it's destination while using less propellant." row -5 column 1 duration 16}
wait {duration 18}
print {text "Cassini used 4 gravity assist flybys to reach Saturn..." row -5 column 1 duration 10}
timerate {rate 5000}
wait {duration 12}
print {text "Two flybys of Venus..." row -5 column 1 duration 7.0}
wait {duration 7}
print {text "...and one flyby each of Earth and Jupiter." row -4 column 1 duration 7.0}
wait {duration 10}
print {text "And the propellant savings due to these gravity assists..." row -5 column 1 duration 10}
wait {duration 12}
print {text "The two flybys of Venus and the flyby of Earth combined to provide\nthe equivalent boost of more than 68,000 kg (75 tons) of rocket fuel!" row -5 column 1 duration 15}
wait {duration 20}
print {text "So, let's follow Cassini to it's first flyby of Venus." row -5 column 1 duration 7.0}
wait {duration 10}
timerate {rate 50000}
print {text "It took a little over 6 months for Cassini to reach Venus,\nso let's jump forward a bit.." row -5 column 1 duration 8.0}
orbit {axis [0 1 0] rate -29 duration 6.0}
select {object "Sol/Venus"}
timerate {rate 1}
seturl {url "cel://PhaseLock/Sol:Cassini//1998-03-17T20:00:00.69186?x=DUff6GLjlsSzDA&y=P0jq/kVDIf///////////w&z=v81GNOghSiIE&ow=0.375658&ox=0.000144&oy=0.926759&oz=-0.000249&select=Sol:Venus&fov=40&ts=1.000000<d=0&rf=8083&lm=49152" }
wait {duration 1}
timerate {rate 100000}
wait {duration 5}
print {text "In a moment you'll see the planet Venus enter\nour field of view from the top-right portion of the screen." row -4 column 1 duration 7.0}
wait {duration 8}
print {text "Cassini's trajectory prepared it for a flyby of Venus\nat a distance of about 300 kilometers, or about 190 miles!\nThe closest of all Cassini's planned flybys." row -5 column 1 duration 17.0}
wait {duration 18}
print {text "Cassini reached Venus on April 26, 1998." row -4 column 1 duration 9.0}
wait {duration 1}
timerate {rate 50000}
wait {duration 3}
timerate {rate 20000}
setframe {
ref "#0/Cassini"
target "Sol/Venus"
coordsys "lock" }
wait {duration 2}
timerate {rate 10000}
wait {duration 3}
timerate {rate 3000}
wait {duration 11}
timerate {rate 10000}
print {text "Venus' gravity gave Cassini a boost in speed of about 7 km/sec.\nor about 15,500 miles per hour!" row -5 column 1 duration 15}
wait {duration 17}
print {text "Cassini was now poised to return to Venus in 14 months for a second flyby \n on June 24, 1999." row -5 column 1 duration 12.0}
wait {duration 10}
timerate {rate 3000000}
wait {duration 10}
timerate {rate 1500000}
print {text "This second flyby of Venus would be at a distance of 700 km...\nor about 450 miles." row -5 column 1 duration 10}
wait {duration 3}
timerate {rate 500000}
wait {duration 2}
timerate {rate 100000}
wait {duration 6}
seturl {url "cel://PhaseLock/Sol:Cassini/Sol:Venus/1999-06-22T01:08:08.92166?x=OaC4/l+a2Im2DA&y=um/tG2IS+0g&z=YUEgPCt8LDgJ&ow=0.890360&ox=0.120376&oy=0.427358&oz=0.100671&select=Sol:Venus&fov=40&ts=50000.000000<d=0&rf=8083&lm=49152" }
timerate {rate 50000}
wait {duration 4}
timerate {rate 10000}
wait {duration 2}
timerate {rate 5000}
wait {duration 2}
timerate {rate 3000}
wait {duration 11}
timerate {rate 10000}
wait {duration 10}
print {text "It took two more months to reach Earth." row -5 column 1 duration 8}
orbit {axis [0 1 0] rate -21 duration 5.5}
orbit {axis [1 0 0] rate 10 duration 2}
wait {duration 2}
select {object "Sol/Earth"}
setframe {
ref "#0/Cassini"
target "Sol/Earth"
coordsys "lock" }
timerate {rate 150000}
print {text "The flyby of Earth would be at a distance of 1200 km, or about 750 miles,\nadding 5.5 km/sec or 12,000 miles per hour to the speed of Cassini." row -5 column 1 duration 18}
wait {duration 20}
print {text "An interesting tidbit...\nThere were some protests at the time of the flyby\nconcerning the 72 pounds of plutonium-238 fuel aboard Cassini\nand the possibility of a collision with Earth." row -6 column 1 duration 18}
wait {duration 5}
seturl {url "cel://PhaseLock/Sol:Cassini/Sol:Earth/1999-08-09T12:58:26.61586?x=DbIS8IpSYy/IDA&y=cWvf2Woh6ws&z=cQKXYdJlSGsK&ow=-0.363005&ox=0.150205&oy=-0.915473&oz=-0.087039&select=Sol:Earth&fov=39.999992&ts=50000.000000<d=0&rf=8083&lm=49152" }
timerate {rate 50000}
wait {duration 11}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 5}
timerate {rate 2000}
wait {duration 13}
print {text "So now it's roughly 22 months since launch, and we are in essense\njust leaving Earth, only now with the added momentum of the three gravity assist flybys." row -6 column 1 duration 13}
wait {duration 16}
#----------------Start of Overview--------------------------
seturl {url "cel://PhaseLock/Sol:Cassini//1997-10-15T09:33:09.39927?x=V16OuYFBn0TMDA&y=ptnu9uDk/v///////////w&z=GJfVGZVGgBL6/////////w&ow=0.708993&ox=0.000229&oy=0.705215&oz=-0.000173&select=Sol:Cassini&fov=40&ts=1.000000<d=0&rf=8083&lm=49152" }
timerate {rate 1}
print {text "So, here's a quick summary of Cassini's mission so far,\nviewed from above the Solar System...\nThe Cassini spacecraft is marked in yellow." row -5 column 1 duration 20}
select {object "#0/Cassini"}
mark {object "#0/Cassini" color [1 1 0] }
select {object "Sol"}
changedistance {duration 3.9 rate 6.05}
orbit {axis [1 0 0] rate 30 duration 3}
renderflags {set "orbits|markers"}
labels {set "planets"}
timerate {rate 1}
wait {duration 6}
timerate {rate 2000000}
wait {duration 33}
select {object "Sol"}
changedistance {duration 1 rate 1}
select {object "#0/Cassini"}
timerate {rate 1}
wait {duration 7}
select {object "Sol/Jupiter"}
center{}
print {text "So now it's on to Jupiter...and then to Saturn." row -5 column 1 duration 8}
wait {duration 10}
labels {clear "planets"}
renderflags {clear "orbits|markers"}
#---------------End of Overview------------------------
seturl {url "cel://PhaseLock/Sol:Cassini/Sol:Earth/1999-08-18T13:50:26.54656?x=xh6G+6p2jN3KDA&y=QeJgWjPsgv///////////w&z=V/QLp1MNaSMJ&ow=-0.832839&ox=-0.090645&oy=0.522709&oz=-0.157918&select=Sol:Earth&fov=39.999989&ts=2000.000000<d=0&rf=8083&lm=49152" }
orbit {axis [0 1 0] rate -45 duration 5.1}
orbit {axis [1 0 0] rate -10 duration 1.8}
setframe {
ref "#0/Cassini"
target "Sol/Jupiter"
coordsys "lock" }
select {object "Sol/Jupiter"}
wait {duration 3}
labels {set "planets"}
wait {duration 3}
timerate {rate 1500000}
wait {duration 5}
labels {clear "planets"}
print {text "We flyby Jupiter at a distance of approximately 9,700,000 km...\nand gain an additional 2 km/sec or 4,500 mile per hour." row -5 column 1 duration 12}
wait {duration 23}
timerate {rate 100000}
select {object "#0/Galileo"}
mark {object "#0/Galileo"
color [0 1 0] }
renderflags {set "markers"}
print {text "The marked object is the Galileo probe which was\nstill on it's mission in orbit around Jupiter!" row -5 column 1 duration 15}
wait {duration 25}
setframe {
ref "#0/Cassini"
target "Sol/Saturn"
coordsys "lock" }
print {text "And now to our final destination of Saturn." row -5 column 1 duration 8}
wait {duration 8}
select {object "#)/Cassini"}
renderflags {clear "markers"}
orbit {axis [0 1 0] rate 30 duration 4.7}
orbit {axis [1 0 0] rate 10 duration 1}
wait {duration 6}
select {object "Saturn"}
timerate {rate 150000}
wait {duration 5}
print {text "We'll move forward in time again...to the flyby of Phoebe...\none of Saturn's moons." row -5 column 1 duration 10}
wait {duration 8}
set {name "FOV" value 50.0}
# ------------------------Saturn arrival---------------------
timerate {rate 1}
seturl {url "cel://PhaseLock/Sol:Cassini//2004-06-11T16:00:07.89888?x=xS/8bv1H8eSVDA&y=gYhC9ixn7kD//////////w&z=N3RK7AGsd0F3/////////w&ow=0.862741&ox=0.027482&oy=0.498363&oz=0.080979&select=Sol:Cassini&fov=49.999992&ts=1.000000<d=0&rf=8083&lm=49152" }
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
select {object "Saturn/Phoebe"}
timerate {rate 200}
print {text "Several weeks before Cassini arrived at Saturn\nit flew by one of Saturn's moons named Phoebe." row -5 column 1 duration 10}
wait {duration 12}
print {text "One interesting fact about Phoebe is that is has a 'retrograde' orbit." row -5 column 1 duration 8}
wait {duration 10}
print {text "This means it orbits Saturn in a clockwise direction...\nmost objects in our Solar System orbit in a counter-clockwise direction." row -5 column 1 duration 10}
wait {duration 12}
print {text "One theory suggests that Phoebe is perhaps an asteroid\nthat was captured by Saturn's gravity." row -5 column 1 duration 10}
wait {duration 12}
print {text "Cassini passed within several thousand kilometers of Phoebe\non June 11, 2004." row -5 column 1 duration 10}
select {object "Saturn/Phoebe"}
# select {object "#0/Cassini"}
wait {duration 8}
rotate {duration 10 rate -2.5 axis [-1 1 0]}
select {object "#0/Cassini"}
print {text "Let's now move forward in time to the arrival of Cassini at Saturn\non June 30, 2004." row -5 column 1 duration 10}
wait {duration 3}
rotate {duration 2.5 rate 10 axis [-1 1 0]}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
set {name "FOV" value 50.0}
select {object "Saturn"}
timerate {rate 100000}
wait {duration 10}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 3}
timerate {rate 10000}
wait {duration 3}
print {text "The point in time when Cassini passes through the ring-plane of Saturn\nis called SOI, or Saturn Orbital Insertion." row -5 column 1 duration 10}
timerate {rate 5000}
wait {duration 5}
select {object "#0/Cassini"}
changedistance {duration 3 rate 0.6 }
chase {}
orbit {axis [0 1 0] rate -10 duration 3}
select {object "Saturn"}
timerate {rate 1000}
wait {duration 13}
timerate {rate 500}
wait {duration 5}
print {text "Shortly after SOI, Cassini fired it's thruster for 90 minutes\nin order to slow down enough to be captured by Saturn's gravity." row -5 column 1 duration 10}
timerate {rate 250}
wait {duration 15}
print {text "This is where Cassini made it's closest approach\nto Saturn-approximately 19,000 km, or about 12,000 miles!" row -5 column 1 duration 8}
select {object "#0/Cassini"}
orbit {axis [0 1 0] rate -20 duration 8}
orbit {axis [1 0 0] rate 10 duration 2}
select {object "Saturn"}
timerate {rate 250}
wait {duration 13}
timerate {rate 500}
wait {duration 7}
timerate {rate 1000}
wait {duration 5}
setframe {
ref "#0/Cassini"
target "Saturn"
coordsys "lock"
}
timerate {rate 5000}
wait {duration 3}
select {object "#0/Cassini"}
orbit {axis [1 0 0] rate -10 duration 2}
select {object "Saturn"}
timerate {rate 10000}
wait {duration 5}
print {text "So Cassini is now in orbit around Saturn." row -5 column 1 duration 10}
wait {duration 5}
timerate {rate 100000}
wait {duration 5}
print {text "Let's follow along for one more orbit...to view the planned\nflyby of Saturn's moon Titan scheduled for October 2004!" row -5 column 1 duration 10}
timerate {rate 500000}
wait {duration 17}
timerate {rate 100000}
wait {duration 3}
select {object "Saturn/Titan"}
timerate {rate 50000}
wait {duration 10}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 6}
timerate {rate 5000}
wait {duration 5}
timerate {rate 1000}
wait {duration 8}
select {object "Saturn"}
timerate {rate 1}
renderflags {clear "markers"}
print {text "This script is finished...you can use the 'L' and 'K' keys to speed-up\nor slowdown time and continue to experience the orbits of Cassini for\nthe remainder of it's mission. The 'J' key will toggle time forward and backward." row -7 column 1 duration 20}
wait {duration 15}
}
{
#
#------------------------------------------------------------------------
# Cassinitest.cel V1.1: Showing new "overview" section only.
#
#------------------------------------------------------------------------
#
renderflags {clear "orbits|constellations|comettails|boundaries"}
renderflags {clear "pointstars|nightmaps|galaxies|markers"}
renderflags {set "cloudmaps|eclipseshadows|atmospheres|nightmaps"}
labels {clear "planets|moons|spacecraft|asteroids|constellations|stars|galaxies"}
set {name "AmbientLightLevel" value 0.40}
set {name "FOV" value 40.0}
seturl {url
"cel://PhaseLock/Sol:Cassini/Sol:Earth/1999-08-09T12:58:26.61586?x=DbIS8IpSYy/IDA&y=cWvf2Wo
h6ws&z=cQKXYdJlSGsK&ow=-0.363005&ox=0.150205&oy=-0.915473&oz=-0.087039&select=Sol:Earth&fov
=39.999992&ts=50000.000000<d=0&rf=8083&lm=49152" }
print {text "This is the additional overview section that was added to the script." row -5
column 1 duration 20}
timerate {rate 50000}
wait {duration 11}
timerate {rate 20000}
wait {duration 6}
timerate {rate 10000}
wait {duration 5}
timerate {rate 2000}
wait {duration 14}
print {text "So, it's been 22 months since the launch of Cassini and in essence\n we are
just now leaving Earth...only now with the additional boost\nprovided by the three gravity
assist flybys." row -5 column 1 duration 20}
wait {duration 15}
#----------------Start of Overview--------------------------
seturl {url
"cel://PhaseLock/Sol:Cassini//1997-10-15T09:33:09.39927?x=V16OuYFBn0TMDA&y=ptnu9uDk/v//////
/////w&z=GJfVGZVGgBL6/////////w&ow=0.708993&ox=0.000229&oy=0.705215&oz=-0.000173&select=Sol
:Cassini&fov=40&ts=1.000000<d=0&rf=8083&lm=49152" }
timerate {rate 1}
print {text "So, here's a quick summary of Cassini's mission so far,\nviewed from above the
Solar System...\nThe Cassini spacecraft is marked in yellow." row -5 column 1 duration 20}
select {object "#0/Cassini"}
mark {object "#0/Cassini" color [1 1 0] }
select {object "Sol"}
changedistance {duration 3.9 rate 6.05}
orbit {axis [1 0 0] rate 30 duration 3}
renderflags {set "orbits|markers"}
labels {set "planets"}
timerate {rate 1}
wait {duration 6}
timerate {rate 2000000}
wait {duration 33}
select {object "Sol"}
changedistance {duration 1 rate 1}
select {object "#0/Cassini"}
timerate {rate 1}
wait {duration 7}
select {object "Sol/Jupiter"}
center{}
print {text "So now it's on to Jupiter...and then to Saturn." row -5 column 1 duration 8}
wait {duration 10}
labels {clear "planets"}
renderflags {clear "orbits|markers"}
#---------------End of Overview------------------------
seturl {url
"cel://PhaseLock/Sol:Cassini/Sol:Earth/1999-08-18T13:50:26.54656?x=xh6G+6p2jN3KDA&y=QeJgWjP
sgv///////////w&z=V/QLp1MNaSMJ&ow=-0.832839&ox=-0.090645&oy=0.522709&oz=-0.157918&select=So
l:Earth&fov=39.999989&ts=2000.000000<d=0&rf=8083&lm=49152" }
orbit {axis [0 1 0] rate -45 duration 5.1}
orbit {axis [1 0 0] rate -10 duration 1.8}
setframe {
ref "#0/Cassini"
target "Sol/Jupiter"
coordsys "lock" }
select {object "Sol/Jupiter"}
wait {duration 3}
labels {set "planets"}
wait {duration 3}
labels {clear "planets"}
print {text "And then the script continues...as before." row -5 column 1 duration 12}
wait {duration 12}
}
-
- Posts: 28
- Joined: 09.10.2003
- With us: 21 years 1 month
- Location: Sechelt, B.C., Canada
script installation
Jon,
I have had very limited experience installing scripts. Have successfully installed Solar System Tours by Bob Hegwood and Space Opera by AuReality. I have installed both of these in my Addons directory, with .cel file in main Celestia directory. Is the installation of your scripts done in a similar way? What is the .cel file that goes in the main Celestia directory, so that the script can be run from Celestia\File\Open Script? I hope we can see your script included in the Motherlode before long.
Dollard
I have had very limited experience installing scripts. Have successfully installed Solar System Tours by Bob Hegwood and Space Opera by AuReality. I have installed both of these in my Addons directory, with .cel file in main Celestia directory. Is the installation of your scripts done in a similar way? What is the .cel file that goes in the main Celestia directory, so that the script can be run from Celestia\File\Open Script? I hope we can see your script included in the Motherlode before long.
Dollard
Cassini spacecraft's orientation
Thanks for the script Jon!
I am not that familiar with the inner workings of Celestia yet, and was wondering if this script (and associated XYZ file for Cassini) is taking into account the spacecraft's orientation as it is traveling to and around Saturn.
It appears that by default, the spacecraft is always oriented with the low and high gain antennas at the "top." My understanding is that in the first part of the trip to Saturn, the high gain was pointed towards the sun. Once Cassini got far enough from the sun, it then pointed its high gain towards earth.
Is Celestia just being "smart" about its camera angles and always keeping the spacecraft's orientation constant to the user? Or does it not factor in the spacecraft's real orientation at all?
I am not that familiar with the inner workings of Celestia yet, and was wondering if this script (and associated XYZ file for Cassini) is taking into account the spacecraft's orientation as it is traveling to and around Saturn.
It appears that by default, the spacecraft is always oriented with the low and high gain antennas at the "top." My understanding is that in the first part of the trip to Saturn, the high gain was pointed towards the sun. Once Cassini got far enough from the sun, it then pointed its high gain towards earth.
Is Celestia just being "smart" about its camera angles and always keeping the spacecraft's orientation constant to the user? Or does it not factor in the spacecraft's real orientation at all?
Jon,
I have had very limited experience installing scripts. Have successfully installed Solar System Tours by Bob Hegwood and Space Opera by AuReality. I have installed both of these in my Addons directory, with .cel file in main Celestia directory. Is the installation of your scripts done in a similar way? What is the .cel file that goes in the main Celestia directory, so that the script can be run from Celestia\File\Open Script? I hope we can see your script included in the Motherlode before long.
Dollard
Ditto.
I too haven't had any luck with getting these scripts to work. As well as trying to get many add-on's to work
Thank you
Terry
I have had very limited experience installing scripts. Have successfully installed Solar System Tours by Bob Hegwood and Space Opera by AuReality. I have installed both of these in my Addons directory, with .cel file in main Celestia directory. Is the installation of your scripts done in a similar way? What is the .cel file that goes in the main Celestia directory, so that the script can be run from Celestia\File\Open Script? I hope we can see your script included in the Motherlode before long.
Dollard
Ditto.
I too haven't had any luck with getting these scripts to work. As well as trying to get many add-on's to work
Thank you
Terry
Well I'm no expert at Celestia but on the first question I don't think that one can change the orientation of the spacecraft in relation to the Earth in a .CEL script at this time. (Always having the antenna pointing towards the Earth). At least I don't know how to do it.
As far as "installing" the script I don't believe any installation is necessary. (As long as you're running 1.3.2 pre10 or higher which includes the Cassini files.) You should be able to place the file in any diectory (even your desktop for instance) and double-click it and it should automatically launch Celesitia and begin the script. However, you must associate .CEL file types with the Celestia program (this is the default when installing Celestia). If this was bypassed at installation you have to go into My Computer/Tools/File Options and then select the File Types tab. Page down to the .CEL file type and associate it with the celestia.exe file.
Also these scripts have now been uploaded tot he Celestia site so you can download them directly without cutting and pasting...
http://celestiamotherlode.net/creators/jromer
As far as "installing" the script I don't believe any installation is necessary. (As long as you're running 1.3.2 pre10 or higher which includes the Cassini files.) You should be able to place the file in any diectory (even your desktop for instance) and double-click it and it should automatically launch Celesitia and begin the script. However, you must associate .CEL file types with the Celestia program (this is the default when installing Celestia). If this was bypassed at installation you have to go into My Computer/Tools/File Options and then select the File Types tab. Page down to the .CEL file type and associate it with the celestia.exe file.
Also these scripts have now been uploaded tot he Celestia site so you can download them directly without cutting and pasting...
http://celestiamotherlode.net/creators/jromer
2.8G P-4 512k NVidia FX-5200
Celestia 1.4.1 running on WinXP (NVidia 61.77)
Celestia 1.4.1 running on Ubuntu6.06 (kind of...)
Celestia 1.4.1 running on WinXP (NVidia 61.77)
Celestia 1.4.1 running on Ubuntu6.06 (kind of...)