Package org.sunflow.image
Class IrregularSpectralCurve
- java.lang.Object
-
- org.sunflow.image.SpectralCurve
-
- org.sunflow.image.IrregularSpectralCurve
-
public class IrregularSpectralCurve extends SpectralCurve
This class allows spectral curves to be defined from irregularly sampled data. Note that the wavelength array is assumed to be sorted low to high. Any values beyond the defined range will simply be extended to infinity from the end points. Points inside the valid range will be linearly interpolated between the two nearest samples. No explicit error checking is performed, but this class will run intoArrayIndexOutOfBoundsExceptions if the array lengths don't match.
-
-
Constructor Summary
Constructors Constructor Description IrregularSpectralCurve(float[] wavelengths, float[] amplitudes)Define an irregular spectral curve from the provided (sorted) wavelengths and amplitude data.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description floatsample(float lambda)This function determines the actual spectral curve data.-
Methods inherited from class org.sunflow.image.SpectralCurve
toXYZ
-
-
-
-
Constructor Detail
-
IrregularSpectralCurve
public IrregularSpectralCurve(float[] wavelengths, float[] amplitudes)Define an irregular spectral curve from the provided (sorted) wavelengths and amplitude data. The wavelength array is assumed to contain values in nanometers. Array lengths must match.- Parameters:
wavelengths- sampled wavelengths in nmamplitudes- amplitude of the curve at the sampled points
-
-
Method Detail
-
sample
public float sample(float lambda)
Description copied from class:SpectralCurveThis function determines the actual spectral curve data. Note that the lambda parameter is assumed to be in nanometers.- Specified by:
samplein classSpectralCurve- Parameters:
lambda- wavelength to sample in nanometers- Returns:
- the value of the spectral curve at this point
-
-