Albedo and radius of parent affect satellites

Report bugs, bug fixes and workarounds here.
Topic author
granthutchison
Developer
Posts: 1863
Joined: 21.11.2002
With us: 22 years 5 months

Albedo and radius of parent affect satellites

Post #1by granthutchison » 26.03.2003, 00:23

Probably not a bug, but just Celestia cleverly reducing its rendering load in expectation of being offered only physically plausible planet/satellite combinations.
Unfortunately, I'm doing something physically implausible. To create a set of statite mirrors illuminating Mars, I need to allow for the effects of light pressure. This means I have to have a non-physical centre for the "orbit" of the mirrors - I need a body in Celestia around which the mirrors move, but which wouldn't be there in the real world. So I want to hide this object from casual visibility.
But:
1) If I make it much smaller than 1km radius, my 75km radius mirrors vanish.
2) If I assign it an albedo <0.0001, my mirrors (albedo 1.0) vanish.
3) If I assign it a lowish albedo >0.0001, my mirrors seem to partake of the low albedo, and become invisible at long distances.
4) If I leave it at 1km radius and with an undefined albedo, my mirrors are visible from afar, but so (dimly) is my central body!

1 and 2 seem like reasonable efforts to limit unnecessary rendering - if the parent body becomes invisible, forget its satellites. 3, I guess, is more of the same, but it does seem marginally closer to a bug than a feature. :wink:
However, it leaves me with a problem. Can anyone suggest a workaround?

Grant

Calculus
Posts: 216
Joined: 19.10.2002
With us: 22 years 6 months
Location: NY

Post #2by Calculus » 26.03.2003, 00:45

I got 3 ideas you may try:
1/ Make it black and try with or without emissive=true
2/ Use a completely tranparent texture
---Paul
My Gallery of Celestial Phenomena:
http://www.celestiaproject.net/gallery/view_al ... e=Calculus

Topic author
granthutchison
Developer
Posts: 1863
Joined: 21.11.2002
With us: 22 years 5 months

Post #3by granthutchison » 26.03.2003, 01:28

Aha! Thank you. Color [ 0 0 0] does the trick, because it means my object is plotted as a black light-source.

More fiddling reveals that all my observations 1, 2, 3 & 4 are caused by the same underlying mechanism - if Celestia calculates that the parent body is invisible from the present viewpoint, it doesn't process any satellites. If I make my central body small enough, or reduce its albedo far enough, it becomes invisible from any of the orbiting mirrors - so when I go to a mirror the mirror isn't there, because Celestia can't "see" the dim parent body from that location!
Making my central body black gets around this limitation, because a bright black body is still black. So if I set my central body to the same radius and albedo as the orbiting mirrors, they behave normally as the viewpoint recedes from them, and only vanish once they reach the limit of visibility.

But I'm interested in trying a completely transparent texture, which would make the central object invisible at close quarters, too. I'd experimented a little with this before I posted my problem, but found that a transparent png texture just revealed an underlying white ball. Is there a way to produce a completely transparent central object?
Maybe a 3ds object?

Grant

Topic author
granthutchison
Developer
Posts: 1863
Joined: 21.11.2002
With us: 22 years 5 months

Post #4by granthutchison » 26.03.2003, 02:01

Yup, solved it. :)
If you want to create an invisible "planet" to provide a centre for some visible objects, do the following:

1) Create a completely transparent 3ds object, and use this as the mesh for your "planet" - making it invisible at close range.

2) Assign it Color [ 0 0 0 ] - making it invisible at long range.

3) Set its radius and albedo higher than any of the objects in orbit around it - this will prevent Celestia turning them off prematurely because it figures the parent body has become invisible.

Thanks very much indeed, Calculus!

Grant
Last edited by granthutchison on 26.03.2003, 08:59, edited 1 time in total.

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

Post #5by selden » 26.03.2003, 03:33

Grant,

I do hope you'll be making this invisible object available for others to use!
Selden

Topic author
granthutchison
Developer
Posts: 1863
Joined: 21.11.2002
With us: 22 years 5 months

Post #6by granthutchison » 26.03.2003, 08:58

selden wrote:I do hope you'll be making this invisible object available for others to use!
It needs a little work ... :wink:

Grant

chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 23 years 3 months
Location: Seattle, Washington, USA

Post #7by chris » 26.03.2003, 09:24

selden wrote:Grant,

I do hope you'll be making this invisible object available for others to use!

I was hoping that you'd write:

I do hope you'll be making this invisible object available for others to see!

Ok . . . so that's not very funny and I may have been drinking just a bit too much Chartreuse tonight. On to my real point . . . I'd like to hear suggestions on how to modify Celestia so that nasty hacks like this aren't required to simply place objects in right orbits in space. What could be changed to make the invisible parent body unnecessary?

--Chris

Topic author
granthutchison
Developer
Posts: 1863
Joined: 21.11.2002
With us: 22 years 5 months

Post #8by granthutchison » 26.03.2003, 17:53

chris wrote:I'd like to hear suggestions on how to modify Celestia so that nasty hacks like this aren't required to simply place objects in right orbits in space. What could be changed to make the invisible parent body unnecessary?
I think support of a "point object" would solve many problems. My suggestion would be that any object created with an undefined radius would be treated as nothing more than a moving coordinate around which orbits could be created. Celestia would necessarily check the visibility of all satellites of such an object, and render as appropriate.

Grant

eurisko97@aol.com

I am SO glad I read this.

Post #9by eurisko97@aol.com » 25.04.2003, 02:27

I've been floating around an idea similar to this in my mind for some time, and I'm really glad to see that other people can appreciate the merit of it perhaps.

This idea might actually greatly increase the accuracy of Celestia. It is a fact that the Moon does not orbit around the Earth, and the Earth does not orbit around the sun, rather, a objects satellite and the object itself as well, move around their mutual center of gravity. It would be intresting if the arcitecture specifying the rendering of orbits and setting up planetary system could be changed to reflect this. It would be equally intresting if we could lock onto a sync orbit with the center of gravity, and if we did so we'd be able to clearly see the Earth or the sun wobble back and forth as the sattelites around it pull it out of position. Most dramatic would be the Pluto-Charon system. In its case the center of gravity is outside of both bodies. If we could lock on to it we'd be able to actually watch the both of them orbit around each other.

It might also be easier to implement a system for Celestia to dynamically calculate orbits into the future through this system. All it would need to keep track of our the positions of all of the centers of gravity and to calculate their effects on eachother.

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

Post #10by selden » 25.04.2003, 02:57

Celestia doesn't do gravity because it requires too much computing. It also would prevent being able to go to specific times with no preparation.

All of the planetary orbits calculated by Celestia using the VSOP-87 theory already take into acount orbiting around the appropriate barycenters, including the earth/moon system. The "VSOP-87 theory" is a set of multiterm formulas for the orbits of the planets that already takes into account all the major gravitational effects in the solar system. All you have to do is plug in the epoch. Their accracy is determined by the number of terms you're willing to calculate. Over a thousand terms are available for the earth's orbit, for example, although I don't think Celestia uses that many. Even so, they involve much less computing than trying to solve the multi-body gravitaional problem numerically from scratch.

Grant's already used the new "invisible object" to do the Pluto/Charon barycenter orbits. See http://www.lns.cornell.edu/~seb/celestia/hutchison/invisible-130.html
Selden

MrBatman

Post #11by MrBatman » 25.04.2003, 05:42

Now use it to make true binary star systems, where the stars actually rotate around each other. :)


Return to “Bugs”