问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(3.1)——辐射学(Radiometry)
前面,我们已经学习了各种反射模型。罗列如下。
漫反射模型:
高光反射模型:
根据这些模型,我们已经可以进行编程,然后生成图形。但是,为了加强这些模型的数学基础,我们引入辐射学(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)相关推荐
- 问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(2.2)——高光反射(specular reflection)
和diffuse reflection对应的是specular reflection.一直以来,本人都将"specular reflection"理解为"镜面反射&quo ...
- 问题六十八:光照模型(Light model)——关于“环境光”模型的补充
之前在"问题六十八:着色模型(shading model)(2)--光照模型(Light model)"中已经对Ambient Model(环境光光照模型)进行了介绍,但是感觉推导 ...
- JavaScript学习(六十八)—表单校验案例
JavaScript学习(六十八)-表单校验案例 学习内容 (一).如何获取页面的元素-利用id获取 格式:var 变量名称 =document.getElementById('要获取的元素的id的值 ...
- [转载]六十八个经典故事
转自:http://www.cnblogs.com/flying_bat/archive/2004/11/04/60492.aspx 一. 用人之道去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客 ...
- 信息系统项目管理师必背核心考点(六十八)数字证书、数字签名
科科过为您带来软考信息系统项目管理师核心重点考点(六十八)数字证书.数字签名和CA认证中心,内含思维导图+真题 [信息系统项目管理师核心考点]数字证书 1.具有不可抵赖性的特征(一段电子文档) 2.包 ...
- [转] 身为管理者 会讲的六十八个故事
一.用人之道 去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀.但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙. 弥乐佛热情快乐,所以来的人非常多,但 ...
- 六十八个超级经典的管理故事
一. 用人之道 去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀.但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙.弥乐佛热情快乐,所以来的人非常多,但 ...
- 六十八个超级经典管理小故事(转)
一. 用人之道 去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀.但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙. 弥乐佛热情快乐,所以来的人非常多, ...
- 【Microsoft Azure 的1024种玩法】六十八.基于Azure云平台使用Azure Virtual machines快速搭建Docker容器
[简介] Docker 是一个开放源代码软件,主要应用于开发应用.交付应用.运行应用,Docker 可以将应用程序及其依赖项打包到可以在任何 Linux.Windows 或 macOS 计算机上运行的 ...
- 六十八个超级经典小故事(做人、处事、经商之道)
一.用人之道 去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀.但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙.弥乐佛热情快乐,所以来的人非常多,但他 ...
最新文章
- 学生信息的添加与查询_JAVA
- 2021全球自由行报告:我的中国,真好玩!
- STM32中GPIO_Mode--GPIO配置
- ubuntu 17.10.1 安装 virtual box 增强工具
- LINUX下opencv的编译安装
- C++之priority_queue
- 学习记录之显示屏语言模块确定,星瞳学习
- 白帽子讲web安全读后感
- ami码matlab,matlab编程实现ami码的相关问题
- vue使用contenteditable 实现光标处插入自定义图片
- 炫酷动漫游戏网站页面设计html页面前端源码
- python的基础列表_python基础入门 列表
- 获取浏览器唯一标识_探讨浏览器指纹 fingerprint
- VB6 Chr码值对应列表大全
- 柬埔寨之旅——穿越千年,感受震撼
- Java实现标题相似度计算,文本内容相似度匹配,Java通过SimHash计算标题文本内容相似度
- win10开机的微软服务器,部分 Win10 Edge 浏览器开机自动启动,微软确认是 bug
- MySQL借助Excel快速区间分段统计思路(客单价分布 IOS账单分月)
- 普陀区科技创新型小巨人企业
- 使用Python打印爱心图案
热门文章
- JetBrains在CLion的Linux和OS X版本中引入Swift支持
- Java Web 高性能开发,第 1 部分: 前端的高性能
- VSphere虚拟化部署(五)
- 【重点递归】剑指offer——面试题18:树的子结构
- ubuntu下环境变量详解 bashrc, profile, environment
- 用windows通过xrdp远程连接到ubuntu16后 Tab键无法使用
- Mysql Data type
- InvalidClassException
- Springboot使用Filter以及踩过的坑
- CSS定位中“父相子绝”