Class Tile

  • All Implemented Interfaces:
    Serializable

    public class Tile
    extends Object
    implements Serializable
    Simple data structure for a quadrilateral tile shape on a body surface.

    This class is devoted to simple usage only. It assumes the edges are strictly between 0 and π radians and that the angles between edges are also strictly between 0 and π radians.

    Author:
    Luc Maisonobe
    See Also:
    AlongTrackAiming, ConstantAzimuthAiming, Serialized Form
    • Constructor Detail

      • Tile

        public Tile​(GeodeticPoint v0,
                    GeodeticPoint v1,
                    GeodeticPoint v2,
                    GeodeticPoint v3)
        Create a tile.

        It is caller responsibility o ensure the vertices define a simple non-degenerated tile (i.e. edges are strictly between 0 than π radians and angles between edges are also strictly between 0 and π radians). No checks are performed here.

        Parameters:
        v0 - first vertex
        v1 - second vertex
        v2 - third vertex
        v3 - fourth vertex
    • Method Detail

      • getVertices

        public GeodeticPoint[] getVertices()
        Get the four vertices.
        Returns:
        four vertices
      • getInterpolatedPoint

        public GeodeticPoint getInterpolatedPoint​(double u,
                                                  double v)
        Get an interpolated point inside the tile.

        The interpolated point is based on bilinear interpolations along the body surface assumed to be spherical, and along the vertical axis.

        The interpolation parameters are chosen such that (u = 0, v = 0) maps to vertex v0, (u = 1, v = 0) maps to vertex v1, (u = 1, v = 1) maps to vertex v2 and (u = 0, v = 1) maps to vertex v3.

        Parameters:
        u - first interpolation parameter (should be between 0 and 1 to remain inside the tile)
        v - second interpolation parameter (should be between 0 and 1 to remain inside the tile)
        Returns:
        interpolated point