Voyager 2 Script

All about writing scripts for Celestia in Lua and the .cel system
Topic author
Paul L

Voyager 2 Script

Post #1by Paul L » 06.08.2003, 01:29

Here are the basics of a Voyager 2 script (starting at Jupiter encounter) that I'm working on. It's loosely supposed to mimick the excellent JPL animations of the early 80s. Because the various rotations and fly pasts are time interval dependant, the degree to which it works will vary from computer to computer. I'm still learning this stuff and haven't figured out how to make the various movements and slews independant of variables such as 'duration' etc. I'm also yet to do the major satellite encouters etc. Again, this is JUST the basic 4 planet flybys. I'm using Kalaus Gierloff's voyager package and "Jack's" xyz's.

Paul


{
labels {clear "galaxies|moons|asteroids|constellations|stars|planets|spacecraft" }

time {jd 2444060.97094}

select { object "Voyager 2" }
gotolonglat {distance 2 longitude 120 latitude 10 up [0 1 0] time 1}

wait { duration 2 }
follow { }

timerate {rate 30000.0}

select { object "jupiter" }
lock { }
center { }

wait { duration 14 }
select { object "Voyager 2" }


timerate { rate 20000 }
orbit { axis [ 0 1 0 ] rate -40 duration 5 }
wait { duration 1 }
time {jd 2444840.72903}
select { object "saturn" }
lock { }
wait { duration 12 }

timerate { rate 20000 }
orbit { axis [ 0 1 0 ] rate -40 duration 5 }
wait { duration 1 }
time {jd 2446453.72903}
select { object "uranus" }
lock { }
center { }
wait { duration 10 }


timerate { rate 8000 }
orbit { axis [ 0 1 0 ] rate -40 duration 4 }
wait { duration 1 }
time {jd 2447763.04167}
select { object "neptune" }
lock { }
center { }
wait { duration 8 }
orbit { axis [ 0 1 0 ] rate 20 duration 1 }

}

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 4 months
Location: NY, USA

Post #2by selden » 06.08.2003, 03:47

Paul,

I haven't tried your script yet, but there seems to be a little confusion:
Paul L wrote:Because the various rotations and fly pasts are time interval dependant, the degree to which it works will vary from computer to computer.


Celestia calculates everything that happens in "realtime". The only thing that varies depending on the computer's performance is the framerate.

"Duration" is measured in terms of the computer's real time of day: Duration 1 = 1 second of your wall-clock time.

Time progression within the simulation is precisely controlled by the "timerate" command. Celestia multiplies the real passage of time by that factor. Each frame is a snapshot of things that happen at a particular time. If Celestia can only draw 12 frames per second on your computer, it shows what happens at the end of each 12th of a second. If the computer "can't keep up", it doesn't change how fast things progress, you just don't see quite as many snapshots of them taking place.

Does this help clarify things a little?
Selden

Topic author
Paul L

Time

Post #3by Paul L » 06.08.2003, 05:02

Yes, thanks Selden - this does make sense. I suspected the difference from machine to machine had something to do with frame rates, but instead I clumsily interpreted it using script time commands. Thanks for clarifying.

Paul L

selden wrote:Paul,

I haven't tried your script yet, but there seems to be a little confusion:
Paul L wrote:Because the various rotations and fly pasts are time interval dependant, the degree to which it works will vary from computer to computer.

Celestia calculates everything that happens in "realtime". The only thing that varies depending on the computer's performance is the framerate.

"Duration" is measured in terms of the computer's real time of day: Duration 1 = 1 second of your wall-clock time.

Time progression within the simulation is precisely controlled by the "timerate" command. Celestia multiplies the real passage of time by that factor. Each frame is a snapshot of things that happen at a particular time. If Celestia can only draw 12 frames per second on your computer, it shows what happens at the end of each 12th of a second. If the computer "can't keep up", it doesn't change how fast things progress, you just don't see quite as many snapshots of them taking place.

Does this help clarify things a little?


Return to “Scripting”