人気ブログランキング | 話題のタグを見る

LabVIEW info. Sharing 新館

labview.exblog.jp
ブログトップ
2009年 12月 27日

プリズムのスペクトルシミュレーション

屈折は昔習ったスネルの法則を使えばよいし、屈折率の波長依存性は分散式で求めることができるので簡単なのですが、ちょっとだけ手間がかかります。

プリズムのスペクトルシミュレーション_c0023764_14272193.jpg


入射光はy軸に平行な光に限定して、プリズムを好きな位置に配置します。光の波長を入力すると分散式で屈折率を求めて、スネルの法則で光路を計算してXYグラフに表示します。
手間がかかるのは交点と入射角を求める部分で、特に角度は何が基準でプラス・マイナスの方向をどうするかが混乱に拍車をかけます。
プリズムのスペクトルシミュレーション_c0023764_1437502.jpg

プリズム配置.viは入射平面(辺)と出射平面(辺)がx座標とy座標のクラスター配列で出力されます。
入射光.viでは入射点と屈折率と入射辺から入射光が屈折してどこに向かうかを計算します。
出射光.viでは屈折光の光路から出射辺との交点と入射角を求めて屈折角を計算します。

入射光.viのダイアグラム
プリズムのスペクトルシミュレーション_c0023764_1455162.jpg


プリズムのスペクトルシミュレーション_c0023764_1456777.jpg

辺の上方向の法線と、下方向の法線を出力します。1/0でNanが発生する場合があるのでケアしています。これは次の出射光.viでも使っています。

プリズムのスペクトルシミュレーション_c0023764_156546.jpg

交点の計算はフォーミュラノードにしました。こういう計算はアイコンより文字の方が見通しが良いですね。
プリズムのスペクトルシミュレーション_c0023764_1585879.jpg


VI階層はこんな風になっています。
プリズムのスペクトルシミュレーション_c0023764_15181636.jpg


これをVIスニペットにしても再構築するのが大変だろうなと思います。階層の親VIのpng画像に子供を入れられるように進化して欲しいものだと思います。
でも、とりあえず下層のほうからVIスニペットでアップしようと思います。暇な人やフォローしたい人は穴埋めパズル感覚でサブVIにしてみてください。

(091227)

by wire_works | 2009-12-27 15:26 | スペクトルカメラ


<< 光を当ててみた      分散 >>