
Andy Little wrote:
For theatre lighting (and for lighting a 3d CGI scene) one uses lights with colour filters and mixes colours. Lights can be dimmed or brightened or switched on and off.
These are quite simple operations and seem to me to apply to most models of colour.
They apply to linear additive light models certainly, but don't always apply to non-linear subtractive models (well at some level of detail the become linear light in the physical world but users/artists don't view it like that)
The other aspect of colour ( but not being an expert) is that it seems to be like a 3d vector in many respects, where instead of x,y,z you have the colours red, green and blue.( as I saw on a Wiki somewhere). This gives you a basis for some mathematical operations, like addition, subtraction and multiplication by a scalar. That is assuming the RGB model, but the RGB model appears to be the closest hardware conterpart to the physical phenomena.
Colour is a human concept, it only exists in the brain. In the physical world you have an infinitive space of wavelengths, but spectral colour when used in modeling the spectral reproduction of things for instance uses more than 3 basis vectors, for example you may take 10nm intervals across the visible spectrum (you may also need UV and IR bands if your dealing with things like whiteners added to paper etc). If you needed to work with unusual eye conditions e.g. http://en.wikipedia.org/wiki/Tetrachromat you may need 5 basis functions for your colour representation. To truly understand the cinema style experience you need 4 (rods and cones) But these are all based upon additive mixtures of linear light. They don't quite work in subtractive systems (like printing or print film) in the same way, nor in non-linearly encoded colour spaces.
That doesnt give you much of a basis for comparing two images from different sources. Say for comparing a CCTV image of a criminal to a mugshot. Presumably there are standards around which try to address this problem.
well yes and no. There are often a set of viewing conditions associated with the reproduction of an image in the correct way, what is not yet complete is how to map an image out of this set of conditions. For instance the size of the image affects how you perceive it - this is not something non-specialists would guess I imagine, whilst they will have observed that turning a light on or off changes the way printer media reacts in a coarse way, try look at a photo under a sodium vapor street lamp for instance.
In terms of the library, I disagree. The library should model not the physical concept of colour, because that is tricky to define, hard to understand, and complicated to work with.
That is up to the designer of the Concept. The phenomenon may be complex but the means of using it, its operations, seem fairly simple to me.
Generally in the CGI end of the business we have meta data that describes how to interpret the data separate from its data representation. I'd want a library to understand that separation. Floating point numbers do go >1.0 (and <0.0 once you enter abstract mathematical representations) Personally if I ever see a HSV/HSL/etc colour space I'd avoid it like the plague as generally they are ill defined by some 'graphics' text book rather than being a true 'colour' space. This is because the approximation they make is *too* approximate for the level of adjustments we need to make. Kevin -- | Kevin Wheatley, Cinesite (Europe) Ltd | Nobody thinks this | | Senior Technology | My employer for certain | | And Network Systems Architect | Not even myself |