[Kstars-devel] Fwd: Plans for threading in KStars

Daniel-Marian Baboiu daniel.baboiu at shaw.ca
Mon Nov 14 17:40:27 UTC 2011


On Mon, 2011-11-14 at 10:25 -0600, Akarsh Simha wrote:
> On Mon, Nov 14, 2011 at 09:27:43AM +0300, Alexey Khudyakov wrote:
> > > There is no answer in Meeus, he only presents simplified versions, but
> > > precise enough for practical purposes. Precession has the main component
> > > a rotation in the ecliptic plane, but also a much smaller component of
> > > tilting the ecliptic plane. Nutation is a little more complicated, it
> > > has oscillatory terms.
> > >
> > In the end it's just a sphere rotation so it could be represented as quaternion
> > and it'll be same for all objects. It's surely non-trivial task to calculate it.

Sorry. I confused obtaining nutation parameters (which are oscillatory) with
applying the correction which should be a rotation, but because the correction 
is small, it is usually presented as small corrections to lambda and
beta (Meeus and other sources) - a linear approximation of rotations

> What exactly do you mean by Cartesian Coordinates? All objects are
> stuck to the celestial sphere (KStars doesn't know distances to most
> objects, unfortunately), so you could certainly use Cartesian
> Coordinates, with unit norm. But isn't spherical coordinates simpler
> here? Also, we typically would want to be able to show the user
> Altitude and Azimuth of an object.

Spherical coordinates are definitely the most intuitive (and the most
compact) to use for celestial coordinates. The problem we are discussing
here is about coordinate transforms - spherical coordinates are more
computationally intensive than Cartesian vectors and quaternions. In
fact, the formulas for coordinate transforms in spherical coordinates
are hidden spherical<->Cartesian transforms, with a 3D Cartesian
rotation matrix in between. The formulas for transform are actually the
final multiplication of these transformation matrices, done by hand
(symbolic math) offline. For example, the equatorial-to-ecliptic
transform can be written in matriceal form:

(cos(beta)cos(lambda)) (1     0        0    )(cos(delta)cos(alpha))
(cos(beta)sin(lambda))=(0  cos(eps) sin(eps))(cos(delta)sin(alpha))
(sin(beta)           ) (0 -sin(eps) cos(eps))(sin(delta)          )





More information about the Kstars-devel mailing list