
グレースケールWPF や Silverlight で、ボタンなどのコントロールを立体的に見せるために使われる手法を見て、影が重要な役割を果たしていることがわかりました。
グレーについてもう少し知りたいと思います。 RGBの色空間を立方体と見なして、原点(R,G,Bが全てゼロ)を通る対角線がグレースケールです。 下図の「32」と記した最初の図は、R=G=B=32 を含む、立方体の原点を通る対角線に垂直な面です。
それぞれ、グレーに見える範囲を知りたいと思ったのですが、ほとんどグレーに見えません。 もう一つ考えられるのは、回りの状態に影響を受けやすいのかもしれません。 ■作図
原点を通る対角線上に視点があり、原点を見つめるように2D化します。原点を通る対角線に垂直で、原点を含む面をX-Y平面と考えます。 投影は遠近法のない平行な投影とします。 R軸がどう投影されるか考えて見ます。R軸上の点Aは、Aを通る、立方体の対角線O-Bに平行な線と、X-Y平面の交点Lに投影されます。 ところで、(線分A-Bの長さ)/(線分O-Aの長さ)は、√2ですから、∠AOBは、atan(√2)です。 a = cos(atan(√2)) とします。
R軸は、Y軸に重なっていますが、G,B軸はX軸と30°の角度があります。
r_x = 0 したがって、以下のように変換すれば良いようです。 x = -a・cos(π/6)・(g-b) ※1 「色について」「色」「10.グレースケール」では、補正した値を使っています。 単に、
|

