net.grelf.astro

• java.lang.Object
• Direct Known Subclasses:

```public abstract class StarChartLoader
extends java.lang.Object```
Base for classes loading data for StarChart. Particularly for calculating cartesian equatorial coordinates most efficiently for each star.
``` Method of plotting:

(RA, Dec):

Star S at (as, ds)
Plot centre P at (ap, dp)

Rotate all coordinates so that (ap, dp) becomes (90, 0) degrees
ie, the plot area is out along the y axis

1. Represent (as, ds) as cartesian coordinates:

( x ) = ( cos(as).cos(ds) )
( y )   ( sin(as).cos(ds) )
( z )   ( sin(ds)         )

2. Rotate about 0z through 90 - ap:

( x' ) = ( cos(90-ap)  -sin(90-ap)   0 ) ( x )
( y' )   ( sin(90-ap)   cos(90-ap)   0 ) ( y )
( z' )   (     0             0       1 ) ( z )

3. Then rotate about 0x through -dp:

( x" ) = (     1         0        0       ) ( x' )
( y" )   (     0      cos(-dp)  -sin(-dp) ) ( y' )
( z" )   (     0      sin(-dp)   cos(-dp) ) ( z' )

so the combined rotation is

( x" ) = (     cos(90-ap)           -sin(90-ap)           0     ) ( x )
( y" )   ( cos(-dp).sin(90-ap)   cos(-dp).cos(90-ap)  -sin(-dp) ) ( y )
( z" )   ( sin(-dp).sin(90-ap)   sin(-dp).cos(90-ap)   cos(-dp) ) ( z )

4. Then check that y" > 0 and that x" and z" are within range for the plot.
```
• Field Summary

Fields
Modifier and Type Field and Description
`protected double` `cos90ap`
`protected double` `cosdp`
`protected JulianDate` `epoch`
`protected Epoch` `equinox`
`protected double` `sin90ap`
`protected double` `sindp`
`protected double` `sinFieldRadius`
• Constructor Summary

Constructors
Constructor and Description
`StarChartLoader()`
• Method Summary

All Methods
Modifier and Type Method and Description
`protected void` `calculateChartCoordinates(Star star)`
This version is fine if the Star is already known to be within the required cone.
`JulianDate` `getEpoch()`
`Epoch` `getEquinox()`
`protected void` ```initialiseChartCoordinates(SkyPoint plotCentre, double fieldRadiusDegs)```
Calculate certain fields just once so they do not have to be calculated for every star.
• Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• Field Detail

• equinox

`protected Epoch equinox`
• epoch

`protected JulianDate epoch`
• cos90ap

`protected double cos90ap`
• sin90ap

`protected double sin90ap`
• cosdp

`protected double cosdp`
• sindp

`protected double sindp`

`protected double sinFieldRadius`
• Constructor Detail

`public StarChartLoader()`
• Method Detail

• getEquinox

`public Epoch getEquinox()`
• getEpoch

`public JulianDate getEpoch()`
• initialiseChartCoordinates

```protected void initialiseChartCoordinates(SkyPoint plotCentre,
`protected void calculateChartCoordinates(Star star)`