Example usage for org.apache.commons.math3.geometry.euclidean.threed Vector3D getDelta

List of usage examples for org.apache.commons.math3.geometry.euclidean.threed Vector3D getDelta

Introduction

In this page you can find the example usage for org.apache.commons.math3.geometry.euclidean.threed Vector3D getDelta.

Prototype

public double getDelta() 

Source Link

Document

Get the elevation of the vector.

Usage

From source file:org.orekit.frames.TopocentricFrame.java

/** Get the elevation of a point with regards to the local point.
 * <p>The elevation is the angle between the local horizontal and
 * the direction from local point to given point.</p>
 * @param extPoint point for which elevation shall be computed
 * @param frame frame in which the point is defined
 * @param date computation date/*from   w  ww  .  j a v a2  s.c o m*/
 * @return elevation of the point
 * @exception OrekitException if frames transformations cannot be computed
 */
public double getElevation(final Vector3D extPoint, final Frame frame, final AbsoluteDate date)
        throws OrekitException {

    // Transform given point from given frame to topocentric frame
    final Transform t = frame.getTransformTo(this, date);
    final Vector3D extPointTopo = t.transformPosition(extPoint);

    // Elevation angle is PI/2 - angle between zenith and given point direction
    return extPointTopo.getDelta();
}

From source file:org.orekit.models.earth.tessellation.Tile.java

/** Get an interpolated point inside the tile.
 * <p>//from   ww w .j a v  a2  s  .co  m
 * The interpolated point is based on bilinear interpolations
 * along the body surface assumed to be <em>spherical</em>,
 * and along the vertical axis.
 * </p>
 * <p>
 * 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.
 * </p>
 * @param u first interpolation parameter (should be between
 * 0 and 1 to remain inside the tile)
 * @param v second interpolation parameter (should be between
 * 0 and 1 to remain inside the tile)
 * @return interpolated point
 */
public GeodeticPoint getInterpolatedPoint(final double u, final double v) {

    // bilinear interpolation along a spherical shape
    final Vector3D pu0 = interpolate(v0.getZenith(), v1.getZenith(), u);
    final Vector3D pu1 = interpolate(v3.getZenith(), v2.getZenith(), u);
    final Vector3D puv = interpolate(pu0, pu1, v);

    // bilinear interpolation of altitude
    final double hu0 = v1.getAltitude() * u + v0.getAltitude() * (1 - u);
    final double hu1 = v2.getAltitude() * u + v3.getAltitude() * (1 - u);
    final double huv = hu1 * v + hu0 * (1 - v);

    // create interpolated point
    return new GeodeticPoint(puv.getDelta(), puv.getAlpha(), huv);

}