Page 1 of 1

New Feature Request - "Phase-Lock" Follow Mode

Posted: 14.03.2002, 05:09
by hank
I'd like to propose a new "follow" mode for Celestia, which I believe would be very useful and fairly easy to implement. I call it "phase-lock" follow mode. Here's an explanation of how it would work:

A "follow" mode is an operating mode in which the location of the observer is continuously automatically adjusted to maintain a specific distance and direction from an observed object. To put it simply, the observer "follows" the object as it moves through space.

Currently, Celestia has two follow modes. The first I would call "space-lock" follow mode and the second I would call "spin-lock" follow mode. (In Celestia documentation they are generally called "follow" and "synch orbit" modes, respectively.)

In "space-lock" mode, the observer remains at a fixed distance and absolute (space) direction from the followed object. In "spin-lock" mode, the observer also remains at a fixed distance from the followed object, however the direction is not fixed in space, but rotates with the axial spin of the object, so that the direction remains fixed with respect to the object's surface.

In "space-lock" mode, the object is seen to spin around its axis, but the background stars do not move; while in "spin-lock" mode, the object does not appear to spin, but the stars move quickly by. These modes should be familiar to Celestia users.

In the new follow mode which I am proposing, the observer would remain at a fixed distance from the followed object, and the direction from the object to the observer would remain fixed relative to the direction from the followed object to another object (the reference object). In this mode, the angle from the observer to the followed object to the reference object would remain constant. In astronomy, when the reference object is the sun, this angle is called the "phase angle", which is why I call the proposed mode "phase-lock" follow mode.

In "phase-lock" follow mode, when the reference object is the sun, the phase angle at which the followed object is observed remains fixed. Thus the "phase" of the object (as in "phase of the moon") remains constant. So, for example, you can position the observer so that the earth is nearly fully illuminated, and follow the earth in "phase-lock" mode (with the sun as reference), and the earth will remain nearly fully illuminated as it spins on its axis and the stars roll by. The earth will never appear to go dark.

You can't achieve this effect in either of the existing modes. In "spin-lock" follow mode, the terminator appears to move around the earth once a day. In "space-lock" follow mode, the terminator moves around the earth once a year. In both cases, the earth goes dark part of the time. But in "phase-lock" mode, the terminator does not appear to move, so the earth remains bright.

Another use for "phase-lock" follow mode is when you want to observe one object from the vicinity of another and have both objects remain in view. For example, suppose you want to watch comet Halley as it dives into the inner solar system. You want to have Halley in the foreground of your view and the sun in the background. You cannot do this with the existing follow modes. But in "phase-lock" mode, you just position yourself behind Halley, with the sun in the background, and away you go. Similarly, you could use "phase-lock" mode to watch a near-Earth asteroid approach the Earth, or Galileo fly by a Jovian moon, or a comet crash into Jupiter.

I hope I've convinced you this feature might be some fun!

I think the implementation should be fairly easy (famous last words), because it just requires transforming the direction vector from a special coordinate system centered on the followed object with the reference object lying on the x-axis. This would be similar to how the direction vector is currently transformed from the followed object's rotating coordinate system for "spin-axis" ("sync orbit") follow mode.

As for the user interface, it might work something like this: select the object to follow and press a key to enter basic follow mode. Then, select the reference object, and press a key to enter "phase-lock" follow mode. The overlay could display something like "Phase Lock Earth/Sun".

My sense is that this feature would provide quite a lot of bang for the buck. Perhaps one of our interpid developers would be willing to give it a try?

- Hank

Oops

Posted: 14.03.2002, 05:15
by hank
Oops. That should have read: "intrepid" developers. (I'm not sure what "interpid' means, but it doesn't sound like a compliment...)

- Hank

Posted: 14.03.2002, 06:25
by chris
This is an excellent idea . . .

I went ahead an implemented a limited form of it where the reference objects is assumed to be the sun. The cool thing is that because Celestia already has a framework for handling new coordinate systems, it took me only half an hour to code it. The more general case is a very straightforward extension that will probably only take another half an hour.

Your speculation was right on--phase lock is the perfect coordinate system for riding on a comet. Once I finish comet tails, this will be absolutely spectacular . . .

I think it makes sense to have phase lock mode replace the rather unintuitive tracking mode that Celestia currently has. As far as I can tell, the phase lock coordinate system does everything that track mode is supposed to do, but since it's a well defined coordinate system, orbit and rotate will still behave reasonably.

Thank you very much for the suggestion; expect a preview of this feature very soon . . .

--Chris

Tracking Mode

Posted: 14.03.2002, 08:20
by hank
Chris,

I'm glad you liked the idea, and that it seems to be as simple to implement as I had guessed. I think it will be a nice addition to an already superb program.

I'm not sure it should replace tracking mode, though.

To be honest, I've never been completely confident that I understood exactly what tracking mode was doing (or was supposed to do). Obviously it kept the object being tracked in the center of the view, but beyond that I wasn't sure. My assumption has been that tracking mode is essentially equivalent to pressing the "C" key after each clock tick.

If that is the case, then tracking mode, unlike phase-lock, changes only the orientation -- not the location -- of the observer. This would be useful if, for example, you wanted to remain at a specific location on a planet (your backyard, say) and watch an object as it moves across the sky.

- Hank

Tracking Mode

Posted: 14.03.2002, 08:39
by Vicware
Actually, I'm not sure this phase-lock mode is really much different than
Track mode. Let me give my suggestions for additional observer modes
in addition:

1. Waypoint mode - so you can set up a trip with several objects, sit back
and enjoy the ride. Probably extension of Demo mode.

2. Orbital mode - actually put the observer in proper orbit around the object.

3. Secondary centering mode - follow 1 planet, moon, etc. but keep the
screen centered on another - i.e. watch earth spin around sun, or watch Io
orbit around Jupiter from Io.

4. Observer Views - switch forward, back, left, right.

Vic

Tracking Mode

Posted: 14.03.2002, 19:56
by donkey
Vicware wrote:3. Secondary centering mode - follow 1 planet, moon, etc. but keep the
screen centered on another - i.e. watch earth spin around sun, or watch Io
orbit around Jupiter from Io.


If I understand you correctly, you can do this by following one object first and then selecting another and tracking it.

Tracking Mode

Posted: 14.03.2002, 20:35
by chris
hank wrote:Chris,

I'm glad you liked the idea, and that it seems to be as simple to implement as I had guessed. I think it will be a nice addition to an already superb program.

I'm not sure it should replace tracking mode, though.

To be honest, I've never been completely confident that I understood exactly what tracking mode was doing (or was supposed to do). Obviously it kept the object being tracked in the center of the view, but beyond that I wasn't sure. My assumption has been that tracking mode is essentially equivalent to pressing the "C" key after each clock tick.

If that is the case, then tracking mode, unlike phase-lock, changes only the orientation -- not the location -- of the observer. This would be useful if, for example, you wanted to remain at a specific location on a planet (your backyard, say) and watch an object as it moves across the sky.


Your guess about what tracking mode does is right on . . . it's exactly continually pressing C.

Tracking mode works in concert with follow or sync orbit . . . so, with your watching Saturn in the backyard example, enable sync orbit, then tracking mode. Phase lock mode does everything that follow/track does, but doesn't give you the functionality of sync orbit/track. It's easy to come up with a variation of phase lock that is like sync orbit/track, and there are advantages to reformulating track mode in terms of coordinate systems.

I have phase lock working pretty well right now--the UI is pretty much as you described. I'm going to experiment with some other potentially useful coordinate systems, including one that is like sync orbit/track, one where the view direction is along the selected object's velocity vector, and some version of Vic's orbital mode suggestion.

--Chris

Posted: 15.03.2002, 00:12
by Paul
If I understand correctly, this new tracking mode will also allow us to sit in front of the Earth, tracking the Sun with time sped up to search for solar eclipses. That will definitely be useful!

Posted: 16.03.2002, 05:17
by Guest
Chris,

As a frequent user of the tracking mode I hope you will reconsider removing this feature. It is the ideal mode for doing flybys. I like to manually 'drive' through space using the arrow keys and speed keys. When I approach an interesting object I head towards it keeping the object slightly off centre. As I approach a good flyby distance I simply hit the 'T' key and enjoy the flyby. When the flyby is over I just hit 'T' again and travel on my merry way. It is one of my favourite Celestia features.

Matt

Posted: 23.03.2002, 19:16
by Guest
Can you put a smooth camera panning function in as well? Right now when you toggle track mode on and off the camera jumps instantly. It would look very cinematic if the camera panned smoothly. This would really look cool with the waypoint mode that has been suggested. Also I think a waypoint mode should allow some sort of auto speedup/slowdown when near your targets

Thanks

Roger