图形学的数学基础(二十三):立体角

5,829 阅读2分钟

本文已参与[新人创作礼]活动,一起开启掘金创作之路

转载请注明出处.

图形学的数学基础(二十三):立体角

介绍

立体角,常用字母Ω\Omega表示,是一个物体对特定点的三维空间的角度,是平面角在三维空间中的类比。因此,立体角是单位球面上的一块面积,这和“平面角是单位圆上的一段弧长”类似。

平面角

平面角等于张角对应圆上的弧长除以圆的半径,即:

1.png

θ=lr\theta = \dfrac{l}{r}

而圆的周长等于2πr2\pi{r},因此完整圆 对应的角度为:

2πrr=2π    radians\dfrac{2\pi{r}}{r} = 2\pi\;\;radians

立体角(Solid  angleSolid\;angle

平面角在三维空间的延伸。在三维空间中某一个球体,从球心出发,形成具有一定大小的锥体,锥体会打到球面上,形成一定的面积。而立体角就是锥体形成的面积AA除以球体半径的平方。

ω=Ar2\omega = \dfrac{A}{r^2}

球体的表面积等于4πr24\pi{r^2}

因此完整球体的立体角为4π    steradians4\pi\;\;steradians

2.jpg

微分立体角(Differential  Solid  anglesDifferential\;Solid\;angles

由立体角的定义可知,三维空间中的某一立体角等于锥体在球面形成的面积除以半径的平方。因此微分立体角等于球体上极小面积除以半径平方,而极小面积是由球体上某一点在θϕ\theta和\phi两个方向上的微小移动形成的。

dϕd\phi是立体角dωd\omega在底面上展开的微小平面夹角范围,dθd\thetadωd\omega与垂直方向的微小平面夹角范围。极小面积如下图所示:

3.png

极小面积可以近似看作矩形,因此极小面积近似等于AB×BCAB\times{BC}如下图:

4.jpg

dω=dAr2d\omega = \dfrac{dA}{r^2}

OBCOBC可以看作二维扇面,根据平面角的定义:

dθ=BCrd\theta = \dfrac{BC}{r}

BC=dθrBC = d\theta{r}

BD垂直于n轴,OBD形成直角三角形,根据正弦定理:

BD=rsinθBD = r\sin\theta

DAB形成二维扇面:

dϕ=ABDB=ABrsinθd\phi = \dfrac{AB}{DB} = \dfrac{AB}{r\sin\theta}

AB=rsinθdϕAB = r\sin\theta{d}\phi

dA=AB×BC=rsinθdϕ×dθr=sinθdθdϕr2dA = AB\times{BC} = r\sin\theta{d}\phi\times {d\theta{r}} = \sin\theta{d}\theta{d}\phi{r^2}

dω=dAr2=sinθdθdϕr2r2=sinθdθdϕd\omega = \dfrac{dA}{r^2} = \dfrac{\sin\theta{d}\theta{d}\phi{r^2}}{r^2} = \sin\theta{d}\theta{d}\phi

参考

GAMES101 -现代计算机图形学入门-闫令琪

Understanding the concept of Solid Angle

立体角 (Solid Angle)