I participated in Handmade Network Learning Jam, and picked the topic of colors and color spaces. Here are a couple videos where I explain what I learned, and apply it to Orca’s vector graphics renderer.
The first video discusses how we perceive colors, how we can experimentally derive color matching functions, build the XYZ color space, and use it to match colors across different media and different sets of primary colors (e.g. Red, Green, Blue subpixels of a computer display, or Cyan, Magenta, Yellow, Black inks of a printer). In the process, I write some python code to produce rg and xy chromaticity diagrams.
In the second video I explain gamma correction and the sRGB model, and update Orca’s vector graphics renderer to be gamma-correct.
The third video is a follow-up on the “proper” way to do sRGB conversion, and how it differs from the simple approximation I used in the second video.
The fourth video explains what the HSL and HSV color models are, and how to derive them from an RGB color cube.