光照和材质——辐射度量学、绘制方程以及BRDF详解

早期的图像学教程中,使用经验模型如lambert漫反射模型以及phong模型表示光照,然而,经验模型并未对物理世界的原理进行准确的表示。因此,我们希望从物理现象和原理的角度出发,详解当今图形学领域的基础知识——光照和材质。由于大多数资料中并没有进行详细准确的推导,导致初学者在这一部分的学习中不能直观理解。因此本文将力求在数学推导过程中做到准确详细。

一、基本几何知识及推导

由于我们要研究三维空间中光线的传播过程,因此我们需要引入三维空间中新的计量单位——立体角(Solid Angle)。
为了深入理解立体角的概念,我们需要重温一下二维平面上有关平面角(弧度Radian)的定义。

1.平面角(弧度)

我们想要表达二维空间中的一个角度 θ θ ,使用角度制表示为0度到360度范围的一个角度θ。而使用弧度制则表示为 [0,2π] [ 0 , 2 π ] 范围内的一个弧度r,在单位圆中,其对应关系为: r=θπ/180 r = θ π / 180 。我们可以直观地理解为,弧度对应了单位圆中角度所对应的弧长。
在数学和物理中,弧度是角的度量单位。它是由国际单位制导出的单位,单位缩写是rad。定义:弧长等于半径的弧,其所对的圆心角为1弧度。(即两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角的弧度为1)。
而之所以使用单位圆下的弧长表示弧度,是因为在圆心角相等的情况下,圆心角所对弧长l与圆的半径r成正比,即:

l=θr l = θ r
因此平面角的微分形式可以表示为 dθ=dl/r d θ = d l / r
在平面直角坐标系下,我们使用向量(x,y)表示一个固定的方向。而转换为极坐标系下的表示,我们做如下的坐标变换:
r=x2+y2,θ=arcsin(y/r) r = x 2 + y 2 , θ = a r c s i n ( y / r )
若向量 (x,y) ( x , y ) 为单位向量,则 r=1,θ=arcsin(y) r = 1 , θ = a r c s i n ( y ) ,极坐标下的一个方向仅由θ可以表示。
根据上述弧度和极坐标下的推导,我们考虑二维平面上的一个简单问题:如何求单位圆的周长?
在直角坐标系下,单位圆的方程可以显式写为 x2+y2=1 x 2 + y 2 = 1 ,根据第一类曲线积分,我们知道求平面上一段弧长l的积分可以转换为定积分的形式:
dl=1+f2(x)dx,ldl=ba1+f2(x)dx=2111+x2/1x2dx=2arcsin(1)2arcsin(1)=2π d l = 1 + f ′ 2 ( x ) d x , ∫ l d l = ∫ a b 1 + f ′ 2 ( x ) d x = 2 ∫ − 1 1 1 + x 2 / 1 − x 2 d x = 2 a r c s i n ( 1 ) − 2 a r c s i n ( − 1 ) = 2 π

由于直角坐标系下需要进行积分微元与积分变量之间的转换,而在极坐标系下并不需要转换,因此 ldl=2π0dθ=2πr

你可能感兴趣的:(图形学,图形)