对于做实时光线跟踪的理论学习来说,立体角是个非常基础又重要的概念,因此我们要对其进行惮述。在平面圆中我们定义了角的一个衡量标准:弧度。也即当圆的半径时,该圆心角的弧长的值即为弧度。
针对三维中球面的概念,我们定义了立体角。先看图:
假若球的半径为,那么我们定义如图所示的锥形,也即:由水平角
和垂直角
的变化量
和
交叉形成的一小块区域,现在来估算它的面积
近似的我们认为它是个长方形,其中由决定的这一边的弧长=
(弧度的定义就是其所对的单位圆的弧的长度),而另一边则要求其所围圆的半径,也即图中以红色线为半径的水平圆,则其半径
,那么
(公式一)
由此我们定义立体角,也即:其对应的单位球球面上的一块面积即为立体角。与平面角是单位圆上的一段弧长类似。其单位是球面度sr,在有些时候也叫平方度。
【单位球的立体角】
现在我们来计算单位球的立体角的角度为多少:
【积分求球的表面积】
由上面公式1的微元,我们可以对其进行积分:
【积分求球的体积】
第一步:求体积微元
可以看成立体角椎的体积,由立体角椎的表面积微元(公式一)乘以高r,再乘以1/3也即
对其进行积分
【根据场外微元A及其法向求在单位球面上的投影立体角】
可以直观的得到投影立体角