Celestia goes straight to hell (3Megaparsecs away)
Posted: 31.03.2009, 08:37
Hi guys,
I think I've seen a similar bug posted before, but I can't track it down, so I'll log this here. (You'll need my Lagrange Points addon to be able to replicate the bug. or alternatively, just use the code snippet below from the addon, which should be enough to replicate the problem)
THE PROCEDURE:
1. In ENTER menu, select Moon-L2
2. Goto Moon-L2
3. ENTER Menu, select Moon
4. C (center the moon)
5. shift-: (lock to the moon)
THE PROBLEM:
On trying to LOCK, celestia goes to hell. (Which seems to be a place oscillating between 1 and 4 Megaparsecs away.
It is not possible to recover and return to Sol...Celestia must be shut down.
ANALYSIS:
This definitely seems to have something to do with reference frames. For example, selecting the Moon and locking with earth does not cause the problem.
I would have thought that a badly constructed / inconsistent reference frame might cause this (and I think that was the conclusion of the other thread), however, I don't believe that there's anything wrong with my current reference frame code.
Note: I've also experienced this bug with other addons (which also use reference frames) so this seems to confirm my suspicions that Celestia has a problem locking with other objects when reference frames are involved.
I've tried all manner of things to try and isolate the problem to my SSC code, but nothing works, so I suspect there's a bug somewhere in the C++ code. Hopefully with this information and my SSC code, someone can debug it.
Any comments appreciated.
CC
CODE FOR THE Earth-Moon LAGRANGE POINTS -- needed to replicate the bug (or alternatively, download and install the lagrange point addon itself).
I think I've seen a similar bug posted before, but I can't track it down, so I'll log this here. (You'll need my Lagrange Points addon to be able to replicate the bug. or alternatively, just use the code snippet below from the addon, which should be enough to replicate the problem)
THE PROCEDURE:
1. In ENTER menu, select Moon-L2
2. Goto Moon-L2
3. ENTER Menu, select Moon
4. C (center the moon)
5. shift-: (lock to the moon)
THE PROBLEM:
On trying to LOCK, celestia goes to hell. (Which seems to be a place oscillating between 1 and 4 Megaparsecs away.
It is not possible to recover and return to Sol...Celestia must be shut down.
ANALYSIS:
This definitely seems to have something to do with reference frames. For example, selecting the Moon and locking with earth does not cause the problem.
I would have thought that a badly constructed / inconsistent reference frame might cause this (and I think that was the conclusion of the other thread), however, I don't believe that there's anything wrong with my current reference frame code.
Note: I've also experienced this bug with other addons (which also use reference frames) so this seems to confirm my suspicions that Celestia has a problem locking with other objects when reference frames are involved.
I've tried all manner of things to try and isolate the problem to my SSC code, but nothing works, so I suspect there's a bug somewhere in the C++ code. Hopefully with this information and my SSC code, someone can debug it.
Any comments appreciated.
CC
CODE FOR THE Earth-Moon LAGRANGE POINTS -- needed to replicate the bug (or alternatively, download and install the lagrange point addon itself).
Code: Select all
ReferencePoint "Moon-L1" "Sol/Earth/Moon"
{
OrbitFrame
{
TwoVector
{
Center "Sol/Earth/Moon"
Primary
{
Axis "x"
RelativePosition { Target "Sol/Earth" }
}
Secondary
{
Axis "y"
RelativeVelocity { Target "Sol/Earth" }
}
}
}
FixedPosition [ 61272.261 0.0 0 ]
}
ReferencePoint "Moon-L2" "Sol/Earth/Moon"
{
OrbitFrame
{
TwoVector
{
Center "Sol/Earth/Moon"
Primary
{
Axis "x"
RelativePosition { Target "Sol/Earth" }
}
Secondary
{
Axis "y"
RelativeVelocity { Target "Sol/Earth" }
}
}
}
FixedPosition [ -61272.261 0.0 0 ]
BodyFrame
{
BodyFixed
{
Center "Sol/Earth/Moon"
}
}
}
ReferencePoint "Moon-L3" "Sol/Earth/Moon"
{
OrbitFrame
{
TwoVector
{
Center "Sol/Earth/Moon"
Primary
{
Axis "x"
RelativePosition { Target "Sol/Earth" }
}
Secondary
{
Axis "y"
RelativeVelocity { Target "Sol/Earth" }
}
}
}
FixedPosition [ 770745.965 0.0 0 ]
}
ReferencePoint "Moon-L4" "Sol/Earth/Moon"
{
OrbitFrame
{
TwoVector
{
Center "Sol/Earth/Moon"
Primary
{
Axis "x"
RelativePosition { Target "Sol/Earth" }
}
Secondary
{
Axis "y"
RelativeVelocity { Target "Sol/Earth" }
}
}
}
FixedPosition [ 187529.685 -332900.165 0 ]
}
ReferencePoint "Moon-L5" "Sol/Earth/Moon"
{
OrbitFrame
{
TwoVector
{
Center "Sol/Earth/Moon"
Primary
{
Axis "x"
RelativePosition { Target "Sol/Earth" }
}
Secondary
{
Axis "y"
RelativeVelocity { Target "Sol/Earth" }
}
}
}
FixedPosition [ 187529.685 332900.165 0 ]
}