通常、パソコンでは光をRGB(Red,Green,Blue)で表現する。しかしながらこれは人間の感覚になじむ色の連続を描けない。例えば、赤は&HFF0000、緑は&H00FF00であるが、黄色は&HFFFF00である。
この数値をやみくもに増減しても左図のような人間が連続的に変化してるな、と感じる色の並びを描くことはできない。せいぜい明るさを変化させてグラデーションをつけられる程度だ。
じゃあ、どうすればいいかというとHSVという考え方がある。アメリカの画家マンセルという人が考えたらしい。色を「色相(Hue)」、「彩度(Saturation)」、「明度(ValueまたはBrightness)」の3つの要素で表す。
色相とは、いわゆるみんなの考える「色」で、赤から黄、緑、青、紫からまた赤につなぐ。ちょうど、上のバーを環にしたものを考えるといい。
「彩度」とは色の鮮やかさのことで、色味が増すほど高いとする。また「明度」は色の明るさのことで、黒が最小であり白が最大となる。
RGBとHSVの関係をプログラムで変換する文献をなんとか英語のサイトを探して発見!