Chapter 18 Light

(个人笔记,由于刚开始学习再加上英语不太好,所以有的地理解的可能不太对,望指正)

Chapter 18 Light

18.1 Radiometry

光从本质上来说是一种能量的传播形式,单位是焦耳(joule, J)。

18.1.1 Photons

对于本章的目的来说,光子是一个拥有位置,传播方向和波长λ\lambda的光量子(a quantum of light)。一个光子的速度为cc,这个速度只取决于介质的折射率nn,它的频率为f=c/λf=c/\lambda,不同于λ\lambdacc,当光进入一个折射率不同的介质时,它是不发生变化的。

一个光子所带的能量为:

q=hf=hcλ q = hf = \frac{hc}{\lambda}

其中h=6.631034Jh=6.63*10^{-34}J,称为普朗克系数。

18.1.2 Spectral Energy

Δλ\Delta\lambda趋近于0时,QλQ_{\lambda}的值会为0或者非常依赖于是否有一个光子位于给定的区域内。有两种思想流派应对这个问题,第一个是Δλ\Delta\lambda会很小但是不会小于光子发挥物理性能的范围,第二个是假定光是一个连续的状态而不是单独的光子,这两种不同的思路的解决方案是相同的。

QλQ_{\lambda}称为spectral energy,单位是J/nm。在图形学忠energy很少被使用,所以用QQ替代QλQ_{\lambda}

Q=ΔqΔλ Q = \frac{\Delta q}{\Delta\lambda}

18.1.3 Power

光源产生能量的频率称为power,单位为瓦(watts, W),等价于J/s。

Φλ\Phi_{\lambda}称为spectral power,单位是W/nm,在图形学中也会使用省略λ\lambda角标的表示方法。

Φ=ΔqΔtΔλ \Phi = \frac{\Delta q}{\Delta t \Delta\lambda}

18.1.4 Irradiance

对于一个点来说,接收到光的量的0,也是没有意义的,所以需要使用一个密度函数,所以产生了irradiance(辐照度)的概念,单位为W/m2W/m^2

H=ΔΦΔA=ΔqΔAΔtΔλ H=\frac{\Delta\Phi}{\Delta A} = \frac{\Delta q}{\Delta A\Delta t\Delta\lambda}

光离开平面的辐照度也称为radiant exitance, E。

18.1.5 Radiance

irradiance描述了到达顶点光的数量,但是没有说明光的方向,为了类比人眼看到的内容,需要一个物理量能够描述在指定方向接收到光的数量。

Chapter 18 Light

这个物理量称为spectral radiance(辐射率)。

L=ΔHΔσ L = \frac{\Delta H}{\Delta\sigma}

radiance的优点之一是不随空间距离变化而改变

Chapter 18 Light

由于ΔA\Delta A可能并不与平面重合,所以需要添加一个cosine校正参数

Chapter 18 Light

L=ΔHΔσcosθ L = \frac{\Delta H}{\Delta\sigma cos\theta}

离开平面的辐射率用LsL_{s}表示,到达平面的辐射率用LfL_f表示。

如果一个表面的field radiance是LfL_f,那么可以利用它推导出其他的辐射量。

H=all kLf(k)cosθdσ H = \int_{all\ k}L_f(k)cos\theta d\sigma

假设对于所有入射光线k的辐射率都是相同的,使用球坐标来表示立体角

dσsinθdθdϕ d\sigma \equiv sin\theta d\theta d\phi

所以辐照度为

H=ϕ=02πθ=0π2Lfcosθsinθdθdϕ=πLf H = \int_{\phi = 0}^{2\pi}\int_{\theta=0}^{\frac{\pi}{2}}L_fcos\theta sin\theta d\theta d\phi =\pi L_f

到达表面的能量可以表示为

Φ=all XH(X)dA \Phi = \int_{all\ X}H(X)dA

18.1.6 BRDF

为了描述一个表面是如何反射光的,可以从直观上来看,对于一个从kik_i方向到达的入射光,会有一部分光反射到kok_o方向的一个立体角。可以利用辐射率测量仪器进行测量

Chapter 18 Light

在测量得到(ki,ko)(k_i, k_o)的测量结果后,也需要确保反射函数与光的强度无关,但是测量仪器会计算测量范围之外的光(好像是这个意思…)

所以可以将一个辐照度测量仪在需要测量的表面位置处,它的结果会准确很多。可以将反射表示为一个比率

ρ=LsH \rho = \frac{L_s}{H}

HH是光kik_i处的辐照度,LsL_skok_o方向测量的辐射率。如果对于所有入射、出射方向都建立测量,那么会得到一个4D函数ρ(ki,ko)\rho(k_i, k_o),这个函数被称为bidirectional reflectance distribution function(BRDF)

Directional Hemispherical Reflectance

反射光的比率依赖于入射光的定向分布,基于这个原因,通常只需要设置固定的入射方向kik_i反射的比率,称为directional hemispherical reflectance

R(ki)=power in all outgoing dirction kopower in a beam from direction ki R(k_i) = \frac{power\ in\ all\ outgoing\ dirction\ k_o}{power\ in\ a\ beam\ from\ direction\ k_i}

处于能量保存的原因,这个值只能位与0到1之间。入射的能量是Φi\Phi_i,它到达一个面积为ΔA\Delta A的区域,所以入射光的辐照度为Φi/ΔA\Phi_i /\Delta A,所以这个比率也可以表示为

R(ki)=EH R(k_i)=\frac{E}{H}

根据以上定义

L(ko)=Hρ(ki,ko)=ΦiΔA(????) L(k_o) = H\rho (k_i, k_o) = \frac{\Phi_i}{\Delta A}(????为啥)

根据辐射率的定义

L(ko)=ΔEΔσocosθo L(k_o)=\frac{\Delta E}{\Delta \sigma_o cos\theta_o}

所以有

Hρ(ki,ko)=ΔEΔσocosθoΔEH=ρ(ki,ko)Δσocosθo H\rho (k_i, k_o) = \frac{\Delta E}{\Delta \sigma_o cos\theta_o} \\ \frac{\Delta E}{H} = \rho (k_i, k_o)\Delta \sigma_o cos\theta_o

可以导出R(ki)R(k_i)的公式

R(ki)=all koρ(ki,ko)cosθodσo R(k_i) = \int_{all\ k_o}\rho (k_i, k_o) cos\theta_o d\sigma_o

Ideal Diffuse BRDF

一种理想表面称为Lambertian,这种表面的ρ\rho值对于所有角度都是等于一个常数,这表示表面对于所有的观察角度都具有相同的辐射率,并且这个辐射率与辐照度成比例

假定ρ=C\rho=C,有

R(ki)=all koCcosθosinθodσo=ϕ=02πθ=0π2Ccosθosinθodθodϕo=πC R(k_i)=\int_{all\ k_o}Ccos\theta_osin\theta_o d\sigma_o \\ = \int_{\phi = 0}^{2\pi}\int_{\theta=0}^{\frac{\pi}{2}}Ccos\theta_o sin\theta_o d\theta_o d\phi_o = \pi C

对于完美反射的Lambertian表面(R = 1),有ρ=1/π\rho=1/\pi,对于R(ki)=rR(k_i)=r的Lambertian表面有

ρ(ki,ko)=rπ \rho(k_i, k_o) = \frac{r}{\pi}

18.2 Transport Equation

如果利用方向为Δσi\Delta \sigma_i辐射率为LiL_i的光线来测量kok_o方向对应的一部分的反射率,可以计算出BRDF

Chapter 18 Light

H=LicosθiΔσiρ=LoLicosθiΔσi H = L_icos\theta_i\Delta\sigma_i \\ \rho = \frac{L_o}{L_icos\theta_i\Delta\sigma_i}

调整这个公式,可以得到来自于方向为kik_i的光线的辐射率微分

ΔLo=ρ(ki,ko)LicosθiΔσi \Delta L_o=\rho(k_i, k_o)L_icos\theta_i \Delta\sigma_i

如果光线来自于多个方向,那么可以求它们的和

Ls(ko)=all kiρ(ki,ko)Lf(ki)cosθidσi L_s(k_o) = \int_{all\ k_i}\rho(k_i, k_o)L_f(k_i)cos\theta_i d\sigma_i

该公式在图形学领域也被称为rendering equation

有时仅依据表面辐射率来表示transform equaton也是很有效的。在一个封闭空间中,表面上的一点的入射光辐射率是来自于另一个平面的反射率Ls(ki)=Lf(ki)L_s(-k_i)=L_f(k_i)

Chapter 18 Light

从点xx'发出的立体角为

Δσi=ΔAcosθxx2 \Delta \sigma_i=\frac{\Delta A'cos\theta'}{||x-x'||^2}

其中ΔA\Delta A'表示与xx'关联的面积,将该式带入之前Ls(ko)L_s(k_o)的表达式中

Ls(x,ko)=all x visible to xρ(x,xx)cosθicosθxx2dA L_s(x, k_o) = \int_{all\ x'\ visible\ to\ x}\frac{\rho(x', x-x')cos\theta_icos\theta'}{||x-x'||^2}dA'

利用遮挡函数

v(x,x)={1 if x and x are mutually visible0 otherwise v(x, x') = \begin{cases} 1\ if\ x\ and\ x'\ are\ mutually\ visible \\ 0\ otherwise \end{cases}

替代积分区间可以有

Ls(x,ko)=all xρ(x,xx)v(x,x)cosθicosθxx2dA L_s(x, k_o) = \int_{all\ x'}\frac{\rho(x', x-x')v(x,x')cos\theta_icos\theta'}{||x-x'||^2}dA'

18.3 Photometry

每个光谱辐射量(spectral radiometric quantity)都有一个对应的光度值(photometric quantity)来表示有多少被人眼接收到的有效量,对于一个给定的光谱辐射量fr(λ)f_r(\lambda)其对应的fpf_p

fp=683lmWλ=380nm800nmyˉ(λ)fr(λ)dλ f_p=683\frac{lm}{W}\int_{\lambda=380nm}^{800nm}\bar{y}(\lambda)f_r(\lambda)d\lambda

其中yˉ(λ)\bar{y}(\lambda)是人视觉系统的发光效率函数(luminous efficiency function),它在积分区间外为0。

不同波长的光对应的发光效率函数的灵敏程度不同

Chapter 18 Light

图形学中最常用的光度值是明度(luminance)

Y=683lmWλ=380nm800nmyˉ(λ)L(λ)dλ Y = 683\frac{lm}{W}\int_{\lambda=380nm}^{800nm}\bar{y}(\lambda)L(\lambda)d\lambda

明度的单位为(lm/W)(W/(m2sr))=lm/(m2sr)(lm/W)(W/(m^2sr))=lm/(m^2sr),lm为流明(lumens)。