|
|
Am 14.03.2017 um 01:00 schrieb Mike Horvath:
>> On the other hand, the locus of all theoretially possible pigment
>> colours as illuminated by a particular light source is a much more
>> complex construct, and creating its shape requires some smart ideas, as
>> the volume of that shape is effectively a projection from
>> infinite-dimensional space (each dimension corresponding to the
>> pigment's reflectivity at a particular wavelength) to 3-dimensional
>> CIExyY space.
>>
>> That locus may even differ between light sources with identical CIExyY
>> whitepoint coordinates, as it depends on the spectrum of the light
>> source, and different spectra may still result in identical CIExyY
>> coordinates (see "metamerism").
>>
>> This is precisely the project for which I did a series of animations a
>> while ago.
>>
>
>
> Are things as simple as using these formulas?
>
> http://www.brucelindbloom.com/index.html?Eqn_Spect_to_XYZ.html
>
> I forgot how to do calculus integrals and sums, but if I'm on the right
> track I can try to re-learn.
As the page already mentions, in practice you'll be doing sums rather
than integrals.
For an equal-energy(*) light source (emitting all wavelengths at the
same intensity), the "compute CIE XYZ coordinates for this particular
spectrum" is indeed that simple.
(* Actually, "equal-power" would be a more fitting term, but
"equal-energy" has stuck.)
For any other light source, the terms in the sum get just a little more
complicated, as you have to multiply them with a factor representing the
light source's emissive power at that corresponding wavelength.
Remember to convert from XYZ to xyY afterwards, using x=X/(X+Y+Z),
y=Y/(X+Y+Z).
The tricky part, at least for me, was to figure out what spectra would
end up on the surface of the resulting shape, and how to connect them
into a mesh.
Post a reply to this message
|
|