## org.apache.commons.math3.analysis.interpolation
Class MicrosphereInterpolator

    java.lang.Object
      org.apache.commons.math3.analysis.interpolation.MicrosphereInterpolator

All Implemented Interfaces:
  MultivariateInterpolator

    public class MicrosphereInterpolator

extends java.lang.Object
implements MultivariateInterpolator

Interpolator that implements the algorithm described in William Dudziak's MS thesis.

Since:
  2.1
Version:
  $Id: MicrosphereInterpolator.java 1379904 2012-09-01 23:54:52Z erans $

Field Summary
`private int` `brightnessExponent` Exponent used in the power law that computes the weights of the sample data.
`static int` `DEFAULT_BRIGHTNESS_EXPONENT` Default exponent used the weights calculation.
`static int` `DEFAULT_MICROSPHERE_ELEMENTS` Default number of surface elements that composes the microsphere.
`private int` `microsphereElements` Number of surface elements of the microsphere.

Constructor Summary
`MicrosphereInterpolator()` Create a microsphere interpolator with default settings.
`MicrosphereInterpolator(int elements, int exponent)` Create a microsphere interpolator.

Method Summary
`MultivariateFunction` `interpolate(double[][] xval, double[] yval)` Computes an interpolating function for the data set.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DEFAULT_MICROSPHERE_ELEMENTS

    public static final int DEFAULT_MICROSPHERE_ELEMENTS

  Default number of surface elements that composes the microsphere.

  See Also:
    Constant Field Values

### DEFAULT_BRIGHTNESS_EXPONENT

    public static final int DEFAULT_BRIGHTNESS_EXPONENT

  Default exponent used the weights calculation.

  See Also:
    Constant Field Values

### microsphereElements

    private final int microsphereElements

  Number of surface elements of the microsphere.

### brightnessExponent

    private final int brightnessExponent

  Exponent used in the power law that computes the weights of the sample data.

Constructor Detail

### MicrosphereInterpolator

    public MicrosphereInterpolator()

  Create a microsphere interpolator with default settings. Calling this constructor is equivalent to call `MicrosphereInterpolator(MicrosphereInterpolator.DEFAULT_MICROSPHERE_ELEMENTS, MicrosphereInterpolator.DEFAULT_BRIGHTNESS_EXPONENT)`.

### MicrosphereInterpolator

    public MicrosphereInterpolator(int elements,
                                   int exponent)
                            throws NotPositiveException,
                                   NotStrictlyPositiveException

  Create a microsphere interpolator.

  Parameters:
    `elements` - Number of surface elements of the microsphere.
    `exponent` - Exponent used in the power law that computes the weights (distance dimming factor) of the sample data.
  Throws:
    `NotPositiveException` - if `exponent < 0`.
    `NotStrictlyPositiveException` - if `elements <= 0`.

Method Detail

### interpolate

    public MultivariateFunction interpolate(double[][] xval,
                                            double[] yval)
                                     throws DimensionMismatchException,
                                            NoDataException,
                                            NullArgumentException

  Computes an interpolating function for the data set.

  Specified by:
    `interpolate` in interface `MultivariateInterpolator`
  Parameters:
    `xval` - the arguments for the interpolation points. `xval[i][0]` is the first component of interpolation point `i`, `xval[i][1]` is the second component, and so on until `xval[i][d-1]`, the last component of that interpolation point (where `d` is thus the dimension of the space).
    `yval` - the values for the interpolation points
  Returns:
    a function which interpolates the data set
  Throws:
    `DimensionMismatchException` - when the array dimensions are not consistent.
    `NoDataException` - if an array has zero-length.
    `NullArgumentException` - if the arguments are `null`.

Copyright (c) 2003-2013 Apache Software Foundation