plotOptimals: Plot Optimal Colors

plotOptimalsR Documentation

Plot Optimal Colors

Description

Consider a colorSpec object x with type equal to 'responsivity.material' and 3 responsivity spectra. The function plotOptimals3D() makes a plot of the object-color solid for x. This solid is a zonohedron in 3D. The 3D drawing package rgl is required.
Consider a colorSpec object x with type equal to 'responsivity.material' and 2 responsivity spectra. The function plotOptimals2D() makes a plot of the object-color solid for x. This solid is a zonogon in 2D. The 3D drawing package rgl is not required.
The set of all possible material reflectance functions (or transmittance functions) is convex, closed, and bounded (in any reasonable function space), and this implies that the set of all possible output responses from x is also convex, closed, and bounded. The latter set is called the object-color solid, or Rösch Farbkörper, for x. A color on the boundary of the object-color solid is called an optimal color.

These functions are essentially wrappers around zonohedra::plot.zonogon() and zonohedra::plot.zonohedron().

Usage

## S3 method for class 'colorSpec'
plotOptimals3D( x, ... )

## S3 method for class 'colorSpec'
plotOptimals2D( x, ... )

Arguments

x

a colorSpec object with type equal to 'responsivity.material' and 2 or 3 spectra, as appropriate.

...

more arguments passed to zonohedra::plot.zonogon() or zonohedra::plot.zonohedron() as appropriate. For plotOptimals3D(), examples are type and both. For plotOptimals2D(), examples are orientation and elabels.

Value

The functions return TRUE or FALSE.

Note

If all responsivity functions of x are non-negative, the object-color solid of x is inside the box. If the responsivity functions of x have negative lobes, the object-color solid of x extends outside the box. Indeed, the box may actually be inside the optimals.

References

Centore, Paul. A Zonohedral Approach to Optimal Colours. Color Research & Application. Vol. 38. No. 2. pp. 110-119. April 2013.

Logvinenko, A. D. An object-color space. Journal of Vision. 9(11):5, 1-23, (2009).
https://jov.arvojournals.org/article.aspx?articleid=2203976. doi:10.1167/9.11.5.

West, G. and M. H. Brill. Conditions under which Schrödinger object colors are optimal. Journal of the Optical Society of America. 73. pp. 1223-1225. 1983.

See Also

type(), probeOptimalColors(), sectionOptimalColors(), zonohedra::plot.zonogon(), zonohedra::plot.zonohedron(), vignette Plotting Chromaticity Loci of Optimal and Schrodinger Colors

Examples


human = product( D50.5nm, 'slot', xyz1931.5nm, wave=seq(400,770,by=5) )
plotOptimals3D( human )

plotOptimals2D( subset(human,2:3) )     # y and z only

scanner = product( D50.5nm, 'slot', BT.709.RGB, wave=seq(400,770,by=5) )
plotOptimals3D( scanner )

colorSpec documentation built on April 4, 2025, 1:59 a.m.