Interface BoundSurfaceInterpolator


  • public interface BoundSurfaceInterpolator
    A surface interpolator that has been bound to a specific surface.

    A bound interpolator is created from a SurfaceInterpolator. The bind process takes the definition of the interpolator and combines it with the x-y-z values. This allows implementations to optimize interpolation calculations.

    • Method Detail

      • interpolate

        double interpolate​(double x,
                           double y)
        Computes the z-value for the specified x-y-value by interpolation.
        Parameters:
        x - the x-value to find the z-value for
        y - the y-value to find the z-value for
        Returns:
        the value at the x-y-value
        Throws:
        RuntimeException - if the z-value cannot be calculated
      • firstPartialDerivatives

        ValueDerivatives firstPartialDerivatives​(double x,
                                                 double y)
        Computes the partial derivatives of the surface.

        The first derivatives are dz/dx and dz/dy. The derivatives are in the following order:

        • [0] derivative with respect to x
        • [1] derivative with respect to y
        Parameters:
        x - the x-value at which the partial derivative is taken
        y - the y-value at which the partial derivative is taken
        Returns:
        the z-value and it's partial first derivatives
        Throws:
        RuntimeException - if the derivative cannot be calculated
      • parameterSensitivity

        DoubleArray parameterSensitivity​(double x,
                                         double y)
        Computes the sensitivity of the x-y-value with respect to the surface parameters.

        This returns an array with one element for each parameter of the surface. The array contains the sensitivity of the z-value at the specified x-y-value to each parameter.

        Parameters:
        x - the x-value at which the parameter sensitivity is computed
        y - the y-value at which the parameter sensitivity is computed
        Returns:
        the sensitivity
        Throws:
        RuntimeException - if the sensitivity cannot be calculated