スネルの法則
入射角 と透過角
の間には次の関係式が成り立ちます。

ここで、 は透過前の媒質の屈折率、
は透過後の媒質の屈折率です。
屈折ベクトル
単位法線ベクトル 、光源へ向かう単位方向ベクトルを
とします。
透過光が進む方向ベクトルを とします。
を法線ベクトルに対する平行成分と垂直成分で表すことを考えます。

法線ベクトルに対する の平行成分は
で与えられます。
に平行な単位ベクトルを
とします。
法線ベクトルに対する の垂直成分は
で与えられます。
以上より、 は以下のように書けます。
式 を使って、式
を変形します。
さらに、 と式
を使って、式
を変形します。
最後に で置き換えます。
式 が有効なのは、
を満たすときだけです。
根号内が負の時は、内部全反射という現象が起こります。
内部全反射の時は、こちらと同じ現象が発生し、全て反射されます。
参考リンク
参考文献
ゲームプログラミングのための3Dグラフィックス数学 p126-p128