色の設定

RGB による色の設定では、コンピュータ・スクリーンの小さな赤・緑・青のドットをどのように光らせるかを決めるために、赤・緑・青の分量と割合を指定せねばなりません。白色は赤・緑・青それぞれが最大のときであり (1,1,1) を指定します。黒色は (0,0,0) を指定します。最も明るい赤色は (1,0,0) で指定します。これは赤色が最大であり、緑色と青色が最小であることを意味します。

下に VPython で使える RGB 色指定の色名の例をいくつか示します。

    (1,0,0) color.red (1,1,0) color.yellow (0,0,0) color.black
    (0,1,0) color.green (1,0.5,0) color.orange (1,1,1) color.white
    (0,0,1) color.blue (0,1,1) color.cyan  
     (1,0,1) color.magenta  

下のように自分で色を指定して使うこともできます。

(0.5, 0.5, 0.5) 黒っぽい灰色

(1,0.7,0.2) 赤銅色

色はコンピュータによって、また 3D の照明具合によって異なって見えます。上で定義した色名は近似的な色に過ぎません。RGB の組み合わせによる色指定は色補正(ガンマ補正)によって変わらないからです。

VPython のデモプログラムにある colorsliders.py は、RGB スライダを調整することで見える色を変化させます。すなわちプログラムに必要な三つの RGB の色の値を決められます。そのプログラムはまた HSV スライダも備えています。hue:色相, saturation:彩度(どれぐらの白色を加えるかで色相の弱め方を指定します), value:明度を指定できます。これも色を記述する RGB とは別の方法です。

現在のところ VPython は RGB 色指定のみしか使えません。しかし RGB 三色と HSV 三パラメータを互いに変換する関数を備えています。

c = (1,1,0)

c2 = color.rgb_to_hsv(c) # RGB を HSV に変換します

print hsv # (0.16667, 1, 1)

c3 = color.hsv_to_rgb(c2) # HSV から RGB に戻します

print c3 # (1, 1, 0)

他の例です: sphere(radius=2, color=hsv_to_rgb( (0.5,1,0.8) )