首页 理论教育虚拟现实理论与开发实践基本原理及菲涅耳方程的应用

虚拟现实理论与开发实践基本原理及菲涅耳方程的应用

【摘要】:在光学中,反射和折射是众所周知的现象。有一个方程式精确地计算了每个参数应该如何混合,这个方程称为菲涅耳方程。折射对光线有轻微弯曲的作用。这个过程是让物体在透视时或在不同折射率的物体上出现偏移的原因。3)应用菲涅耳方程我们需要玻璃球的折射率、主光线的角度,以及击中点的法线。使用点积、菲涅耳方程返回两个混合值。出于这个原因,必须设置一个任意的限制值,从而防止光线相互作用导致的无限递归。

光学中,反射和折射是众所周知的现象。反射和折射分向都是基于相交点处的法线和入射光线(主光线)的方向[22]。为了计算折射方向,我们还需指定材料的折射率。

同样,我们也必须意识到像玻璃球这样的物体同时具有反射性和折射性的事实。我们需要为表面上的给定点计算两者的混合值。反射和折射具体值的混合取决于主光线(或观察方向)和物体的法线和折射率之间的夹角。有一个方程式精确地计算了每个参数应该如何混合,这个方程称为菲涅耳方程。

加入反射折射后,进行以下三个步骤(见图3-8)。

图3-8 玻璃球与光线关系

1)计算反射

为此,我们需要两个项:交点处的法线和主光线的方向。一旦获得了反射方向,我们就朝这个方向发射新的光线。假设反射光线撞击了红色球体,通过向光线投射阴影射线来找出到达红色球体上的那个点的光线多少。这会得到一种颜色(如果是阴影,则为黑色),然后乘以光强并返回到玻璃球的表面。

2)计算折射(www.chuimin.cn)

注意,因为光线穿过玻璃球,所以被认为是透射光线(光线从球体的一侧传播到另一侧)。为了计算透射方向,需要在知道击中点的法线、主射线方向和材料的折射率。

当光线进入并离开玻璃物体时,光线的方向会改变。每当介质发生变化时都会发生折射,而且两种介质具有不同的折射率。折射对光线有轻微弯曲的作用。这个过程是让物体在透视时或在不同折射率的物体上出现偏移的原因。

现在让我们想象一下,当折射的光线离开玻璃球时,它会碰到一个绿色的球体。在那里,我们再次计算绿色球体和折射射线之间交点处的局部照明(通过拍摄阴影射线)。然后,将颜色(如果被遮挡,则为黑色)乘以光强并返回到玻璃球的表面。

3)应用菲涅耳方程

我们需要玻璃球的折射率、主光线的角度,以及击中点的法线。使用点积、菲涅耳方程返回两个混合值。

这种算法的美妙之处在于它是递归的。迄今为止,在我们研究过的情况下,反射光线照射到一个红色的、不透明的球体上,而折射光线照射到一个绿色的、不透明的和漫射的球体上。但是,我们会想象红色和绿色的球体也是玻璃球。为了找到由反射和折射光线返回的颜色,必须按照与原始玻璃球一起使用的红色和绿色球体的相同过程。

这是光线追踪算法的一个严重缺陷。想象一下,我们的相机是在一个只有反射面的盒子里。从理论上讲,光线被困住了,并且会持续不断地从箱子的墙壁反弹(或者直到你停止模拟)。出于这个原因,必须设置一个任意的限制值,从而防止光线相互作用导致的无限递归。每当光线反射或折射时,其深度都会增加。当光线深度大于最大递归深度时,我们就停止递归过程。