Plot Optimal Colors
Consider a colorSpec object
responsivity.material and 3 responsivity spectra.
makes a wireframe plot of the object-color solid for
The 3D drawing package rgl is 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
A color on the boundary of the object-color solid is called an optimal color.
The special points W (the response to the perfect reflecting diffuser)
and 0 are on the boundary of this set.
The interior of the line segment of neutrals joining 0 to W is in the interior of the set.
For more see discussion
a colorSpec object with
an integer 2-vector with the number of meridians and parallels to plot
The boundary of the object-color solid for
a natural parameterization by ω and δ,
which are analogous to longitude and latitude for the sphere.
See Logvinenko for more details.
These 2 parameters define reflectance spectra with 2 or fewer transitions
between 0 and 1.
By default, the function draws a wireframe with 33 meridians
and 33 parallels.
In addition it draws the box with opposite vertices at the "poles" 0 and W and the diagonal segment of neutral grays that connects 0 and W. It draws a small ball at the midpoint; the Rösch Farbkörper is symmetrical about this midpoint.
As both References point out, the plotted set of 2-transition colors is only optimal
under certain conditions on
which are fortunately true for the human responsivity functions
But they are certainly not true for all
so the plotted surface seen here might really be sub-optimal.
x it may require reflectance
functions with 3,4,5,... transitions to define the optimals.
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.
The responsivity functions cannot all simultaneously vanish at any wavelength. In that case the mapping from the ω and δ sphere to the output response space is not injective.
For an object
x with 2 spectra,
it would not take much work to write a new function
plotOptimals2D that plots the 1-transition colors for
These are the short-pass and long-pass colors,
also known as edge colors or Kantenfarben.
With a lot more work it would be possible to
plot the true optimals for
x, with any number of transitions between 0 and 1.
Logvinenko, A. D. An object-color space. Journal of Vision. 9(11):5, 1-23, (2009). http://journalofvision.org/9/11/5/. 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.
1 2 3 4 5 6
Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.