Page 1 of 1

Non-equatorial geostationary orbits

Posted: 28.01.2006, 16:13
by Chuft-Captain
Hi,

Does anyone know if it's possible to define an orbit in Celestia such that the object does not orbit about the center of it's parent.
For example, an orbit which follows a line of latitude like 45 deg north (or rather a geo-stationary orbit above a point at a certain latitude and longitude)

I know that I can get an object to stay in one place above the parent with the parent revolving below it by giving it a period of 1.0e12, so that it stays put, and then adjusting SemiMajorAxis and Inclination to position it where I want it.
But as soon as I give it a period equal to the rotation period of the parent, it seems to orbit above and below the equator according to it's inclination.

Posted: 28.01.2006, 19:38
by selden
Take a look at http://www.lepp.cornell.edu/~seb/celest ... s-130.html
I think the procedure described there will do what you want.

Posted: 28.01.2006, 21:38
by Chuft-Captain
Thanks Selden,

That looks like it'll work. I guess that the new barycenter object instead of an Invisible object would do the same job, but would only be compatible with 1.4.x.

Cheers

Posted: 29.01.2006, 07:31
by Chuft-Captain
Selden,

That works very well. Thanks for the reference.
Just one thing: The object in orbit always keeps it's axis pointing in the same direction. so by the time it's travelled 1/2 way around it's orbit, it's upside-down with regard to the planet's surface.

What I need to do is to force the axis of the spacecraft to continually change it's orientation so that it is always pointing at the invisible object which it's orbiting. (so it's always on its feet, so to speak)
The procedure didn't seem to explain how to do this.
Any ideas?

Posted: 29.01.2006, 11:58
by selden
You might use the LongLat declaration instead, as is used in Location definitions:

Code: Select all

LongLat [ longitude  latitude  altitude]

e.g.

Code: Select all

LongLat [ -130.5 7.9 300 ]

altitude is in km.

Posted: 29.01.2006, 12:34
by selden
CC,

I just now tested the Grant's Moonbus example. It properly keeps the model aligned with the Moon's surface. It does not continuously point in one direction as you describe. I suspect you left out something.

Posted: 29.01.2006, 12:36
by Chuft-Captain
selden wrote:You might use the LongLat declaration instead, as is used in Location definitions:

Seems like a perfectly reasonable suggestion. Unfortunately the axis still maintains it's spatial orientation.
The only thing I can think of now is to try to specify a "PrecessionRate" to alter the pointing of the spacecraft axis over 360deg during one orbit. (I'm assuming that's what the PrecessionRate command does)
Unfortunately I don't know how to specify the direction of the precession.

Posted: 29.01.2006, 12:59
by selden
I just verified that the Lander placed using LongLat also keeps the same orientation relative to the Moon's surface.

What version of Celestia are you running?

I'm using v1.4.0 final under Windows.

[edit]
It also stays properly oriented for me when running a recent CVS build of Celestia.

You'll have to provide the actual code you're using and a Cel::/ URL so that others can observe what you're seeing.
[/edit]

Posted: 29.01.2006, 13:37
by Chuft-Captain
selden wrote:I just verified that the Lander placed using LongLat also keeps the same orientation relative to the Moon's surface.
Alright that's good news, thanks for that. I'll perservere with the LongLat approach.
Perhaps you can post or PM the SSC code for the Moon / Lander scenario? I'm sure if I saw a correct SSC example I could draw the correct comparisons.

What version of Celestia are you running?
I'm using v1.4.0 final under Windows.
ditto

It also stays properly oriented for me when running a recent CVS build of Celestia.
I'm pretty sure it's me, not the software. :oops:

You'll have to provide the actual code you're using and a Cel::/ URL so that others can observe what you're seeing.

That'll be difficult, as it doesn't really involve any of the publicly available solarsystem planets or spacecraft, but my own unpublished models, textures, ssc's, defining a colony at L5. It's a work in progress, so I know how it's all put together, but it's not packaged up in any consistent way for release yet.
The parent "planet" is actually a rotating O'Neill cylinder (see: http://en.wikipedia.org/wiki/Space_habitat ) and the spacecraft is a shuttle attached near one end of the cylinder, which normally rotates with the cylinder (and will detach to travel to the twin habitat, but that's the next challenge!)
I've been referring to this as a planet in order not to confuse the issue, as it's the same as a planet in principle.

I could grab some screenshots or vid-caps if you like.

Posted: 29.01.2006, 15:46
by selden
I think I've found the "problem."

An object's Obliquity is measured with respect to "the fixed stars", not with respect to the body it's orbiting around. When Obliquity is not specified, Celestia changes the shuttle's orientation continuously so that its orientation appears to stay fixed relative to the body it's orbiting around.

This means that persuading the shuttle to orient itself at a different angle is going to be difficult. One way would be to change the orientation of the mesh within the model with respect to the model's internal coordinate system.

Posted: 29.01.2006, 16:27
by Chuft-Captain
selden wrote:I think I've found the "problem."
You certainly have, Selden; brilliant! (I guess you compared my script with the Moon / Lander script, and this was the significant difference.)
Just one of Celestia's little quirks that you just have to know about I guess.
I commented out the Obliquity line in the SSC and it now maintains a constant orientation with the surface (albeit 90 degrees off).
In fact, before I added the Obliquity to change the orientation, I think it was probably working correctly, but because I was changing several things at once, I failed to isolate the Obliquity as the source of this problem.
selden wrote:This means that persuading the shuttle to orient itself at a different angle is going to be difficult. One way would be to change the orientation of the mesh within the model with respect to the model's internal coordinate system.

...this may be a non-issue because I'm only using Franks Space Station V as a suitable guinea-pig for my positioning experiments. Next step would be to design my own model with the appropriate mesh orientation, or perhaps first experiment by importing Frank's model and rotating it within Anim8tor. I suspect Frank's station has the rotation axis along the Z-axis, whereas I probably need it along the Y-axis.

Thanks very much for all your help Selden.
If you have any other thoughts, PM me.

Cheers
Phil