立体角(Solid Angle)

问题来源

  1. 今天在学习BRDF的时候遇到立体角这个概念,然后自己学习了一遍, 在这里和大家分享一下。

立体角定义:

 

  1.  以观测点为球心构造一个单位球(r = 1),任意物体投影到该球面上的投影面积(s),即为该物体对于该观测点的立体角。因此,立体角是单位球面上的一块面积。

二维平面上过渡理解:

在二维平面上我们先来理解圆心角这一概念,在这里我们知道 圆心角\theta = s / r,(\theta 代表圆心角, s 代表圆心角对应的弧度,r就是圆所对应的半径),这个概念概念我相信大家是非常熟悉的,如果还有不熟悉的请去回顾一下自己以前学习过的有关圆心角的基础知识。那么接下来我们考虑一下极限的情况,我们让是上面公式中的弧长s 等于对应圆的周长,根据公式我们可以得到此时对应的圆心角的弧度为:2{\color{Red} }π。立体角和圆心角非常类似,立体角有 \Omega = A / ^{^{}}r^{^{2}} sr(立体角一般用\Omega表示,A是这个立体角对应的球表面积,r在这同样表示圆球的半径,sr是单位,叫球面度) ,同样的 我们来将A 赋值为 4πr^{^{2}} ,也就是整个球的表面积,我们可以得到此时的立体角为4π。

立体角应用-立体角转换到球形角:

  1. 首先我们需要知道的是球面坐标方程如下:

这里就不再做过多的赘述,如果有不懂的话就自己去补补这方面的知识。

2.接下来我们就需要讲讲怎么来进行我们的转换:

9.png

如图所示:我们可以很容易的得到\theta角对应的弧长为:r_{\theta }\theta\phi所对应的弧长为:r_{\phi }\phi,到这里了, 到这里了我们可以很容易得到这两个弧长的微分形式分别为:r_{\theta }d\theta 和r_{_{\phi }}d\phi,那么 我们可不可以以微分的方法来近似的计算球面坐标的立体角呢?回答当然是可以的。在这里我们可以得出立体角:d\omega = r_{\theta }d\theta * r_{_{\phi }}d\phi。又由于我们从上图中可以得到一个r_{\theta } 和r_{\phi }的关系,r_{\phi } = r_{\theta }\sin \theta。我们知道我们所在的球体为单位球,那么可以得到,r_{\theta } = 1, 所以r_{\phi } = \sin \theta。所以 d\omega = \sin \thetad\thetad\phi。这里我们就得到了我们需要的结果了。所以在某些应用中我们需要求 球面坐标的立体角的时候,就可以使用该结果。

 

  • 13
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值