HSLからアルゴリズムをwikipediaに読みました。私はそれを理解し、それを使って変換することができます。しかし、私は別のアルゴリズムhereに来て、数学は "説明" hereです。HSLからRGBへの色空間変換アルゴリズムを理解する
アルゴリズムは次のとおりです。私は数学、以下試してみたが、私はそれを理解することはできません
//H, S and L input range = 0 ÷ 1.0
//R, G and B output range = 0 ÷ 255
if (S == 0)
{
R = L * 255
G = L * 255
B = L * 255
}
else
{
if (L < 0.5) var_2 = L * (1 + S)
else var_2 = (L + S) - (S * L)
var_1 = 2 * L - var_2
R = 255 * Hue_2_RGB(var_1, var_2, H + (1/3))
G = 255 * Hue_2_RGB(var_1, var_2, H)
B = 255 * Hue_2_RGB(var_1, var_2, H - (1/3))
}
Hue_2_RGB(v1, v2, vH) //Function Hue_2_RGB
{
if (vH < 0) vH += 1
if(vH > 1) vH -= 1
if ((6 * vH) < 1) return (v1 + (v2 - v1) * 6 * vH)
if ((2 * vH) < 1) return (v2)
if ((3 * vH) < 2) return (v1 + (v2 - v1) * ((2/3) - vH) * 6)
return (v1)
}
。どのように機能するのですか?
円筒座標系からデカルト座標への変換です。彩度と輝度(色に依存しない)を組み込んだヘルプ変数 'var_1'と' var_2'を作成します。次に、それらを色相に応じてRGB空間の色値に変換します。 – igrinis