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
-
-
Field Summary
Fields Modifier and Type Field Description 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.
-
Constructor Summary
Constructors Constructor Description MicrosphereInterpolator()
Create a microsphere interpolator with default settings.MicrosphereInterpolator(int microsphereElements, int brightnessExponent)
Create a microsphere interpolator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
-
-
-
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
-
-
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
- ifmicrosphereElements <= 0
orbrightnessExponent < 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 interfaceMultivariateRealInterpolator
- Parameters:
xval
- the arguments for the interpolation points.xval[i][0]
is the first component of interpolation pointi
,xval[i][1]
is the second component, and so on untilxval[i][d-1]
, the last component of that interpolation point (whered
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 occursjava.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
- ifexponent < 0
.
-
setMicropshereElements
public void setMicropshereElements(int elements)
Set the number of microsphere elements.- Parameters:
elements
- Number of surface elements of the microsphere.- Throws:
NotStrictlyPositiveException
- ifelements <= 0
.
-
-