|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnsidc.spheres.Sphere
nsidc.spheres.GreatCircle
GreatCircle class - provides services and information relating to a great circle.
A great circle is a circle on a sphere with whose origin is at the center of the sphere. The shortest distance between any two points on a sphere is the great circle distance. Any two points on a sphere uniquely define a single great circle so long as they are not antipodal.
This class assumes a spherical earth.
Sphere,
SphericalPolygon| Field Summary | |
double |
a
Constant in plane equations ax+by+cz=0 |
Point[] |
arc_point
Points that define the great circle (arc endpoints). |
double |
b
Constant in plane equations ax+by+cz=0 |
double |
c
Constant in plane equations ax+by+cz=0 |
protected double |
const_term
Constant for intermediate results. |
protected double |
denominator
Constant for intermediate results. |
protected double |
firstX
Tmp constant for interim results of the intersect calculations |
Point |
inflection_point
Highest point achieved by the great circle. |
Point[] |
intersect_point
Points for any intersections found. |
boolean |
is_meridian
Boolean to track if the arc is on a meridian or not. |
protected double |
lin_term
Constant for intermediate results. |
protected double |
m
Constant for intermediate results. |
protected double |
n
Constant for intermediate results. |
protected double |
numerator
Constant for intermediate results. |
protected double |
p
Constant for intermediate results. |
protected double |
planar_const
Tmp constant for interim results of the intersect calculations |
protected double |
q
Constant for intermediate results. |
protected double |
rad
Tmp constant for interim results of the intersect calculations |
protected double |
scale
Tmp constant for interim results of the intersect calculations |
protected double |
secondX
Tmp constant for interim results of the intersect calculations |
protected double |
sphere_const
Tmp constant for interim results of the intersect calculations |
protected double |
sqr_term
Constant for intermediate results. |
protected double |
tmp_z
Constant for intermediate results. |
| Fields inherited from class nsidc.spheres.Sphere |
radius, Re_km |
| Constructor Summary | |
protected |
GreatCircle()
Empty constructor - do not use. |
|
GreatCircle(double[] given_lat,
double[] given_lon)
Sets the points and initializes the great circle. |
|
GreatCircle(double given_lat0,
double given_lon0,
double given_lat1,
double given_lon1)
Sets the points and initializes the great circle. |
|
GreatCircle(Point start,
Point end)
|
| Method Summary | |
protected void |
init()
initializes the great circle. |
boolean |
intersectsGreatCircle(GreatCircle other)
Determine if/where this great circle intersects another. |
boolean |
intersectsLatitude(double latitude)
Determine if this great circle intersects a parallel. |
boolean |
intersectsSmallCircle(SmallCircle small)
Determine if/where this great circle intersects a small circle. |
protected void |
systemLog(java.lang.String msg,
int level)
Log diagnostic messages |
java.lang.String |
toString()
|
| Methods inherited from class nsidc.spheres.Sphere |
degrees, degrees, getRadius, normalize, normalize, radians, radians, scalarTripleProductTest, setRadius, systemLog |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public Point[] arc_point
public Point[] intersect_point
public Point inflection_point
public double a
public double b
public double c
public boolean is_meridian
protected double planar_const
protected double sphere_const
protected double scale
protected double rad
protected double firstX
protected double secondX
protected double numerator
protected double denominator
protected double m
protected double n
protected double p
protected double q
protected double sqr_term
protected double lin_term
protected double const_term
protected double tmp_z
| Constructor Detail |
protected GreatCircle()
public GreatCircle(double given_lat0,
double given_lon0,
double given_lat1,
double given_lon1)
public GreatCircle(double[] given_lat,
double[] given_lon)
public GreatCircle(Point start,
Point end)
| Method Detail |
protected void init()
public boolean intersectsGreatCircle(GreatCircle other)
The basic strategy is to convert everything to cartesian 3-space first because the math is easier. All the action takes place in cartesian space. If found the intersection points are placed in the intersect_point array.
Scene,
SphericalPolygonpublic boolean intersectsLatitude(double latitude)
The basic strategy is to convert everything to cartesian 3-space first because the math is easier. All the action takes place in cartesian space. If found the intersection points are placed in the intersect_point array.
latitude - The latitude of interest.
LatLonBoundingBoxpublic boolean intersectsSmallCircle(SmallCircle small)
The basic strategy is to convert everything to cartesian 3-space first because the math is easier. All the action takes place in cartesian space. If found the intersection points are placed in the intersect_point array.
Scene,
SphericalPolygon
protected void systemLog(java.lang.String msg,
int level)
Sphere
systemLog in class Spheremsg - Message to log.level - Debug sensitivity.public java.lang.String toString()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||