椿の日記

たぶんプログラムの話をします

屈折

f:id:tbk:20110509211912p:image

昨日は例大祭だったのでお休み。本日は改めて屈折を試してみました。
まず、法線ベクトルNと、入射ベクトルLが作る平面を考え、その平面上で法線ベクトルNに直交する単位ベクトルEを求めます。

f:id:tbk:20110509215126p:image

L-(L・N)N の長さは sinθ なので、これをsinθで割って単位ベクトルEを求めます。
屈折ベクトルRは次のように書けます。

f:id:tbk:20110509215127p:image

  R = - cosθ2 * E - sinθ2 * N

スネルの法則によって η1sinθ1 = η2sinθ2 という関係が成り立ちますので、これを上記式に代入してL,N,η1,η2の式でRを表します。

屈折とかやり始めると「今そのレイはどのような材質の中を進行しているのか」みたいな情報が必要になるんですね。