org.apache.commons.math.analysis.interpolation

## Class MicrosphereInterpolator

- java.lang.Object
- - org.apache.commons.math.analysis.interpolation.MicrosphereInterpolator

All Implemented Interfaces:
  MultivariateRealInterpolator

    public class MicrosphereInterpolator
    extends java.lang.Object
    implements MultivariateRealInterpolator

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

Since:
  2.1
Version:
  $Revision: 980944 $ $Date: 2010-07-30 22:31:11 +0200 (ven. 30 juil. 2010) $

### Field Summary

Fields
`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

Constructors
Constructor and Description
`MicrosphereInterpolator()` Create a microsphere interpolator with default settings.
`MicrosphereInterpolator(int microsphereElements, int brightnessExponent)` Create a microsphere interpolator.

### Method Summary

Methods
`MultivariateRealFunction` `interpolate(double[][] xval, double[] yval)` Computes an interpolating function for the data set.
`void` `setBrightnessExponent(int exponent)` Set the brightness exponent.
`void` `setMicropshereElements(int elements)` Set the number of microsphere elements.

### 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 int microsphereElements

Number of surface elements of the microsphere.

#### brightnessExponent

    private 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 microsphereElements,
                           int brightnessExponent)

Create a microsphere interpolator.

Parameters:
  `microsphereElements` - number of surface elements of the microsphere.
  `brightnessExponent` - exponent used in the power law that computes the weights of the sample data.
Throws:
  `NotPositiveException` - if `microsphereElements <= 0` or `brightnessExponent < 0`.

### Method Detail

#### interpolate

    public MultivariateRealFunction interpolate(double[][] xval,
                                       double[] yval)
                                         throws MathException,
                                                java.lang.IllegalArgumentException

Computes an interpolating function for the data set.

Specified by:
  `interpolate` in interface `MultivariateRealInterpolator`
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:
  `MathException` - if arguments violate assumptions made by the interpolation algorithm or some dimension mismatch occurs
  `java.lang.IllegalArgumentException` - if there are no data (xval null or zero length)

#### setBrightnessExponent

    public void setBrightnessExponent(int exponent)

Set the brightness exponent.

Parameters:
  `exponent` - Exponent for computing the distance dimming factor.
Throws:
  `NotPositiveException` - if `exponent < 0`.

#### setMicropshereElements

    public void setMicropshereElements(int elements)

Set the number of microsphere elements.

Parameters:
  `elements` - Number of surface elements of the microsphere.
Throws:
  `NotStrictlyPositiveException` - if `elements <= 0`.