Class AbsolutePVCoordinatesHermiteInterpolator

    • Constructor Detail

      • AbsolutePVCoordinatesHermiteInterpolator

        public AbsolutePVCoordinatesHermiteInterpolator​(Frame outputFrame)
        Constructor with :
        • Default number of interpolation points of DEFAULT_INTERPOLATION_POINTS
        • Default extrapolation threshold value (DEFAULT_EXTRAPOLATION_THRESHOLD_SEC s)
        • Use of position and two time derivatives during 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).
        Parameters:
        outputFrame - frame for the interpolated instance
      • AbsolutePVCoordinatesHermiteInterpolator

        public AbsolutePVCoordinatesHermiteInterpolator​(int interpolationPoints,
                                                        Frame outputFrame)
        Constructor with :
        • Default extrapolation threshold value (DEFAULT_EXTRAPOLATION_THRESHOLD_SEC s)
        • Use of position and two time derivatives during 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).
        Parameters:
        interpolationPoints - number of interpolation points
        outputFrame - frame for the interpolated instance
      • AbsolutePVCoordinatesHermiteInterpolator

        public AbsolutePVCoordinatesHermiteInterpolator​(int interpolationPoints,
                                                        Frame outputFrame,
                                                        CartesianDerivativesFilter filter)
        Constructor with default extrapolation threshold value (DEFAULT_EXTRAPOLATION_THRESHOLD_SEC s).

        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 points
        outputFrame - frame for the interpolated instance
        filter - filter for derivatives from the sample to use in interpolation
      • AbsolutePVCoordinatesHermiteInterpolator

        public AbsolutePVCoordinatesHermiteInterpolator​(int interpolationPoints,
                                                        double extrapolationThreshold,
                                                        Frame outputFrame,
                                                        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 points
        extrapolationThreshold - extrapolation threshold beyond which the propagation will fail
        outputFrame - frame for the interpolated instance
        filter - filter for derivatives from the sample to use in interpolation
    • Method Detail

      • getFilter

        public CartesianDerivativesFilter getFilter()
        Get the filter for derivatives from the sample to use in interpolation.
        Returns:
        filter for derivatives from the sample to use in interpolation.
      • getOutputFrame

        public Frame getOutputFrame()
        Get output frame for the interpolated instance.
        Returns:
        output frame for the interpolated instance
      • interpolate

        protected AbsolutePVCoordinates interpolate​(AbstractTimeInterpolator.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:
        interpolate in class AbstractTimeInterpolator<AbsolutePVCoordinates>
        Parameters:
        interpolationData - interpolation data
        Returns:
        interpolated instance from given interpolation data.