nsidc.spheres
Class SmallCircle

java.lang.Object
  extended bynsidc.spheres.Sphere
      extended bynsidc.spheres.GreatCircle
          extended bynsidc.spheres.SmallCircle
Direct Known Subclasses:
SmallCircleArc

public class SmallCircle
extends GreatCircle

SmallCircle class - provides services and information relating to a small circle.

A small circle is a circle on a sphere that is not a great circle. For purposes of this package we define small circles relative to the parallel great circle. This seems reasonable since the small circles used in this package are all edges of orbits and hence a known distance from the great circle defined by nadir.

The left and right edges of a scene are small circle arcs so we need this class to compare scenes to other areas on a sphere.

This class assumes a spherical earth.

See Also:
Scene, GreatCircle, SmallCircleArc

Field Summary
 Point[] arc_point
           
 double distance
          instance variables
 Point[] intersect_point
           
protected  LonRange lon_range
           
protected  double m
          Constant for intermediate results.
protected  double n
          Constant for intermediate results.
protected  double p
          Constant for intermediate results.
protected  double q
          Constant for intermediate results.
 
Fields inherited from class nsidc.spheres.GreatCircle
a, b, c, const_term, denominator, firstX, inflection_point, is_meridian, lin_term, numerator, planar_const, rad, scale, secondX, sphere_const, sqr_term, tmp_z
 
Fields inherited from class nsidc.spheres.Sphere
radius, Re_km
 
Constructor Summary
protected SmallCircle()
          Empty constructor - do not use.
  SmallCircle(double given_lat0, double given_lon0, double given_lat1, double given_lon1, double given_distance)
          Given two points on the great circle and a distance.
  SmallCircle(double given_lat0, double given_lon0, double given_lat1, double given_lon1, GreatCircle reference)
          Given two points on the small circle and a reference great circle.
  SmallCircle(GreatCircle referenceGC, double given_distance)
          Given a great circle and a distance.
  SmallCircle(Point point_0, Point point_1, double given_distance)
          Given two points on the great circle and a distance.
  SmallCircle(Point point_0, Point point_1, GreatCircle reference)
          Given two points on the small circle and a reference great circle.
 
Method Summary
 void copyGC(GreatCircle reference)
           
 boolean intersectsSmallCircle(SmallCircle other)
          Determine if this small circle intersects another.
 boolean parallel(GreatCircle gc)
          Determine if this small circle is parallel to a given great circle.
 
Methods inherited from class nsidc.spheres.GreatCircle
init, intersectsGreatCircle, intersectsLatitude, systemLog, 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

distance

public double distance
instance variables


arc_point

public Point[] arc_point

intersect_point

public Point[] intersect_point

m

protected double m
Constant for intermediate results.


n

protected double n
Constant for intermediate results.


p

protected double p
Constant for intermediate results.


q

protected double q
Constant for intermediate results.


lon_range

protected LonRange lon_range
Constructor Detail

SmallCircle

protected SmallCircle()
Empty constructor - do not use.


SmallCircle

public SmallCircle(GreatCircle referenceGC,
                   double given_distance)
Given a great circle and a distance.


SmallCircle

public SmallCircle(double given_lat0,
                   double given_lon0,
                   double given_lat1,
                   double given_lon1,
                   double given_distance)
Given two points on the great circle and a distance.


SmallCircle

public SmallCircle(double given_lat0,
                   double given_lon0,
                   double given_lat1,
                   double given_lon1,
                   GreatCircle reference)
Given two points on the small circle and a reference great circle.


SmallCircle

public SmallCircle(Point point_0,
                   Point point_1,
                   double given_distance)
Given two points on the great circle and a distance.


SmallCircle

public SmallCircle(Point point_0,
                   Point point_1,
                   GreatCircle reference)
Given two points on the small circle and a reference great circle.

Method Detail

copyGC

public void copyGC(GreatCircle reference)

parallel

public boolean parallel(GreatCircle gc)
Determine if this small circle is parallel to a given great circle.


intersectsSmallCircle

public boolean intersectsSmallCircle(SmallCircle other)
Determine if this small circle intersects another.

Overrides:
intersectsSmallCircle in class GreatCircle
Parameters:
other - Another small circle.
Returns:
true if the two circles intersect.
false if the two circles do not intersect.
See Also:
Scene, SphericalPolygon