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 intDEFAULT_BRIGHTNESS_EXPONENTDefault exponent used the weights calculation.static intDEFAULT_MICROSPHERE_ELEMENTSDefault 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 MultivariateRealFunctioninterpolate(double[][] xval, double[] yval)Computes an interpolating function for the data set.voidsetBrightnessExponent(int exponent)Set the brightness exponent.voidsetMicropshereElements(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 <= 0orbrightnessExponent < 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:
interpolatein 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 (wheredis 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.
-
-