首页 > 代码库 > 求反射向量

求反射向量

求反射向量

  给定入射光线向量I和平面法向量N,求反射向量R,如下图。为了方便计算,这里假定I和N都是单位向量(模为1,编程时可先将I和N单位化)。

  

  设入射光线向量I和反射平面的法向量N之间的夹角为theta。连接I的始端和R的末端,则有

  R = 2P - I              (1)

  现在问题变成了如何求取P,设入射点0到P与N的交点的向量为S,那么有

  P = I + S               (2)

  现在问题变成了如何求取向量S,向量S即向量-N(注意,这里是-N,因为S和N的方向相反。)在向量N上的投影,根据向量的投影公式有

  

  因为N是单位向量,简化一下得到

  

  将S代入公式(2),再将P代入公式(1)得到

  

参考:http://www.cnblogs.com/graphics/archive/2013/02/21/2920627.html