「内積」の演算の幾何平均を考えると、反射の公式がわかりやすくなります。
2つの3Dベクトル間の内積は、数学的に次のように定義されます。
<a, b> = ax*bx + ay*by + az*bz
しかし、それは素晴らしい幾何学的解釈を持っています
aとbの間の内積は、2つのベクトルが反対方向を指している場合に負の符号で取られたb上の投影の長さに、 bの長さを掛けたものです。

この定義を使用するとすぐにわかり、式を見ただけではわかりません。たとえば、座標系を回転させても2つのベクトルの内積は変化しない、2つの垂直ベクトルの内積は次のようになります。 0(この場合、投影の長さは明らかにゼロです)、またはベクトルの内積自体がその長さの2乗であること。
代わりに、幾何学的解釈を使用してあまり明白ではないことは、内積が可換であるということです。つまり、それ<a, b> = <b, a>
(式を考慮すると明らかな事実)です。
考慮すべき重要な点は、bの長さが1の場合、内積は単純にbを超える投影の<a, b>
長さ(適切な符号で取得)であるということです。
この解釈を考えると、平面上の反射を計算するための式は非常に理解しやすいです。

反射されたベクトルrを計算するには、ベクトルaと法線nの平面が与えられた場合、次の式を使用する必要があります。
r = a - 2<a, n> n
この場合、図の高さhはちょうど<a, n>
(nは単位長であると想定されていることに注意してください)、したがって、法線の方向にその高さの2倍移動する必要があることは明らかです。
適切な内積記号を検討すると、入射ベクトルaと平面法線nが同じ方向を向いている場合にも式が適用されることがわかります。