开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

蛮牛译馆

关注:579

当前位置:游戏蛮牛 技术专区 蛮牛译馆

查看: 982|回复: 5

[Unity教程] Unity改进彩虹【5】—衍射光栅数学模型

[复制链接]  [移动端链接]
排名
7947
昨日变化
5

260

主题

298

帖子

1511

积分

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

UID
159865
好友
9
蛮牛币
3908
威望
0
注册时间
2016-8-1
在线时间
623 小时
最后登录
2017-10-15

蛮牛译员

发表于 2017-8-29 17:01:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 manew_JR 于 2017-8-29 17:09 编辑

衍射光栅数学模型

这篇文章介绍了被称为衍射光栅的光学现象背后的数学模型,它是许多材质中的虹彩反射。


以下是整篇文章的目录
Part 1. The Nature of Light
Part 2. Improving the Rainbow (Part 1)
Part 3. Improving the Rainbow (Part 2)
Part 4. Understanding Diffraction Grating
Part 5. The Mathematics of Diffraction Grating
Part 6. CD-ROM Shader: Diffraction Grating (Part 1)
Part 7. CD-ROM Shader: Diffraction Grating (Part 2)
Part 8. Iridescence on Mobile
Part 9. The Mathematics of Thin-Film Interference
Part 10. Car Paint Shader: Thin-Film Interference

整个系列的最后会有该项目的Unity文件


简介
这个系列中的前一篇文章“理解衍射光栅”解释了为什么会在某些材料上发生虹彩现象。 光是一种波,它每次在它的路径上发现障碍时就会弯曲。 如果材料呈现微小的狭缝或凸块,则这将使进入的平面波在所有方向上散射。 如果这些狭缝或凸块以规则的图案布置,则为它们中的每一个生成新的波前。 所有这些波前将会相互干扰,导致某些波长(被人眼察觉为颜色)突出显现。
我们现在有了我们需要的一切,在数学上开始建模这种现象。 我们先来想象一种具有在已知距离d重复的缺陷的材料。 为了这个推导的目的,入射光线和表面法线之间的角度是\ θ_L in。我们还可以想象,观察者的方向是这样一种方式,即它们接收角度为θ_L的所有反射光线。 每个缺陷都会在所有方向散射光,所以不管\ θ_L是否总会有与光线对准的光线

Iridescence_04-1.png


根据每d距离定期重复缺陷定理,散射图在每d个距离内进行重复。

求导
上图中所示的两束光线在到达观察者之前行进不同的距离。 如果他们从阶段开始,他们可能不会到达他们的目的地。 要了解这两条光线是如何相互干扰(建设性或破坏性的),我们必须计算它们到达观察者时的相位。
这两条光线保证在同一阶段,直到第一条光线撞到表面。 第二根光线在撞击表面之前还会经过一个额外的距离x(绿色)。 使用一些简单的三角法,可以看出,绿色段x的长度是d \ cdot \ sin {\θ_L}。

Iridescence_05-1.png
使用类似的结构,我们可以计算第二射击之前第一射线向观察者传播的额外距离y。 在这种情况下,我们可以看到

Iridescence_06-1.png


这两个区段x对于确定当最终检测到两个射线是否处于同相时至关重要。 他们的差异测量了这两条光线的长度差异。 如果为零,我们确信两条光线处于同步状态,因为它们已经有效地行进了相同的距离。
然而,这并不是两个射线同相的唯一情况。 如果它们的长度差是波长w的整数倍,它们仍然可以同相。 在数学上,如果满足以下条件,则这两条光线处于同相状态:
360截图20170829170714082.jpg
可视化


让我们花一点时间了解这个方程式的含义。 如果光线具有入射角度\θ_L,观察者将观察角度\ theta_V的材料看到? 所有输入波长w是d \ left(\ sin {\θ_L} - \ sin {\ theta_V} \ right)的整数倍的入射波长w将会建设性地干涉,并在最终的反射中强烈地出现。 因此,这些是观众将看到的颜色。

这个效果在下图中可视化,取自非常有趣的线程A复杂的方法:循环中的Iridescence:

diffraction_01.jpg

白光跟随由光子穿过的路径进行镜面反射。 从不同角度观看材料的观众将看到循环彩虹图案。 每个颜色对应于不同的波长,而顺序表示其相应的整数n。 如可以看到的,即使对于n的负值,衍射光栅方程也是满足的,因为数量\ sin {\θ_L} - \ sin {\ theta_V}可以是负的。 从计算的角度来看,简化搜索空间只关注n的正值是有意义的。 我们将使用的新方程是:
360截图20170829170857722.jpg
   
你可以看到整个系列的目录:
Part 1. The Nature of Light
Part 2. Improving the Rainbow (Part 1)
Part 3. Improving the Rainbow (Part 2)
Part 4. Understanding Diffraction Grating
Part 5. The Mathematics of Diffraction Grating
Part 6. CD-ROM Shader: Diffraction Grating (Part 1)
Part 7. CD-ROM Shader: Diffraction Grating (Part 2)
Part 8. Iridescence on Mobile
Part 9. The Mathematics of Thin-Film Interference
Part 10. Car Paint Shader: Thin-Film Interference

[发帖际遇]: 一个袋子砸在了 manew_JR 头上,manew_JR 赚了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

3偶尔光临
233/300
排名
10341
昨日变化
12

0

主题

94

帖子

233

积分

Rank: 3Rank: 3Rank: 3

UID
238972
好友
1
蛮牛币
145
威望
0
注册时间
2017-8-22
在线时间
68 小时
最后登录
2017-10-24
发表于 2017-8-29 22:23:30 | 显示全部楼层
帖子甚好,且阅且珍惜

回复 支持 反对

使用道具 举报

7日久生情
1975/5000
排名
6332
昨日变化
48

4

主题

1622

帖子

1975

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
209186
好友
3
蛮牛币
2561
威望
0
注册时间
2017-3-1
在线时间
191 小时
最后登录
2017-10-23
发表于 2017-8-30 14:54:24 | 显示全部楼层
衍射光栅数学模型

回复 支持 反对

使用道具 举报

排名
38787
昨日变化
154

0

主题

12

帖子

20

积分

Rank: 1

UID
243167
好友
0
蛮牛币
43
威望
0
注册时间
2017-9-13
在线时间
4 小时
最后登录
2017-9-27
发表于 2017-9-13 17:43:08 | 显示全部楼层
感谢分享!!!!!!!!!!!
[发帖际遇]: skyfroggame 乐于助人,奖励 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

2初来乍到
110/150
排名
12927
昨日变化
5

0

主题

38

帖子

110

积分

Rank: 2Rank: 2

UID
233467
好友
0
蛮牛币
323
威望
0
注册时间
2017-7-21
在线时间
26 小时
最后登录
2017-10-21
发表于 2017-9-14 19:09:23 | 显示全部楼层
衍射光栅数学模型

回复 支持 反对

使用道具 举报

2初来乍到
138/150
排名
13470
昨日变化
306

0

主题

63

帖子

138

积分

Rank: 2Rank: 2

UID
246071
好友
0
蛮牛币
102
威望
0
注册时间
2017-9-26
在线时间
33 小时
最后登录
2017-10-23
发表于 2017-10-1 12:14:19 | 显示全部楼层
看看学习

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表