关于镜面反射的问题

时间:2010-12-13 15:06:26

标签: graphics visualization computer-vision

有人知道为什么将Specular Reflection定义为  反射= 2(正常。光)正常 - 光 其中,法线是平面的法线 光是来自光源的归一化矢量?

2 个答案:

答案 0 :(得分:2)

要反映矢量,您需要反转位于特定轴上的矢量分量。例如,要反射离开x轴的矢量,您只需翻转y分量的符号即可。另一种看待它的方法是将y分量乘以因子-1。实现该目标的另一种方法是从其自身中减去y分量的两倍。最后一个变体是您站点的公式中使用的变体。

我们想从方向向量中减去表面法线的一些倍数。 (Normal.Light)术语为您提供沿法线放置的光矢量的分量(类似于上例中的y分量)。然后我们需要两倍的量(因此是2)并且我们想要在法线方向上改变向量,因此该数量需要乘以法线。你似乎已经在减号附近交换了条款。

答案 1 :(得分:0)

这可能是这里描述的一般反思的结果:

http://en.wikipedia.org/wiki/Reflection_(mathematics

你可能需要知道一点矢量几何或线性代数才能理解为什么。