结论
设 i 为入射向量,n 为法线单位向量,r 为反射向量,则有:
r=i−2(i⋅n)n
推导
流程:设一个法向量的单位向量,利用点乘得到投影进而表示出平行四边形的对角线的向量,再通过平行四边形法则得到反射向量。
根据需求建立如下模型(注意 i 的方向,以及 n 为单位向量):

根据平行四边形法则,有:
−i+r=2OM
不难得出:
∣OM∣=−i⋅n
向量 OM 的单位向量其实就是法线向量 n,即:
OM=−(i⋅n)n
且:
−i+r=2OM
移项得到开头的公式:
r=i−2(i⋅n)n