Class DivertedSingularityAiming

java.lang.Object
org.orekit.models.earth.tessellation.DivertedSingularityAiming
All Implemented Interfaces:
TileAiming

public class DivertedSingularityAiming extends Object implements TileAiming
Class used to orient tiles such that there are no singularities within the zone of interest.

This class is mainly useful for sampling a zone on ground when the grid directions is not really important and when the zone contains the pole, which is a singular point for both ConstantAzimuthAiming and AlongTrackAiming.

Author:
Luc Maisonobe
See Also:
  • Constructor Details

    • DivertedSingularityAiming

      public DivertedSingularityAiming(SphericalPolygonsSet forbiddenZone)
      Simple constructor.
      Parameters:
      forbiddenZone - zone out of which singularity should be diverted
  • Method Details

    • getSingularPoints

      public List<GeodeticPoint> getSingularPoints()
      Get points at which aiming direction cannot be computed.

      As per Brouwer's hairy ball theorem, any vector field on the 2-sphere has at least one zero. This implies that any implementation of this interface has at least one point where the aiming direction cannot be computed. The most typical example is aiming always towards North pole, for which both poles are singular points.

      Specified by:
      getSingularPoints in interface TileAiming
      Returns:
      a non-empty (as per hairy ball theorem) list of points where aiming direction is either zero or cannot be computed
    • alongTileDirection

      public Vector3D alongTileDirection(Vector3D point, GeodeticPoint gp)
      Find the along tile direction for tessellation at specified point.
      Specified by:
      alongTileDirection in interface TileAiming
      Parameters:
      point - point on the ellipsoid (Cartesian coordinates)
      gp - point on the ellipsoid (geodetic coordinates)
      Returns:
      normalized along tile direction