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 intoArrayIndexOutOfBoundsException
s 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 float
sample(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:SpectralCurve
This function determines the actual spectral curve data. Note that the lambda parameter is assumed to be in nanometers.- Specified by:
sample
in classSpectralCurve
- Parameters:
lambda
- wavelength to sample in nanometers- Returns:
- the value of the spectral curve at this point
-
-