Class TimeStampedPVCoordinatesHermiteInterpolator
- All Implemented Interfaces:
TimeInterpolator<TimeStampedPVCoordinates>
As this implementation of interpolation is polynomial, it should be used only with small number of interpolation points (about 10-20 points) in order to avoid Runge's phenomenon and numerical problems (including NaN appearing).
- Author:
- Luc Maisonobe, Vincent Cucchietti
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.orekit.time.AbstractTimeInterpolator
AbstractTimeInterpolator.InterpolationData -
Field Summary
Fields inherited from class org.orekit.time.AbstractTimeInterpolator
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC, DEFAULT_INTERPOLATION_POINTS -
Constructor Summary
ConstructorsConstructorDescriptionConstructor with : Default number of interpolation points ofDEFAULT_INTERPOLATION_POINTSDefault extrapolation threshold value (DEFAULT_EXTRAPOLATION_THRESHOLD_SECs) Use of position and both time derivatives for attitude interpolation As this implementation of interpolation is polynomial, it should be used only with small number of interpolation points (about 10-20 points) in order to avoid Runge's phenomenon and numerical problems (including NaN appearing).TimeStampedPVCoordinatesHermiteInterpolator(int interpolationPoints) Constructor with : Default extrapolation threshold value (DEFAULT_EXTRAPOLATION_THRESHOLD_SECs) Use of position and both time derivatives for attitude interpolation As this implementation of interpolation is polynomial, it should be used only with small number of interpolation points (about 10-20 points) in order to avoid Runge's phenomenon and numerical problems (including NaN appearing).TimeStampedPVCoordinatesHermiteInterpolator(int interpolationPoints, double extrapolationThreshold, CartesianDerivativesFilter filter) Constructor.TimeStampedPVCoordinatesHermiteInterpolator(int interpolationPoints, CartesianDerivativesFilter filter) Constructor with : Default extrapolation threshold value (DEFAULT_EXTRAPOLATION_THRESHOLD_SECs) As this implementation of interpolation is polynomial, it should be used only with small number of interpolation points (about 10-20 points) in order to avoid Runge's phenomenon and numerical problems (including NaN appearing). -
Method Summary
Modifier and TypeMethodDescriptionGet filter for derivatives from the sample to use in interpolation.protected TimeStampedPVCoordinatesinterpolate(AbstractTimeInterpolator<TimeStampedPVCoordinates>.InterpolationData interpolationData) Interpolate instance from given interpolation data.Methods inherited from class org.orekit.time.AbstractTimeInterpolator
addOptionalSubInterpolatorIfDefined, checkInterpolatorCompatibilityWithSampleSize, getCentralDate, getCentralDate, getExtrapolationThreshold, getInternalNbInterpolationPoints, getNbInterpolationPoints, getSubInterpolators, getTimeParameter, interpolate, interpolate
-
Constructor Details
-
TimeStampedPVCoordinatesHermiteInterpolator
public TimeStampedPVCoordinatesHermiteInterpolator()Constructor with :- Default number of interpolation points of
DEFAULT_INTERPOLATION_POINTS - Default extrapolation threshold value (
DEFAULT_EXTRAPOLATION_THRESHOLD_SECs) - Use of position and both time derivatives for attitude interpolation
- Default number of interpolation points of
-
TimeStampedPVCoordinatesHermiteInterpolator
public TimeStampedPVCoordinatesHermiteInterpolator(int interpolationPoints) Constructor with :- Default extrapolation threshold value (
DEFAULT_EXTRAPOLATION_THRESHOLD_SECs) - Use of position and both time derivatives for attitude interpolation
- Parameters:
interpolationPoints- number of interpolation points
- Default extrapolation threshold value (
-
TimeStampedPVCoordinatesHermiteInterpolator
public TimeStampedPVCoordinatesHermiteInterpolator(int interpolationPoints, CartesianDerivativesFilter filter) Constructor with :- Default extrapolation threshold value (
DEFAULT_EXTRAPOLATION_THRESHOLD_SECs)
- Parameters:
interpolationPoints- number of interpolation pointsfilter- filter for derivatives from the sample to use in interpolation
- Default extrapolation threshold value (
-
TimeStampedPVCoordinatesHermiteInterpolator
public TimeStampedPVCoordinatesHermiteInterpolator(int interpolationPoints, double extrapolationThreshold, CartesianDerivativesFilter filter) Constructor.As this implementation of interpolation is polynomial, it should be used only with small number of interpolation points (about 10-20 points) in order to avoid Runge's phenomenon and numerical problems (including NaN appearing).
- Parameters:
interpolationPoints- number of interpolation pointsextrapolationThreshold- extrapolation threshold beyond which the propagation will failfilter- filter for derivatives from the sample to use in interpolation
-
-
Method Details
-
getFilter
Get filter for derivatives from the sample to use in interpolation.- Returns:
- filter for derivatives from the sample to use in interpolation
-
interpolate
protected TimeStampedPVCoordinates interpolate(AbstractTimeInterpolator<TimeStampedPVCoordinates>.InterpolationData interpolationData) Interpolate instance from given interpolation data.The interpolated instance is created by polynomial Hermite interpolation ensuring velocity remains the exact derivative of position.
Note that even if first time derivatives (velocities) from sample can be ignored, the interpolated instance always includes interpolated derivatives. This feature can be used explicitly to compute these derivatives when it would be too complex to compute them from an analytical formula: just compute a few sample points from the explicit formula and set the derivatives to zero in these sample points, then use interpolation to add derivatives consistent with the positions.
- Specified by:
interpolatein classAbstractTimeInterpolator<TimeStampedPVCoordinates>- Parameters:
interpolationData- interpolation data- Returns:
- interpolated instance from given interpolation data.
-