- plancksLaw :: RSdouble -> RSdouble -> RSdouble
- blackBody :: RSdouble -> RSdouble -> RSdouble
- blackBodyRGB :: RSdouble -> RGB
- spectralRGB :: (RSdouble -> RSdouble) -> RGB
Documentation
plancksLaw :: RSdouble -> RSdouble -> RSdoubleSource
Evaluates planck's law respecting blackbody radiation. Accepts temperature in Kelvins (K) and wavelength in nanometers (nm).
blackBody :: RSdouble -> RSdouble -> RSdoubleSource
Indicates the intensity of black body radiation in terms of temperature and wavelength, as percieved by the human eye with a white point at which all wavelengths equal 1.0 at 5800K. Accepts temperature in Kelvins (K) and wavelength in nanometers (nm).
blackBodyRGB :: RSdouble -> RGBSource
Indicates the percieved color of a black body radiator, where rgb 1.0 1.0 1.0
is the white point representing 5800K.
Accepts temperature in Kelvins (K). It is suggested to use maximizeRGB
or some other filter as very dark or overbright
colors are easily generated from this function. In particular maximizeRGB . blackBodyRGB
tends to approach roughly
rgb 0.0 0.0 1.0
for very low temperatures and roughly rgb 0.50 0.53 1.0
for very high temperatures.
spectralRGB :: (RSdouble -> RSdouble) -> RGBSource
Interprets a spectral function as an RGB
color by sampling in the red, green, blue, and indigo wavelengths.
This is pretty rough, and actually interprets monochromatic spectral yellow or monochromatic spectral cyan as
black, for example. It also does not take into account the relative responsiveness of the human eye to
different wavelengths, so passing
directly to this function results in bright green.
plancksLaw
5800