《全局光照技术》学习笔记(一)——平面角和立体角

0:碎碎念

  原本这种知识点没必须写的,但是奈何我基础太差还是看了一天才看懂,故整理上来

1:平面角:

       说到平面角可能不少人一时半会儿反应不过来,其实平面角就是我们二维图形中的普通的角。

  在初高中时我们在学习平面几何时也应该接触过,角度和弧度之间的关系,这里为了清晰稍微重新讲一下

       弧度制:

  为什么引入弧度(radian)制呢?因为18世纪以前的人是用线段之间的关系来表示三角函数的。为了简化这一方式,数学家Roger Cotes在1714年提出了弧度制的概念,用

 [{ m{rad}}ian = frac{{{ m{arc}}}}{r}]来表示,因为弧长(arc)是随着半径(r)的增加也线性增加的,所以比值是恒定的,这个公式我们先把他当做基础公式来看。

  代表圆上A到B到C的圆弧的长度,即弧长。(之所以中间有个B是为了确定A到C的路径,从A到C有顺时针和逆时针两个方向)

既然我们知道了弧度的含义,我们还知道圆的面积[s = pi {r^2}],圆的周长为 [L = 2pi r],L就是该圆的整个弧长。我们就能随之推导出

  我们这回再正式定义一下平面角,平面角的定义是一个点对一个线段所展开的角的大小

  在高等数学里,我们往往在微分层面上来表示角。

 

  如上图所示

  我们用 dα 代表角的微分,也就是最小单元

  r代表以A为圆心AB长为半径的圆的半径,BF是圆上的一个圆弧

  第一个部分应该很好理解,就是我们的弧度公式,第二部分的话我们将BC视为线段元,是非常非常小的线段,既然是线段那么就和有夹角,线段和弧的夹角即为和弧切线的夹角,就是θ。所以切线BG上的线段BG=BCcosθ,即BC往切线上的投影大小。

  在这里我们把图画的非常大了,我们将弧线分成无数个小段,在每一段都用其切线长度来代替其圆弧长度,在微分状态下由于切线长度趋于0所以其所有的小切线的长度之和也为定值即,而切线就相当于我们的线段的投影,所以就是dBCcosθ

  将这个微分公式积分就是我们正常的角度公式了

  角度制:

  单位角度是将一整个圆的弧度平分成360份之后,以此为单位划分的度量方法。

        [{1^ circ } = frac{{2pi }}{{360}} = frac{pi }{{180}}]

  角度制是我们生活中常见的度量单位,但是在数学物理领域往往都是用的弧度制,所以之后暂不考虑

2:立体角:

  让我们回到正题,平面角实际上就是弧度制的角,那么我们可以把这个概念推广到三维的立体几何上

(因为图太难画所以借用一下别人的图)

转自:https://www.cnblogs.com/jerrycg/p/4924761.html

  刚才说了平面角是线段对于一个点来说的,所张开的角度的大小,那么立体角就是一个面对于一个圆来说所张开的角的大小。

转自:https://wenku.baidu.com/view/28e2be48c850ad02de804140.html

 

  点M的三维坐标系可以从图上直接看出来,即为

[left{ egin{array}{l}
x = rsin varphi cos heta \
y = rsin varphi sin heta \
z = rcos varphi
end{array} ight.]

  则(r,θ,φ)在三个地方处的分量则为

[left{ egin{array}{l}
dl(r) = dr\
dl( heta ) = rsin varphi d heta \
dl(varphi ) = rdvarphi
end{array} ight.]

  是不是一时间没看出分量是指哪里对吧,让我们再看下下图

https://blog.csdn.net/sunbobosun56801/article/details/80428845

 

  dl(r)其实就是半径上的长度,很好理解就是dr(球的半径)

  那么dl(θ)根据上图我们可以看出就是O’为圆心的红色的圆的一段弧长,还记得我们前面的弧长公式吗 ,dl(θ)就为半径r*dθ(红色圆的半径),而红色圆的半径=球的半径*sinφ

  所以就得出了第二个公式

  第三个公式那也就同理了,就是绿色的圆上的弧长,即为r*dφ

  我们微分层面上计算面积可以将dl(φ)和dl(θ)视为直线,把他们视为一个长方形,面积就是[dl( heta )*dl(varphi ){ m{ = }}rsin varphi d heta *rdvarphi  = {r^2}sin varphi d heta dvarphi ]

  我们设半径为单位长度1,球面上的任意一块区域A的面积即为[int {int {_Asin heta { m{d}} heta dvarphi } } ]

  


  本文为原创自作者整理和思考,转载请注明出处

原文地址:https://www.cnblogs.com/dofstar/p/11289617.html