前面,我们已经学习了各种反射模型。罗列如下。

漫反射模型:


高光反射模型:


根据这些模型,我们已经可以进行编程,然后生成图形。但是,为了加强这些模型的数学基础,我们引入辐射学(Radiometry)的概念(Cook-Torrance反射模型原本就是基于辐射学推导出来的)。参考过[1]~[6]这基本经典书籍,个人觉得这一章节讲解的最好是[4]: Fundamentals of Computer Graphics(当然,也有可能是“吃到第十个馒头感觉饱了”的原因)。

辐射学讨论的是光的测量问题。

光是能量的一种传播形式。

1 能量(Energy)

每个光子都有一定的能量。光子能量的多少和光子对应的频率有关,频率越高,能量越多。用符号Q表示,单位是焦耳(J)。

2 功率(Power)

3 辐照度(Irradiance)

只要将该测量仪放在某光源下,使得光线照射到该仪器的整个黑色传感器。传感器可以测出光的功率 ,然后用功率除以传感器的面积即得到辐照度E。

4 辐射率(Radiance)

4.1立体角(Solid Angle)

在学习辐射率(Radiance),需要先知道需要先知道立体角(Solid Angle)的概念。立体角可以看成是弧度的三维扩展。

弧度是度量二维角度的量,如下图:

4.2辐射率(Radiance)

之前,辐照度(Irradiance),指单位面积上的功率。

现在,辐射率(Radiance),指单位立体角单位投影面积上的功率。如下图:

光线从位置1传播到位置2。关于“辐射率守恒”,[7]中是这么证明的:

参考前面的Figure 5.10之后,似乎可以这样理解Figure 2.6的意图:

辐射率实际上可以看成是我们眼睛看到(或相机拍到)的物体上一点的颜色。计算表面一点的颜色就是计算它的辐射率。

为什么辐照度会随距离增大而衰减,但是我们看到的颜色却不会衰减呢?

这是因为随着距离变大,我们看到的物体上的一块区域到达视网膜的通量密度会变小,同时这块区域在视网膜表面上的立体角也会变小,正好抵消了通量密度的变化。也就是“辐射率守恒”。

测量辐射率仪是长这个样子:

该测试仪的原理,应该也用到了前面证明“辐射率守恒”的内容(或者说用那些内容可以更好的理解辐射率测试仪的工作原理)。

对于Radiance Collector,其对应的立体角和传感器区域面积已经固定,所以影响Radiance测试结果的是进入测试仪光通量的多少。

对于反射光线,用Radiance Collector在反射方向对准反射点,不论测试仪距离反射点远或者近,但是Radiance的测试结果相同的。因为:距离远时,照射的区域大,表面反射的光通量大,但是距离远,进入测试仪的光通量还是一样的。

对于入射光线,如果用Radiance Collector测试的话。这个测试条件就比较苛刻了。必须将测试仪在入射方向对准光源,并且测试仪的开口必须刚好覆盖整个光源,以保证原本达到入射点(反射点)的光通量刚好全部进入测试仪。如果进入测试仪的光通量少了,说明有一部分没有进入测试仪的光通量是可以达到反射点的,从而导致测试结果偏小;如果进入测试仪的光通量多了(即有一部分来自光源的光原本到不了反射点,但是进入了仪器)。也就是说,测试结果受光源位置、大小、形状等因素的影响。很少有光源满足测试条件,所以,一般不测时入射光线的Radiance。

所以,辐射率测试仪,只适合用来测试反射光线,不适合用来测试入射光线。

Referrance

[1]. Andrew S. Glassner, An Introduction toRay Tracing, Xerox PARC, 1989.

[2]. Matt Pharr, Greg Humphreys,Physically-Based Render, 3rd, Elsevier Inc., 2016.

[3]. Kevin Suffern, Ray Tracing from theGround Up, A K Peters Ltd, 2007.

[4]. Perter Shirley, Steve Marschner,Fundamentals of Computer Graphics, 3rd, Taylar & Francis Group, LLC, 2009.

[5]. John F. Hughes, Andries Van Dam,Morgan Mcguire, David F. Sklar, James D. Foley, Steven K. Feiner, Kurt Akeley,Computer Graphics: Principles and Practice, Pearson Education, Inc. 2014.

[6]. Tomas Akenine-Moller, Eric Haines,Naty Hoffman, Real-Time Rendering, A K Peters Ltd, 2008.

[7]. Michael F. Cohen, John R. Wallace,Radiosity and Realistic Image Synthesis, Academic Press, Inc., 1993.

[8]. http://www.raytracegroundup.com/

[9]. http://www.realtimerendering.com/

[10]. https://zhuanlan.zhihu.com/p/21376124

问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(3.1)——辐射学(Radiometry)相关推荐

  1. 问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(2.2)——高光反射(specular reflection)

    和diffuse reflection对应的是specular reflection.一直以来,本人都将"specular reflection"理解为"镜面反射&quo ...

  2. 问题六十八:光照模型(Light model)——关于“环境光”模型的补充

    之前在"问题六十八:着色模型(shading model)(2)--光照模型(Light model)"中已经对Ambient Model(环境光光照模型)进行了介绍,但是感觉推导 ...

  3. JavaScript学习(六十八)—表单校验案例

    JavaScript学习(六十八)-表单校验案例 学习内容 (一).如何获取页面的元素-利用id获取 格式:var 变量名称 =document.getElementById('要获取的元素的id的值 ...

  4. [转载]六十八个经典故事

    转自:http://www.cnblogs.com/flying_bat/archive/2004/11/04/60492.aspx 一.  用人之道去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客 ...

  5. 信息系统项目管理师必背核心考点(六十八)数字证书、数字签名

    科科过为您带来软考信息系统项目管理师核心重点考点(六十八)数字证书.数字签名和CA认证中心,内含思维导图+真题 [信息系统项目管理师核心考点]数字证书 1.具有不可抵赖性的特征(一段电子文档) 2.包 ...

  6. [转] 身为管理者 会讲的六十八个故事

    一.用人之道 去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀.但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙. 弥乐佛热情快乐,所以来的人非常多,但 ...

  7. 六十八个超级经典的管理故事

    一. 用人之道 去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀.但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙.弥乐佛热情快乐,所以来的人非常多,但 ...

  8. 六十八个超级经典管理小故事(转)

    一. 用人之道 去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀.但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙. 弥乐佛热情快乐,所以来的人非常多, ...

  9. 【Microsoft Azure 的1024种玩法】六十八.基于Azure云平台使用Azure Virtual machines快速搭建Docker容器

    [简介] Docker 是一个开放源代码软件,主要应用于开发应用.交付应用.运行应用,Docker 可以将应用程序及其依赖项打包到可以在任何 Linux.Windows 或 macOS 计算机上运行的 ...

  10. 六十八个超级经典小故事(做人、处事、经商之道)

    一.用人之道 去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀.但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙.弥乐佛热情快乐,所以来的人非常多,但他 ...

最新文章

  1. 学生信息的添加与查询_JAVA
  2. 2021全球自由行报告:我的中国,真好玩!
  3. STM32中GPIO_Mode--GPIO配置
  4. ubuntu 17.10.1 安装 virtual box 增强工具
  5. LINUX下opencv的编译安装
  6. C++之priority_queue
  7. 学习记录之显示屏语言模块确定,星瞳学习
  8. 白帽子讲web安全读后感
  9. ami码matlab,matlab编程实现ami码的相关问题
  10. vue使用contenteditable 实现光标处插入自定义图片
  11. 炫酷动漫游戏网站页面设计html页面前端源码
  12. python的基础列表_python基础入门 列表
  13. 获取浏览器唯一标识_探讨浏览器指纹 fingerprint
  14. VB6 Chr码值对应列表大全
  15. 柬埔寨之旅——穿越千年,感受震撼
  16. Java实现标题相似度计算,文本内容相似度匹配,Java通过SimHash计算标题文本内容相似度
  17. win10开机的微软服务器,部分 Win10 Edge 浏览器开机自动启动,微软确认是 bug
  18. MySQL借助Excel快速区间分段统计思路(客单价分布 IOS账单分月)
  19. 普陀区科技创新型小巨人企业
  20. 使用Python打印爱心图案

热门文章

  1. JetBrains在CLion的Linux和OS X版本中引入Swift支持
  2. Java Web 高性能开发,第 1 部分: 前端的高性能
  3. VSphere虚拟化部署(五)
  4. 【重点递归】剑指offer——面试题18:树的子结构
  5. ubuntu下环境变量详解 bashrc, profile, environment
  6. 用windows通过xrdp远程连接到ubuntu16后 Tab键无法使用
  7. Mysql Data type
  8. InvalidClassException
  9. Springboot使用Filter以及踩过的坑
  10. CSS定位中“父相子绝”