レイトレーシングでLED光を再現する
たとえば、ロームのSML-E12UWを再現するとしたら、どのようにできるか考える。
・波長は、624nm(typ.)
・光度は、85mcd(typ.)
レイトレーシングにおいて、光の色は波長ではなく、RGBで指定している。波長からRGBへの変換は、等色関数を用いるhttps://ja.wikipedia.org/wiki/CIE_1931_%E8%89%B2%E7%A9%BA%E9%96%93
等色関数の数値データは、下記サイトのエクセルを用いた。
https://www.rit.edu/cos/colorscience/rc_useful_data.php
問題は、LEDのデータシートを見るとピーク波長しか記載されておらず、スペクトラム分布が不明という点である。スペクトラム分布が分からなければ、積分値を計算できず、ピーク値だけのrgb値しかでてこない。ピーク値だけだと、以下の値になる。
rgb <0.3654,0.0125,-0.0001>
レイトレーシングにおいて、光の減衰はfade_distanceとfade_powerで設定する。これをLEDの光度から逆算する。まず、カンデラ[cd]という単位は照度[lx]x距離[m]の2乗であらわされる。ここで、照度の下限を0.1lx程度と決めたとすると、85mcdの光源が0.1lxになる距離は、√(85mcd / 0.1lx) =0.9mとなる。
周辺減光は、半値角からtightnessパラメータを設定する。70°で50%なので、tighntessはおよそ0.9あたりと考える(リファレンスマニュアルの3.4.4.1.2 Spotlightsの最後の図から目測で推定)。
上記をすべて入れた設定が以下となる。距離単位はmmと考えて、100mmの位置に光源を置いた。
light_source{<0,0,100> color rgb<0.3654,0.0125,-0.0001> spotlight radius 0 falloff 90 tightness 0.9 point_at <0,0,0>
fade_distance 900 fade_power 1}
スペクトラム分布が分かれば、ちゃんとした色と輝度で見えるのだろうか…?引き続き調べていこうと思う。
コメント
コメントを投稿