DictionaryOfComputing.Define("RGB"):
(R)ed, (G)reen and (B)lue are the three colours of light which can be mixed to produce any other colour. (Scientists eventually figured that out from, 'tech'nically speaking, 'primitive times.') Coloured images are often stored as a sequence of RGB triplets or as separate red, green and blue overlays though this is not the only possible representation*. These colours correspond to the three 'guns' in a colour cathode ray tube (CRT) and to the colour receptors in the human eye (this might be the most important part to anyone).
NOTE: Who tought that guns could be used in any other sense rather than destructive.
Computers are all about numbers, fundamentally 1 and 0 (bi-nary values), and everything else that can be possibly perceived in any piece of code, written for a computer system (of any sort) of course, contain only these two valuse in the core, like human DNA. A rose by any other name in its true sense: anti-mechanical thinking.
These two numbers are referred to as bits: Einstein (or Freud) would probably evaluate that, anything can either be only something: 1, or nothing: 0.
A perfect piece of computer code is normally written to utilize the least amount of computer resources. (A lot of computer programmers tend to be totally anti-genocidal.) As a result, colour values are normally represented using a byte value: 0 - 255 (8 'bits' ranging from 00000000 to 11111111).
Regular numbers in computing are normally* represented, in output form, as integers: 1, 2, 3, 500, 2038, -745, etc, that we are familiar with in everyday mathematics, for the average humand understanding.
*there is also the float, or floating-point number which is a decimal but it is not relevant to the subject at hand (yet).
An integer can vary in size depending on the architecture of the computer system that it is generated on: 32-bits, 64-bits, (future) etc. The bigger the bit number, the more number of digits that can be stored in an integer. A 32-bit integer can store up to 10 digits, not up to 9 999 999 999 because, its maximum size is a representation of 2 (bits) raised to the power of a multiple of 2.
NOTE: though a byte is significantly smaller than an integer, they are both constructed of the same material: 1s and 0s. An integer is the father whose child is the byte, who, not only resembles the father as if they are identical twins but, are made of the same DNA.
Notice how it all started as a 0 and a 1: 2 'digits' that cannot be anything else for, practically, there is no such number as 10 in any number system. There is 0 - 9, for the decimal or base ten system, and then +1 is 0 for the place holder and a 1 tallying how many times we have counted form 0 - 9 already, in a new colum.
Identically, there is 0 - 1, then +1 is 10 (definitely not ten) in the binary number system. For the base 16 or hexadecimal system, there is 0 - 9 and, because we need to go up to 16, there is A - F (there was a void that needed to be filled).
Applying the same concept, colour values are, more conveniently represented, as HEX values ranging from 00 - FF in computer code: 0000 0000 - 1111 1111 binary equivalent, or the same 0 - 255 for decimals.
Now lets have some fun.
DictionaryOfComputing.Define("CMYK"):
A colour model that describes each colour in terms of the quantity of each secondary colour:
(C)yan = Red (byte: 0, HEX: 00) + Green (byte: 255, HEX: FF) + Blue (byte: 255, HEX: FF) which is 0, 255, 255 or 00FFFF,
(M)agenta = Red (byte: 255, HEX: FF) + Green (byte: 0, HEX: 00) + Blue (byte: 255, HEX: FF) which is 255, 0, 255 or FF00FF,
(Y)ellow = Red (byte: 255, HEX: FF) + Green (byte: 255, HEX: FF) + Blue (byte: 0, HEX: 00) which is 255, 255, 0 or FFFF00, and,
(K)ey or black = Red (byte: 0, HEX: 00) + Green (byte: 0, HEX: 00) + Blue (byte: 0, HEX: 00) which is 0, 0, 0 or 000000, it contains.
The CMYK system is used for printing. For mixing of pigments, it is better to use the secondary colours, since they mix subtractively instead of additively.
NOTE: I am not trying to ruffle any nationalist(s) feathers here... On the contrary, I am a very strong contender of the ideology that life has no place for 'mechanical thought/thinking'.
The secondary colours of light are cyan, magenta and yellow, which correspond to the primary colours of pigment (blue, red and yellow). (This will explain later why, during image production/manipulation, certain colours conflict with certain other colours. Or why when there is no sunlight there is dark or night.) In addition, although black could be obtained by mixing these three in equal proportions, in four-colour printing it always has its own ink. This gives the CMYK model. The K stands for Key or blacK, so as not to cause confusion with the B in RGB.
NOTE: There is the alpha channel value (A) which is 'usually' used, in combination with the RGB values, to alter the transparency of a colour but, where it is not specified or left unaltered, its default value is byte: 255 or HEX: FF. This is where the term RGBa is applied.
Hypothesis:
Once upon a time there was a boy in an episode of The X-Files, who was born with an extra strand of DNA, that enabled him to read other people's minds. So what if there is an artist, a DaVincian, probably, existing among us that could paint the most colourful pictures by just using a 3-colour pallette: containing only Red, Green and Blue paints, or, a 4-colour pallete: containing only Cyan, Magenta, Yellow and Key paints?
We have already established how using the former could be mixed to achieve the latter shades but what about the other way around?
Red = C: 0, M: 100, Y: 100, K: 0
Green = C: 100, M: 0, Y: 100, K: 0
Blue = C: 100, M: 100, Y: 0, K: 0
NOTE: The maximum value for the secondary colours is 100, compared to the primary colours which is 255.
Also notice that we have established both values, (byte and HEX) for Key/blacK, but I am sure that everyone is now curious about how to achieve such shades as gray or even white itself. They were also both added, by the developer, to increase the versatility of the artistic process during image production. They are as follows:
Gray = Red (byte: 128, HEX: 80) + Green (byte: 128, HEX: 80) + Blue (byte: 128, HEX: 80)
which is 128, 128, 128 or 808080
White = Red (byte: 255, HEX: FF) + Green (byte: 255, HEX: FF) + Blue (byte: 255, HEX: FF)
which is 255, 255, 255 or FFFFFF
Now we see a pattern emerging here:
Key (blacK): 0, 0, 0 or 000000
Gray: 128, 128, 128 or 808080
White: 255, 255, 255 or FFFFFF
NOTE:
1. Key (blacK) is on one extreme, white is on the other, and gray is in the middle.
2. For RGB, Key (blacK) is 0, 0, 0 but for CMY* it is 100, 100, 100. This is why it is stated that, for the secondary colour model, they mix subtractively to achieve other colours.
3. Any other colour value (of the 16 777 216 possible: 256 * 256 * 256 in decimal, or FF * FF * FF in HEX math) produced from any of the colour models will, undoubtedly, fall in between the two spaces created by these other three.
4. Taking all of the above into consideration, one cannot, in any way, conclude that, to achieve any other colour, you simply just add (or subtract) a single shade of Gray or Key. This assumption is not, the least, logical.
One must also note that, very often, we will come across colour values such as 0xFFFFFF or #FFFFFF this is the same as FFFFFF or White.
No comments:
Post a Comment