Jeospace API

org.jeospace.physics.orbit
Class Sun

java.lang.Object
  extended byorg.jeospace.physics.orbit.SolarWorld
      extended byorg.jeospace.physics.orbit.Sun
All Implemented Interfaces:
GeocentricWorld, Identifiable, KineticBody, OrbitalBody, World

public class Sun
extends SolarWorld

The Sun, the primary SolarWorld. As the main gravitational mass of the solar system, the Sun is considered (by this class) to remain at the center of the Solar System (or, geometrically at the origin). Additional physical data contained in the class has been obtained from: http://nssdc.gsfc.nasa.gov/planetary/factsheet/sunfact.html

Version:
$Revision: 1.1.1.1 $
Author:
Rex Melton

Field Summary
 
Fields inherited from class org.jeospace.physics.orbit.SolarWorld
LIGHTDAYS_PER_AU
 
Constructor Summary
Sun()
          Construct a Sun instance
 
Method Summary
static void getAberrationCorrection(double julianDay, Spherical geocentricEcliptic, Spherical correction)
          'High acuracy' aberration correction for the Sun.
 void getCoordinate(double julianDay, Cartesian cartesian)
          Over-rides SolarWorld.
 void getCoordinate(double julianDay, Spherical coordinate)
          Over-rides SolarWorld.
 void getGeocentricEclipticCoordinate(double julianDay, Spherical earthHeliocentricEcliptic, Spherical geocentricEcliptic)
          Return the geocentric ecliptic coordinate of the world on the Julian day given the Earth's heliocentric ecliptic coordinate.
 void getLightTimeCorrectedGeocentricEclipticCoordinate(double julianDay, Spherical earthHeliocentricEcliptic, Spherical geocentricEcliptic)
          Return the geocentric ecliptic coordinate of the Sun on the Julian day, adjusted to compensate for the difference in it's apparent position due to the time it takes for it's light to travel to earth, given the Earth's heliocentric ecliptic coordinate.
 OrbitalElements getOrbitalElements(double julianDay)
          Over-rides SolarWorld.
 Spherical getRotationalAxis(double julianDay)
          Return the position on the celestial sphere that is intersected by a vector along the rotational axis of the world - from it's origin, through it's North Pole.
 
Methods inherited from class org.jeospace.physics.orbit.SolarWorld
getEllipsoid, getGravitationalConstant, getIdentification, getLongitudeNormalization, getReferenceFrame, getSiderealRotation, read_periodic_terms
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Sun

public Sun()
Construct a Sun instance

Method Detail

getCoordinate

public void getCoordinate(double julianDay,
                          Spherical coordinate)
Over-rides SolarWorld. A trivial implementation. The Sun is the center of the Solar System, and it's system centric coordinate is - the origin. A more accurate version might return the barycentric position of the Sun.

Specified by:
getCoordinate in interface KineticBody
Overrides:
getCoordinate in class SolarWorld
Parameters:
julianDay - the time instant for calculating the Sun's position
coordinate - the object to initialize with the Sun's position coordinate

getCoordinate

public void getCoordinate(double julianDay,
                          Cartesian cartesian)
Over-rides SolarWorld. A trivial implementation. The Sun is the center of the Solar System, and it's system centric coordinate is - the origin. A more accurate version might return the barycentric position of the Sun.

Specified by:
getCoordinate in interface KineticBody
Overrides:
getCoordinate in class SolarWorld
Parameters:
julianDay - the time instant for calculating the world's position
cartesian - the object to initialize with the world's position coordinate

getOrbitalElements

public OrbitalElements getOrbitalElements(double julianDay)
Over-rides SolarWorld. Returns null. The Sun is the center of the Solar System. Perhaps this should return the orbital elements of the Sun's orbit around the Milky Way.

Specified by:
getOrbitalElements in interface OrbitalBody
Overrides:
getOrbitalElements in class SolarWorld
Parameters:
julianDay - the time instant for which the elements should be calculated
Returns:
null

getRotationalAxis

public Spherical getRotationalAxis(double julianDay)
Return the position on the celestial sphere that is intersected by a vector along the rotational axis of the world - from it's origin, through it's North Pole.

Specified by:
getRotationalAxis in interface World
Specified by:
getRotationalAxis in class SolarWorld
Parameters:
julianDay - the time instant at which to calculate the rotational axis alignment
Returns:
the position on the celestial sphere that is 'pointed to' by the rotational axis of the world.

getGeocentricEclipticCoordinate

public void getGeocentricEclipticCoordinate(double julianDay,
                                            Spherical earthHeliocentricEcliptic,
                                            Spherical geocentricEcliptic)
Return the geocentric ecliptic coordinate of the world on the Julian day given the Earth's heliocentric ecliptic coordinate. This is a trivial implementation as the geocentric ecliptic coordinate of the sun is just the antipode of the Earth's heliocentric ecliptic coordinate.

Specified by:
getGeocentricEclipticCoordinate in interface GeocentricWorld
Overrides:
getGeocentricEclipticCoordinate in class SolarWorld
Parameters:
julianDay - the Julian day
earthHeliocentricEcliptic - the Earth's heliocentric ecliptic coordinate
geocentricEcliptic - the Spherical object to initialize with the world's geocentric ecliptic coordinate

getLightTimeCorrectedGeocentricEclipticCoordinate

public void getLightTimeCorrectedGeocentricEclipticCoordinate(double julianDay,
                                                              Spherical earthHeliocentricEcliptic,
                                                              Spherical geocentricEcliptic)
Return the geocentric ecliptic coordinate of the Sun on the Julian day, adjusted to compensate for the difference in it's apparent position due to the time it takes for it's light to travel to earth, given the Earth's heliocentric ecliptic coordinate.

Specified by:
getLightTimeCorrectedGeocentricEclipticCoordinate in interface GeocentricWorld
Overrides:
getLightTimeCorrectedGeocentricEclipticCoordinate in class SolarWorld
Parameters:
julianDay - the Julian day
earthHeliocentricEcliptic - the Earth's heliocentric ecliptic coordinate
geocentricEcliptic - the Spherical object to initialize with the Sun's geocentric ecliptic coordinate

getAberrationCorrection

public static void getAberrationCorrection(double julianDay,
                                           Spherical geocentricEcliptic,
                                           Spherical correction)
'High acuracy' aberration correction for the Sun. From Meeus Astronomical Algorithms, Chapter 24 ( equation 24.11 )

Parameters:
geocentricEcliptic - the geocentric ecliptic coordinate
julianDay - the Julian Day
correction - the Spherical object to initialize with the coordinate correction

Jeospace API

Copyright © 2006 - jeospace.org