RGB(赤緑青)カラーモデルの主な目的は、テレビやコンピューターなどの電子システムでの画像の検知、表現、および表示です。
HSL(Hue Saturation Lightness)は、1970年代にコンピューターグラフィックスの研究者によって設計された代替のカラーモデルであり、人間の視覚が色を作り出す属性を知覚する方法により密接に整合します。
RGBとHSLの wiki記事は次のとおりです。グラフィックプログラムでは、HSLで計算を行い、後でほとんどの画面に適した形式(RGB)に変換するのが一般的です。
タスクは、HSLを入力として取り、RGBを出力する関数/プログラムを作成することです。
それらの間で一貫性がある限り、I / Oの好みの表現を選択できます。
例えば、それらは3つの要素を持つ配列/タプルまたは名前3つの特性を持つオブジェクトであることができるh
、s
とl
、私は整数(失う精度)としてHSLを受信し、RGB整数を出力するように、他の巧妙な変化を受け入れるだろう。
入力は範囲と形式が安全であると見なすことができ、どちらも決定できます。範囲0-1 0-1 0-1
または0-360 0-100 0-100
hsl 0-1 0-1 0-1
または0-255 0-255 0-255
rgbのいずれかを強くお勧めします。
上記の両方を指定するために各回答が必要であり、他のバリエーションよりもキャラクターが少ない場合でも、特に誇りに思っている場合は、さまざまなバリエーションを回答に入れてください。一番小さいものを上に置きます。
0-360 0-100 0-100
→の擬似テストケース0-255 0-255 0-255
h s l → r g b
0 0 0 → 0 0 0
90 56 17 → 43 68 19
202 19 39 → 81 104 118
72 55 26 → 88 103 30
変換の式はここにあります:
これは、変換を視覚化する良い方法として:
a-b
と言えば、整数以外の値を処理するときに表記法を使用すること自体が間違っていますが、質問をより読みやすくすることは問題ないと思います。誰にも文句を言うならば、私はので、そのアウトを指し示すためのおかげで、それを再考するだろう
[0,360)
当時の標準表記を使用してください:)
H
ofの推奨範囲0-360
は[0,360)
、次のように記述した方がよいでしょう0-359
か?