videoRangePanel
Class RoundEarthMethod

java.lang.Object
  extended by videoRangePanel.VRRangeMethod
      extended by videoRangePanel.RoundEarthMethod
Direct Known Subclasses:
RefractionMethod

public class RoundEarthMethod
extends VRRangeMethod


Field Summary
protected  VRControl vrControl
           
 
Fields inherited from class videoRangePanel.VRRangeMethod
earthRadius, gravity
 
Constructor Summary
RoundEarthMethod(VRControl vrControl)
           
 
Method Summary
 void configure()
           
 RangeDialogPanel dialogPanel()
           
(package private)  double getAngle(double height, double range)
          Converts a range into an angle below the horizon.
 double getHorizonDistance(double height)
          Calculate the distance to the horizon from a given height.
(package private)  java.lang.String getName()
           
 double getRange(double height, double angle)
          Converts a height and an angle below the horizon to a distance in metres.
protected  double psiFromRange(double height, double range)
          Convert a range to an angle up from the vertical (cosine rule).
protected  double rangeFromPsi(double height, double psi)
          Many calcls, including those in the refractionmethoduse the anlge from the vertical, so put that as a separate calculation.
 
Methods inherited from class videoRangePanel.VRRangeMethod
getHorizonAngle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

vrControl

protected VRControl vrControl
Constructor Detail

RoundEarthMethod

public RoundEarthMethod(VRControl vrControl)
Method Detail

configure

public void configure()
Specified by:
configure in class VRRangeMethod

dialogPanel

public RangeDialogPanel dialogPanel()
Specified by:
dialogPanel in class VRRangeMethod

getRange

public double getRange(double height,
                       double angle)
Description copied from class: VRRangeMethod
Converts a height and an angle below the horizon to a distance in metres.

Specified by:
getRange in class VRRangeMethod
Parameters:
height - platform height (metres)
angle - angle below the horizon (radians)
Returns:
distance in metres.

rangeFromPsi

protected double rangeFromPsi(double height,
                              double psi)
Many calcls, including those in the refractionmethoduse the anlge from the vertical, so put that as a separate calculation.

Eq. 1. From Leaper and Gordon.

Parameters:
height - camera height
psi - angle up from vertical
Returns:
distance to object.

getAngle

double getAngle(double height,
                double range)
Description copied from class: VRRangeMethod
Converts a range into an angle below the horizon.

Or returns -1 if the range is beyond the horizon.

Specified by:
getAngle in class VRRangeMethod
Parameters:
height - platofrm height (metres)
range - range to object.
Returns:
angle in radians.

psiFromRange

protected double psiFromRange(double height,
                              double range)
Convert a range to an angle up from the vertical (cosine rule).

Parameters:
height - platofrm height
range - range to object
Returns:
angle in radians.

getName

java.lang.String getName()
Specified by:
getName in class VRRangeMethod

getHorizonDistance

public double getHorizonDistance(double height)
Description copied from class: VRRangeMethod
Calculate the distance to the horizon from a given height.

Specified by:
getHorizonDistance in class VRRangeMethod
Returns:
distnace to horizon in metres.