List of usage examples for org.apache.commons.math3.geometry.euclidean.threed Vector3D getDelta
public double getDelta()
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); }