ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【Processing】プリズムの分光

成果物

f:id:Nekodigi:20200620222346p:plain
どうして分光できるのかと思って調べてみたら、波長によって屈折率が変わるということがわかりました。狙った波長のデータが見つからなかったので、残念ながら物理的に正確なシュミレーションは出来ませんでしたが、近い見た目のものができました。

仕組み

波長によって屈折率が変わるということを再現するために、光線自体に屈折率情報を持たせておき、それを使ってスネルの法則で屈折の計算を行っています。
Snell's law - Wikipedia
狙った波長ではなかったので今回は使いませんでしたが、屈折率と波長の関係のデータはこちらから取得することができます。
https://www.global-optosigma.com/jp/category/opt_d/opt_d01.html

コード

RayCast_Prismという名前で追加しています。
github.com