I'm working with data from the DAMIT database of asteroid shape models. I'm adding them to a visualization in which the sun is at [0, 0, 0] and the X, Y axes constitute the ecliptic plane of the solar system.

Each asteroid model comes with some attributes that define its orientation and spin:

  • λ (ecliptic longitude),
  • β (ecliptic latitude)
  • P (sidereal rotation period)
  • φ0 (initial rotation angle)
  • JD0 (initial date).

I've applied the matrix formulas suggested by the folks at DAMIT:

ecliptic rotation

in which

matrix definitions[2]

This is where I get confused. My understanding is that my visualization uses a heliocentric ecliptic coordinate system.

I set r_ast to the XYZ location of a vertex in my visualization. I'm not sure this is correct.

Then I compute r_ecl from the equation above. But I think variables λ and β are angles in a geocentric ecliptic coordinate system and I need to do some transformation into heliocentric ecliptic coordinates.

Is my approach correct and if so, how can I convert the asteroid's rotation to my visualization's heliocentric ecliptic coordinate system?

  • $\begingroup$ $\lambda$ and $\beta$ are the co-ordinates of the asteroid's pole in a heliocentric ecliptic frame so I think you are OK if this is also what your visualization is using $\endgroup$ Feb 7, 2019 at 15:23
  • $\begingroup$ Thanks @astrosnapper. How can you tell λ and β are heliocentric rather than geocentric in this case? From this table of ecliptic coordinate notation on Wikipedia I guessed they were geocentric: en.wikipedia.org/wiki/… $\endgroup$
    – ty.
    Feb 7, 2019 at 16:23
  • 1
    $\begingroup$ Technically it doesn't specify the origin (and it should) but since the asteroid is in orbit around the Sun and not the Earth, heliocentric vs geocentric seems most likely $\endgroup$ Feb 7, 2019 at 16:46
  • $\begingroup$ Thank you @astrosnapper. One more point of clarification. Is it correct to set r_ast to the asteroid's heliocentric ecliptic rectangular coordinates? The website describes r_ast as a vector in the "asteroid co-rotating coordinate frame" but I'm not sure what that means here. $\endgroup$
    – ty.
    Feb 8, 2019 at 18:29

1 Answer 1


r_ast is a vector that goes from the center of the asteroid to each vertex of the shape model as if you had stuck a set of rods in the center of a potato and pointing along the long axis, to the pole on top and 90 degrees to these to give X,Y,Z directions.

The matrices above that you give then transform these r_ast vectors for the co-ordinates of the surface of the asteroid into the ecliptic plane as a function of time as the asteroid rotates, giving you r_ecl. It says in the Kaasalainen paper (I think) that r_ecl has an origin shifted to the center of the asteroid. If you are wanting a visualization of what the asteroid looks like relative to the Earth or Sun etc, then you will need to calculate the Sun->asteroid vector and the Sun->Earth vector using e.g. JPL HORIZONS and using the Vector Table ephemeris type or a programmatic wrapper to this (e.g. astroquery) or the NAIF SPICE toolkit and getting or generating a SPK kernel file for the asteroid (the normal e.g. de430.bsp JPL planetary ephemeris will handle the Sun->Earth part)

  • $\begingroup$ Thanks for your answer, it was really helpful and I've made a lot of progress on my project. I've asked a follow up question in case you are interested in seeing where your answer took me :) astronomy.stackexchange.com/questions/29575/… $\endgroup$
    – ty.
    Feb 13, 2019 at 8:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .