public abstract class StarChartLoader
extends java.lang.Object
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.
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 and Description |
---|
StarChartLoader() |
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.
|
protected Epoch equinox
protected JulianDate epoch
protected double cos90ap
protected double sin90ap
protected double cosdp
protected double sindp
protected double sinFieldRadius
public Epoch getEquinox()
public JulianDate getEpoch()
protected void initialiseChartCoordinates(SkyPoint plotCentre, double fieldRadiusDegs)
protected void calculateChartCoordinates(Star star)