Over-culling
Posted: 21.06.2002, 05:38
Some days ago I received a mail from someone by the name "Macca the Marra", explaining that he had tried Celestia to account for the fact that systems like Pluto and Charon have a common center of mass around which both bodies rotate. That happens also here, in the Moon-Earth system, but since that point is well inside Earth (though not at its center) it's a lesser error to ignore it.
The center of mass for Pluto-Charon is near Pluto, but outside it. He tried to model it by putting there a fictitious body of a very small size (and defined by a transparent texture), and Pluto & Charon as satellites of that body. It didn't work.
I set upon myself to investigate the problem, and I think I've discovered it: it's a over-culling problem. When a planet lies at a distance where it would not be observable, it doesn't get rendered... together with its moons. Now, we have an extremely small "planet", not visible from anywhere... Get it?
Although I believe there should be a cleaner way to have double systems like Pluto-Charon & Earth-Moon to orbit around their centers of mass (and, mind you, automatically, since the mass of both components is known by Celestia), the proposed solution is an easy hack that should work. What do you think?
Greetings.
Bruckner
------------------------------
Here's the ssc code I tested (simplified from what Macca the Marra send to me):
"PlutoCharonBarycenter" "Sol"
{
Radius 1
CustomOrbit "pluto"
EllipticalOrbit
{
Period 248.54
SemiMajorAxis 39.48168677
Eccentricity 0.24880766
Inclination 17.14175
AscendingNode 110.30347
LongOfPericenter 224.06776
MeanLongitude 238.92881
}
RotationPeriod 153.29
Obliquity 122.53
Albedo 0.3
}
"Pluto" "Sol/PlutoCharonBarycenter"
{
Texture "pluto.jpg"
BumpMap "plutobump1k.jpg"
BumpHeight 2.5
Radius 1137
EllipticalOrbit
{
Period 6.387083
SemiMajorAxis 1455
Eccentricity 0.0076
Inclination 0.0 # 96.163 degrees relative to ecliptic
MeanAnomaly 120
}
Albedo 0.3
}
"Charon" "Sol/PlutoCharonBarycenter"
{
Texture "charon.jpg"
Radius 593
EllipticalOrbit
{
Period 6.387083
SemiMajorAxis 19636
Eccentricity 0.0076
Inclination 0.0 # 96.163 degrees relative to ecliptic
MeanAnomaly 120
}
Albedo 0.3
}
The center of mass for Pluto-Charon is near Pluto, but outside it. He tried to model it by putting there a fictitious body of a very small size (and defined by a transparent texture), and Pluto & Charon as satellites of that body. It didn't work.
I set upon myself to investigate the problem, and I think I've discovered it: it's a over-culling problem. When a planet lies at a distance where it would not be observable, it doesn't get rendered... together with its moons. Now, we have an extremely small "planet", not visible from anywhere... Get it?
Although I believe there should be a cleaner way to have double systems like Pluto-Charon & Earth-Moon to orbit around their centers of mass (and, mind you, automatically, since the mass of both components is known by Celestia), the proposed solution is an easy hack that should work. What do you think?
Greetings.
Bruckner
------------------------------
Here's the ssc code I tested (simplified from what Macca the Marra send to me):
"PlutoCharonBarycenter" "Sol"
{
Radius 1
CustomOrbit "pluto"
EllipticalOrbit
{
Period 248.54
SemiMajorAxis 39.48168677
Eccentricity 0.24880766
Inclination 17.14175
AscendingNode 110.30347
LongOfPericenter 224.06776
MeanLongitude 238.92881
}
RotationPeriod 153.29
Obliquity 122.53
Albedo 0.3
}
"Pluto" "Sol/PlutoCharonBarycenter"
{
Texture "pluto.jpg"
BumpMap "plutobump1k.jpg"
BumpHeight 2.5
Radius 1137
EllipticalOrbit
{
Period 6.387083
SemiMajorAxis 1455
Eccentricity 0.0076
Inclination 0.0 # 96.163 degrees relative to ecliptic
MeanAnomaly 120
}
Albedo 0.3
}
"Charon" "Sol/PlutoCharonBarycenter"
{
Texture "charon.jpg"
Radius 593
EllipticalOrbit
{
Period 6.387083
SemiMajorAxis 19636
Eccentricity 0.0076
Inclination 0.0 # 96.163 degrees relative to ecliptic
MeanAnomaly 120
}
Albedo 0.3
}