Not signed in (Sign In)

Vanilla 1.1.8 is a product of Lussumo. More Information: Documentation, Community Support.

    • CommentAuthoroscar
    • CommentTimeApr 30th 2009
     
    Hi Shawn,
    I have been playing around with your JSatTrack source code for learning a bit og satellite tracking principles (+ the celestrak articles) and find it very cool.
    One thing I´d like to do is be able to draw coordinate systems, planes and axes to visually understand the concepts.
    ECEF (this is immediate)
    ECI (how do I calculate the vernal equinox direction with you classes? (e.g. CoordinateTransformation)
    Sun direction
    Ecliptic plane
    Could you please give me some hints on how to proceed?
    Thanks in advance,
    Oscar
    • CommentAuthorsgano
    • CommentTimeMay 3rd 2009
     
    Hi Oscar,

    Drawing coordinate systems would be a really nice addition to the program. Here are some ideas that might help - and if you get something working please share!

    To do coordinate transformations: use the static methods of name.gano.astro.coordinates.CoordinateConversion see the comments in the file but it basically has all the methods needed to transform between different vernal equinox coordinate systems including precession and nutation.

    Sun direction: see the class name.gano.astro.bodies.Sun (there is also one for the moon), you can either instantiate a new Sun object or use the one from the main JSatTrak class (jsattrak.gui.JSatTrak) that gets used for other calculations that need the sun and that one is automatically updated when the user change the time. I just realized that the Sun object is public and there is no get method for it (from JSatTrak) so I have made it private and added a getSun method and updated it in the SVN so that will be changed in the next version.

    Ecliptic plane: see the method name.gano.astro.coordinates.CoordinateConversion.MeanObliquity(double Mjd_TT) if you need more precision than that see a good reference book.

    To actually draw the planes and axis you will have to create a new "layer" for World Wind Java (for examples see the classes in the package: name.gano.worldwind.layers.Earth). Then add some renderable lines or curves.

    I really like the way the planes are drawn in Celestia (http://www.shatters.net/celestia/) as they smoothly change as the view is changed so the lines are always equally spaced out. You might be able to leverage from their source code as well.

    Hope this helps, keep me posted on how it works out!
    - Shawn