Colors in the physical world can be any wavelength, or combination of wavelengths, of light
| Color | Wavelength |
|---|---|
| Violet | 420 nm |
| Blue | 470 nm |
| Green | 530 nm |
| Yellow | 580 nm |
| Orange | 620 nm |
| Red | 700 nm |

Rods & cones absorb light, send signal to brain
Any visible wavelength is perceived the same as some
combination of 3 basic colors
(roughly blue, green, and red)

RGB = Red , Green , Blue
Each component (R, G, or B), ranges from a minimum (no intensity)
to a maximum (full intensity), typically 0.0 to 1.0.
Computer numbers have a finite resolution - how many distinct values can be represented
24 bit color = 8 bits red + 8 bits green + 8 bits blue
(a.k.a. 8 bits per component)
8 bits = 256 possible values
32 bit color usually means 8 bits red + 8 bits green + 8 bits blue + 8 bits alpha
16 bit color can be 5 bits red + 6 bits green + 5 bits blue
HDRI: High Dynamic Range Imaging - uses 16 or 32 bits per component
| | ![]() |
|

CMY = Cyan , Magenta , Yellow
C = 1.0 - R
M = 1.0 - G
Y = 1.0 - B
CMYK = Cyan , Magenta , Yellow , Black

HSV = Hue , Saturation , Value
h /= 60.0
frac = h-int(h)
if h < 1:
r,g,b = v, v-v*(s-s*frac), v-v*s
elif h < 2:
r,g,b = v-v*s*frac, v, v-v*s
elif h < 3:
r,g,b = v-v*s, v, v-v*(s-s*frac)
elif h < 4:
r,g,b = v-v*s, v-v*s*frac, v
elif h < 5:
r,g,b = v-v*(s-s*frac), v-v*s, v
else:
r,g,b = v, v-v*s, v-v*s*frac

The "brightness" of a color.
Formula, used in NTSC television standard, based on human perception:
0.30 * R + 0.59 * G + 0.11 * B
| Background | Luminance |
|---|---|
| Moonless overcast night sky | 0.00003 cd/m^2 |
| Moonlit clear night sky | 0.03 |
| Twighlight sky | 3 |
| Overcast day sky | 300 |
| Day sky with sunlit clouds | 30,000 |
Rods & cones adapt to average level of illumination
Rods most sensitive at low levels (scotopic vision)
Cones more sensitive at higher levels (photopic vision)
