#152 orbits around Pluto incorrectly inclinded ~90 degrees

v1.5
closed-fixed
5
2007-12-28
2007-12-25
Selden Ball
No

When an object is defined to be orbiting around Pluto, the object orbits with the wrong inclination: about 90 degrees wrong. The orbital path is drawn correctly, however.

Here's an orbit which demonstrates the problem:

"Hydra" "Sol/Pluto"
{
Radius 70

EllipticalOrbit
{
Period 38.2
SemiMajorAxis 64700
AscendingNode 273
}
}

and here's a URL to watch it:

cel://Follow/Sol:Pluto/2008-08-19T04:57:31.22158?x=NhdJaLYW2Ef//////////w&y=womNwYsKauw0&z=wMFM1O2kwNDvAQ&ow=-0.320010&ox=0.183157&oy=-0.433754&oz=0.822134&select=Sol:Pluto:Hydra&fov=25.997908&ts=1000000.000000&ltd=0&p=0&rf=328247&lm=2050&ver=2

This problem was discovered by "Derek" on the Celestia Forum. See http://shatters.net/forum/viewtopic.php?t=11827&

Discussion

  • Chris Laurel

    Chris Laurel - 2007-12-27

    Logged In: YES
    user_id=159994
    Originator: NO

    Explicitly setting the orbit frame to BodyEquator { Center "Sol/Pluto" } makes the orbit work as expected. This should be equivalent to the default orbit frame, but I verified that this is not the case. I'm investigating what's going wrong with the default orbit frame.

     
  • Chris Laurel

    Chris Laurel - 2007-12-27
    • labels: 602278 --> Reference Frames
     
  • Chris Laurel

    Chris Laurel - 2007-12-28

    Logged In: YES
    user_id=159994
    Originator: NO

    The situation required to replicate this bug is somewhat complicated: you need a object without a reference frame orbiting an object that does have a defined OrbitFrame. I've uploaded a patch that fixes the bug:

    http://www.shatters.net/~claurel/celestia/files/patches/framebug/body.cpp

    src/celengine/body.cpp is the only file that needs to be replaced. The function Body::getHeliocentricPosition() is replaced with a new version; since positioning of solar system objects depends on this function, some time should be spent carefully checking for regressions caused by the change.

     
  • Selden Ball

    Selden Ball - 2007-12-28

    Logged In: YES
    user_id=662401
    Originator: YES

    The reported problem seems to be gone.

    I'm not entirely sure what I should be looking for, but visual
    inspections of the Jovian and Saturnian systems didn't show anything obviously different between Celestia with the new body.cpp and with the old one.

     
  • Chris Laurel

    Chris Laurel - 2007-12-28

    Logged In: YES
    user_id=159994
    Originator: NO

    Fixed by changing Body::getHeliocentricPosition(); verified by Selden.

     
  • Chris Laurel

    Chris Laurel - 2007-12-28
    • status: open --> closed-fixed
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks