人気ブログランキング | 話題のタグを見る
ブログトップ
コンピュータと共にある創造的日常
uneoyaji.exblog.jp

メディアアート・プロジェクトにハマったオヤジの日常生活
by une0exct
RGB と HSV の相互変換
一昨日の記事に書いた中間色の件で、独自に RGB と HSV (HSB) の相互変換について考えてみました。R, G, B の3つの軸で張られる立方体の空間のすべての領域を自然に HSV 空間に投射するのが目的です。通常の HSV 空間を表現する色立体は、水平面上の角度を H、直径方向の中心からの距離を S、高さを V に割り当てた円柱形の一部と考えるのが自然といえば自然なんですが、元の領域が立方体なので、この形を変えずに、そのまま角度だけを変えることにしました。つまり、明るさ V を表す対角線の軸 (0,0,0) - (1,1,1) を垂直に立てて、 V一定の平面で立方体を切り、その切断面である多角形の上で、色相 H と彩度 S を考えます。切断面の形状は V < 1/3 では R, G, B の各軸上の点を頂点とする正三角形となり、1/3 < V < 2/3 では六角形、2/3 < V では、先の三角を上下反対にした正三角形になります。各形状について、S 一定の線を、中心を共有する外周の相似形とし、これが平行線となる各三角形の領域を比例配分するように H の値を決めることにします。
以上がとりあえず、思いついた基本的な考え方ですが、プログラムにはまだ落としていません。多分、これでうまく行くと思うんだけど、プログラムは明日の課題ということにしときます。
by une0exct | 2008-04-02 23:10
<< 一応、動いた RGB ⇔ HSB 新プロジェクトの試し >>