com.hedgehog.planets
Class Mars

java.lang.Object
  extended by com.hedgehog.HObject
      extended by com.hedgehog.geo.GeometricObject
          extended by com.hedgehog.geo.threed.GeometricObject3D
              extended by com.hedgehog.geo.threed.shapes.Shape3D
                  extended by com.hedgehog.geo.threed.shapes.Sphere3D
                      extended by com.hedgehog.planets.AbstractPlanet
                          extended by com.hedgehog.planets.Mars
All Implemented Interfaces:
ModelObject, java.lang.Comparable, java.util.Comparator

public class Mars
extends AbstractPlanet

Title: Mars - models planet Mars.

Description: Models planet Mars.

Copyright: Copyright (c) Hedgehog Software 2007-2009.

Company: Hedgehog Software

Since:
1.0
Version:
1.1

Field Summary
static double radiusVolumetriclNASA
          The mean volumetric radius (a); ie 3,389.5e03m.
 
Fields inherited from class com.hedgehog.geo.threed.shapes.Sphere3D
mCentre, mRadius
 
Fields inherited from class com.hedgehog.HObject
mID, mName
 
Constructor Summary
Mars()
          Default constructor.
Mars(Mars object)
          COpy constructor.
Mars(Point3D centre, double radius)
          Constructor.
 
Method Summary
 double apparentEquatorialDiameter(double radialDistanceAU)
          Returns the apparent diameter for the specified radial distance in AUs.
 double eccentricity(int dayNumber)
          Returns the eccentricity; ie 0.093405 + 2.516e-09*dayNumber.
 double inclination(int dayNumber)
          Returns the inclination (ie tilt) of the orbit relative to the ecliptic plane in degrees; ie 1.8497 + 1.78e-08*dayNumber.
 boolean isEarth()
          Tests whether or not this planet is Earth; ie false.
 boolean isJupiter()
          Tests whether or not this planet is Jupiter; ie false.
 boolean isMars()
          Tests whether or not this planet is Mars; ie true.
 boolean isMercury()
          Tests whether or not this planet is Mercury; ie false.
 boolean isNeptune()
          Tests whether or not this planet is Neptune; ie false.
 boolean isSaturn()
          Tests whether or not this planet is Saturn; ie false.
 boolean isUranus()
          Tests whether or not this planet is Uranus; ie false.
 boolean isVenus()
          Tests whether or not this planet is Venus; ie false.
 double longitudeOfAscendingNode(int dayNumber)
          Returns the longitude of ascending node for the specified day number in degrees; ie 49.5574 + 2.11081e-05*dayNumber.
 double longitudeOfPerihelion(int dayNumber)
          Returns the longitude of perihelion in degrees; ie 286.5016 + 2.92961e-05*dayNumber.
 double meanAnomaly(int dayNumber)
          Returns the mean anomaly in degrees; ie 18.6021 + 0.5240207766*dayNumber.
 double meanDistanceToEarth(int dayNumber, boolean au)
          Returns the mean distance/semi-major-axis to Earth in aus (1.523688) or actual distance in metres.
 
Methods inherited from class com.hedgehog.planets.AbstractPlanet
angleBetweenCelestialEclipticPoles, angleBetweenGreatCircleOS1S3AndLineOS2, angleBetweenGreatCirclesOS1S3AndOS2S3, angularSeparationBetweenTwoBodies, azimuthAltitudeToEquatorial, bodiesInStraightLine, declination, diurnalAngle, eccentricAnomaly, eclipticHorizonAngle, eclipticLatLongToEquatorialRADec, eclipticPoints180Apart, equationOfTheCentre, equatoralRADecToEclipticLatLong, equatorialToAzimuthAltitude, geocentricDistance, geocentricTimeDays, geoLatitudeLongitude, geoRectangularCoordinates, geoRectangularEclipticCoordinates, helioLatLongPerturbations, helioLatLongPerturbationsJupiter, helioLatLongPerturbationsSaturn, helioLatLongPerturbationsUranus, helioLatLongRadius, helioRadialDistance, helioRectangularCoordinates, helioRectangularCoordinatesInEclipticCoordinates, localHourAngle, localHourAngle, parallacticAngle, radiusVector, rightAscension, rightAscensionDegreesToTime, rightAscensionTimeToDegrees, riseTransitSetUT, smallestCircleDiameter, trueAnomaly, velocityAtAphelion, velocityAtPerihelion, velocityInEllipticOrbit
 
Methods inherited from class com.hedgehog.geo.threed.shapes.Sphere3D
arcDistanceBetween, area, axisXPoint, axisXVector, axisYPoint, axisYVector, axisZPoint, axisZVector, boundingBox, centroid, childModelObjects, databaseInsertStatement, databaseUpdateStatement, diameter, diametricallyOppositePoint, distanceToSphere, enclosingSphere, enclosingSphereAverageCentre, equatorCircle, fromDatabase, fromXMLNode, furthestPoint, gaussCurvature, getCentre, getRadius, greatCircle, greatCircle, intersection, intersection, intersection, intersection, intersectionVolume, kissingNumber, latitude, longitude, meanCurvature, nearestPoint, northPole, outwardNormal, phiAndThetaFromPoint, pointInside, pointInsideOrOnSurface, pointOnSphere, pointOnSurface, pointOutside, randomPointsInsideSphere, randomPointsOnSphere, rotate, scale, setCentre, setRadius, southPole, sphereCircle, toQuadraticSurface3D, toString, toX3DNode, toXMLNode, transform, translate, volume, xValue, yValue, zValue
 
Methods inherited from class com.hedgehog.geo.threed.shapes.Shape3D
is2D, is3D, isCurve, isGrid, isMesh, isPoint, isPointSet, isShape, isSurface
 
Methods inherited from class com.hedgehog.geo.GeometricObject
objectDimension
 
Methods inherited from class com.hedgehog.HObject
clone, compare, compareTo, copy, equals, getID, getName, hashCode, hasID, hasName, setID, setName
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

radiusVolumetriclNASA

public static final double radiusVolumetriclNASA
The mean volumetric radius (a); ie 3,389.5e03m. Source: NASA.

See Also:
Constant Field Values
Constructor Detail

Mars

public Mars()
Default constructor. Creates a new object centred at (0,0,0) and with radius equal to the mean volumetric radius of 3,389.5e03m.


Mars

public Mars(Point3D centre,
            double radius)
Constructor.

Parameters:
centre - Planat centre.
radius - Planaet radius.

Mars

public Mars(Mars object)
COpy constructor.

Parameters:
object - Object to copy.
Method Detail

eccentricity

public double eccentricity(int dayNumber)
Returns the eccentricity; ie 0.093405 + 2.516e-09*dayNumber.

Specified by:
eccentricity in class AbstractPlanet
Parameters:
dayNumber - The day number.
Returns:
The eccentricity.

inclination

public double inclination(int dayNumber)
Returns the inclination (ie tilt) of the orbit relative to the ecliptic plane in degrees; ie 1.8497 + 1.78e-08*dayNumber.

Specified by:
inclination in class AbstractPlanet
Parameters:
dayNumber - The day number.
Returns:
Inclination in degrees.

longitudeOfAscendingNode

public double longitudeOfAscendingNode(int dayNumber)
Returns the longitude of ascending node for the specified day number in degrees; ie 49.5574 + 2.11081e-05*dayNumber.

Specified by:
longitudeOfAscendingNode in class AbstractPlanet
Parameters:
dayNumber - The day number.
Returns:
The longitude of ascending node in degrees.

longitudeOfPerihelion

public double longitudeOfPerihelion(int dayNumber)
Returns the longitude of perihelion in degrees; ie 286.5016 + 2.92961e-05*dayNumber. The perihelion is defined as the point on the orbit that is closest to the Sun.

Specified by:
longitudeOfPerihelion in class AbstractPlanet
Parameters:
dayNumber - The day number.
Returns:
The longitude of perihelion in degrees.

meanAnomaly

public double meanAnomaly(int dayNumber)
Returns the mean anomaly in degrees; ie 18.6021 + 0.5240207766*dayNumber.

Specified by:
meanAnomaly in class AbstractPlanet
Parameters:
dayNumber - The day number.
Returns:
The mean anomaly in degrees.

meanDistanceToEarth

public double meanDistanceToEarth(int dayNumber,
                                  boolean au)
Returns the mean distance/semi-major-axis to Earth in aus (1.523688) or actual distance in metres.

Specified by:
meanDistanceToEarth in class AbstractPlanet
Parameters:
dayNumber - The day number.
au - Specifies whether the returned distance is in AUs or actual distance in metres.
Returns:
The mean distance to Earth.

apparentEquatorialDiameter

public double apparentEquatorialDiameter(double radialDistanceAU)
                                  throws java.lang.IllegalArgumentException
Returns the apparent diameter for the specified radial distance in AUs. The apparent diameter for 1AU of Mars from Earth is 9.36secs.

Specified by:
apparentEquatorialDiameter in class AbstractPlanet
Parameters:
radialDistanceAU - Radial distance in AUs.
Returns:
The apparent diameter for the specified radial distance (AUs). The returned value is in degrees.
Throws:
java.lang.IllegalArgumentException - Thrown if radialDistanceAU<=0.

isMercury

public boolean isMercury()
Tests whether or not this planet is Mercury; ie false.

Specified by:
isMercury in class AbstractPlanet
Returns:
Logical-false.

isVenus

public boolean isVenus()
Tests whether or not this planet is Venus; ie false.

Specified by:
isVenus in class AbstractPlanet
Returns:
Logical-false.

isEarth

public boolean isEarth()
Tests whether or not this planet is Earth; ie false.

Specified by:
isEarth in class AbstractPlanet
Returns:
Logical-false.

isMars

public boolean isMars()
Tests whether or not this planet is Mars; ie true.

Specified by:
isMars in class AbstractPlanet
Returns:
Logical-true.

isJupiter

public boolean isJupiter()
Tests whether or not this planet is Jupiter; ie false.

Specified by:
isJupiter in class AbstractPlanet
Returns:
Logical-false.

isSaturn

public boolean isSaturn()
Tests whether or not this planet is Saturn; ie false.

Specified by:
isSaturn in class AbstractPlanet
Returns:
Logical-false.

isUranus

public boolean isUranus()
Tests whether or not this planet is Uranus; ie false.

Specified by:
isUranus in class AbstractPlanet
Returns:
Logical-false.

isNeptune

public boolean isNeptune()
Tests whether or not this planet is Neptune; ie false.

Specified by:
isNeptune in class AbstractPlanet
Returns:
Logical-false.