ca3_blackbodyradiation のいろいろ
ca3_blackbodyradiation 以下 ca3_bbr のアルゴリズムと、実用性と今後の発展についての妄想。
ca3_bbr のアルゴリズム
波長ごと黒体放射光の強さはプランク分布
を取ることが知られています。詳しくは 黒体(Wikipedia)。
人間の目が感じる光束 F は、視感度 V(λ) 入射エネルギー E(λ) を用いて
と表されます。 K は最大視感度という名前の定数ですが、あまり重要ではありません。黒体放射を見たときの色が欲しいので E(λ) は B(λ) を代入します。視感度 V(λ) は理科年表に載っています。
V(λ) は人間の目のセンサーの感度、 B(λ) は光の強さですから
は波長λの入射光にどれだけ反応したかを表します。これを可視光の波長 380-760 nm に渡って積分するので入射光に対してどれだけ反応したかがわかります。
人間の目には赤緑青の光に反応しやすい細胞があるので、それぞれの細胞について F を求めておきます。ここではそれを Fa Fb Fc とします。この F について
とすると XYZ 表色系における色座標(x, y, z)が得られます。
XYZ 系から RGB 系への換算式は ISP imaging-developers - 色変換式集 - XYZ を用いました。
ca3_bbr の使い道
使える範囲はかなり狭いです。というか電球の色くらいしか再現できません。
太陽光などもスペクトル分布が黒体放射によって近似できることが知られていますが、大気の影響によって日時によって色が違って見えます。夕焼けなどは顕著な例ですが、日中でもこれだという色は決まっていません。
蛍光灯や LED の光、炎色反応の光など黒体放射とは異なる発光現象も ca3_bbr では不可能です。
モニターの色温度や、日光、太陽の色温度について論じているものがありますが、そこでの色温度は赤み青みの指標くらいの意味で、厳密な意味で黒体放射をする黒体の温度ではありません。
電球や暖炉、キャンドルの炎などの色はかなり正確なはずなので、これらがあるシーンでは役に立つかもしれません。
今後やってみたいこと
- 消費電力を入力すると明るさを自動調節するようにしてみたい。(→できそう)
- ダイオードなどの単色光の色も出してみたい。(→δ関数っぽいものになるので実装のしかたがよくわかんない。)
- 蛍光灯の色も出してみたい。(→蛍光灯とか CRT に使われる蛍光塗料の発光特性とかって手にはいるんだろうか?)
MiniDiary
あまりにも自信がないので
相変わらず自信が持てないので、自分で納得するために書いてみた。
投稿者 | CASPAR003 |
投稿時刻 | 20:45 |
カテゴリー | Shade |
コメント | 0 件 |
トラックバック | 0 件 |
記事へのリンク | http://www.caspar003.info/delta/archive/2007/10/15/2045.html |
コメント
- 投稿者
トラックバック
- トラックバック