今天看到楼下有几个小孩在玩卡牌游戏。
“看我的魔法技能!”
“接招!”
“高能电波!”
好吵,
卡牌上面不是写着,
哎,
这卡牌怎么是彩色的?有彩虹条带?
好高级啊,
今天给大家扯扯,
上面的彩虹是怎么产生的。

首先,
太阳产生了白光。
白光是复色光,
只不过在人眼里看着白色。
只不过,
是通过小卡的光栅的特殊物理原理产生。
光栅是什么?
我从头开始讲。
首先,
有一些厂商,
做了一些高透塑料膜(也有镀层树脂),
然后,
塑料膜就被塞进了特殊的光学设备里,
我们还是叫做光刻机,
但不是用来处理芯片的,
是用来激光划产生上面的划痕。

产生划痕后,
这个玩意就叫做光栅。
另外,
用树脂的也有树脂转印技术。
回到正题,
经过处理后,
效果如下:

读者:等一下,
咋我和你看到的颜色排序反过来的?
我:有没有可能,我画反了?
不兑,真画反了!
下面是正确的:

则我们就看到了彩虹光。
等一下,
你就会产生疑惑,
为啥几条划痕后,
塑料膜就变成游戏小卡,
很多同学喜爱的谷子物品、周边物品,
拿镭射膜来制作吧唧小卡,
甚至是
用在高科技的AR显示,
化学光谱分析(取代三棱镜),激光显示?
而不是灰不溜秋的平行线条?
实际上,
要解释小学生手上拿的东西,
还得上大学物理!
好好好,
这么弄是吧。
我今天就细细讲。
首先,
光是波,

而且还是电磁波,
有电磁波的特性,
任何波都有折射,反射,
大家初中就学过了,
反射角等于入射角,
同一个折射角,
sin(折射角)/sin(入射角)是定值。
如下图情况,
∠1=∠2,
sin(∠1)/sin(∠3)是定值,
只要角1变多大,
角3都存在这个关系。

如果从水面折射到空气,
入射角太大折射光看不到,
这个叫做全给你反射回去,
简称全反射。
因为仍然符合sin(∠1)/sin(∠3)是定值,
但是sin(任何角)>1不可能,
所以你看不见。
法线是什么?
我咋网上搜索是蓝不蓝紫不紫的图片?
例如这样:

(图片由blender海面功能生成)
这是法线贴图!
3D游戏和3D数字建模(不是工程/土木建模)里用的!
控制材质每个点进入相机的光照强度!
(间接和光照计算后给人看)
法线就是过入射点垂直于镜面的直线,
入射点就是光线照在的点。
好,
干涉衍射都没听过吧?
我今天给大家讲一下。
首先是衍射,
波通过狭窄的缝会穿过去,
合理吧。
包的!
(观众:我们不能说包的,要说志在必得)
志在必得!
好好好,不玩了。
但是,
狭缝变小,
奇怪的事情发生了,
成这样了:

(图片经过夸大)
神奇吧?
我们叫做衍射。
(其实这个现象很简单,
5GHz的WiFi穿墙能力差,
2.4GHz的WiFi穿墙能力好,
手机掏出来就能感受)
原理可以这样解释,
假设这个缺口当作有很多个波源,
同时产生波。
接下来,
好玩的东西来了。
算波程差。
会吧?
等一下,我找一下物理书。
“叮铃哐啷”
“哎呀,头被砸到了好疼!”
“哗啦哗啦……”
找到了!
假设,
有一束平行光照在单缝上面,
如图所示。

好抽象。
我们假想成这样,
在这里形成了连续的波发射器,
设缝宽为a,
波长为λ,
且设a=2λ,
则情况如图:

(夸大画法)
假设缝被公式分成5个发射点了,
然后,
我们假设这里有个P点,
如上图所示,
P点到缝中心和缝中心到屏垂直线的夹角叫做衍射角,
如下图,

衍射角就是线段P2到法线的夹角。
然后,
缝上沿到P点的距离,
用三角函数求一下,
下沿也能求。
这里我告诉你了1到2的间距为λ,
2到3的间距也为λ,
因为缝很小(图片夸大了),
所以,
实际情况是这样的:

所以P1,P2,P4和P5和法线的夹角都是衍射角θ,
(除非你无聊,卡牌凑近眼睛看)
则情况就是这样:

拉长点歧义小多了。
回到正题,
这种情况下五个角都一样,
只是五个点到达P点的距离不一样,
假设θ为0,
那么,
P1=P2=P3=P4=P5,
肯定加强。
所以中间就是最亮的。
然后,
假设衍射角向下偏θ,
则情况就变成这样:
从出发端发射的波被意外延长了。

然后,
从5作一条垂直于波的线,

橙色的,
其中夹角就是衍射角,
然后瞪眼法就能看出,
1,2,3和4延长了。
其中1延长了a·sinθ=2λsinθ,
2延长了1.5λsinθ,
3延长了1λsinθ,
4延长了0.5λsinθ,
这里我就说一下波的属性:

它是有幅度和波长的,
幅度就是波的强度,
波长直接看图读。
这时候你想,
假如两个波,
刚好差了半个波长,
然后叠加在一起,

你是不是觉得,
会互相抵消?
就是互相抵消,没了!
所以说,
假如刚刚的衍射角是30°,
1相比于5延长了λ,
3相比于5延长了0.5λ,
那么,
1和3就会相互抵消。
同理,2和4也会相互抵消。
最终抵消,
只剩下5了。
再说,
5只是1个点,
从一个口子里分配到1个点,
相当于一袋10斤大米里挑一粒米,
称有多重。
发现秤称不出。
所以,
刚好30°所对应的点看不见。
这时候,
我直接告诉你规律,
这个情况下,
衍射角为30°,90°(感觉怪怪的)时都是看不见。
所以,
直接给一个通用结论:
假如缝口子大小是a,
那么衍射角θ符合θ=arcsin(kλ/a)时看不见。
其中k是任意非0整数。
所以你看到的情况就是这样:

(仅作为示意图,不代表真实能量情况,
需要复杂微积分计算)
然后就是干涉,
解释了衍射后干涉稍微简单了一点。
如果是双缝干涉,
原理很简单,

刚刚说了5个点,
这里你就看作两个点,完事。
首先是缝宽为d,
衍射角为θ,
则如图:

是不是也有距离差?
作垂线,

发现下面延长了d·sinθ,
如果刚好下面慢了,
且慢了λ/2(就是d·sinθ=λ/2),
则互相抵消,
就是暗条纹,
如果相差为λ,
就是亮条纹。
简单吧?
所以,
d·sinθ=k·(λ/2),
k为任意整数,
如果k为奇数则暗,
偶数为亮。
高中老师还说过,
实验题可能会考双缝干涉实验,
所以为了讲题目规定了,
limθ→0时,sinθ=θ=tanθ。
所以,
原来的d·sinθ=k·(λ/2)就变成了
d·sinθ=dtanθ=dx/L=k·(λ/2)。
参数自己看下图:

则相邻明条纹/相邻暗条纹
计算公式就是Lλ=dΔx。
上面的基础知识就说完了。
然后,
正经的东西来了。
首先说明一点,
太阳光是白色的,
通过三棱镜分光就能看到彩虹颜色。
这个大家都能理解,这玩意是折射。
其实,
干涉,衍射都能产生彩虹。
首先,
太阳光是复色光,
白色是复色光,
所以才能折射分色。

(是渲染图)
然后,
了解一下,
可见光波长为400nm~760nm,
且波长越短能量越大。
因为ε=hc/λ,
所以,
紫色是400nm,红色是760nm。
(1nm=10^(-9)m)
所以,
刚刚的干涉,衍射,
如果是用白光,
周围也能产生彩色条纹,
但是中间亮条纹的中心还是白色。
用干涉d·sinθ=k·(λ/2)和衍射a·sinθ=kλ,
可知,
同一个缝间距(干涉)和缝宽(衍射),
如下图,
如果是蓝色和红色混合的光,
就会出现这种情况:

在中间的肯定是复色光,
但是波长长的放大倍率比波长短的大。
所以,
你看到光栅卡牌,
以反射的灯泡为中心,
左边的第一条彩虹带,
右侧是蓝紫色,
左侧是红色,
而右边的第一条彩虹带,
右侧是红色,
左侧是蓝紫色。
然后,
重点的来了,
光栅衍射。
首先,
光栅产生的光压根成像不在光栅上!
在眼睛里成像!
所以,
你晃动光栅,
彩虹位置会变。
这时候,
刚刚的衍射,
彻底变样了。
刚刚是单缝,
现在是多缝,
多缝同时要考虑干涉和衍射。
首先是干涉,

直接用前面的图解释,
假设有5条缝,
且你不看卡牌太近(就是凑着眼睛看卡牌),
每个相邻缝产生的光到达P点慢了都是d·sinθ,
假设缝间距d是2λ,角度是30°,
那么,
1相比于2慢了d·sinθ=λ,
注意看是λ,
不是λ/2,
所以,
波压根没有损失,
是明条纹。
直接给你公式,
d·sinθ=k·λ,
准确来说,你看小卡怎么不一定是垂直看,
可能有点角度,
所以是d·(sinθ±sinφ)=k·λ,
其中里面的两个角,
一个是入射角,
另一个是衍射角。
其中θ和φ是相对于法线而言,
如果同侧,
sinθ和sinφ是加,
如果分居法线两侧,sinθ和sinφ之间是减。

但是这个和刚刚的干涉模型有点不一样,
假如特定的角让sinθ是1/4,
变成了,
1和2抵消,3和4抵消,但是5没有抵消。
和刚刚的衍射不完全一样,
衍射是一袋大米挑1粒,几乎没感觉,
这个是5个鸡蛋拿1个,一看就知道。
这个角对应的条纹不是完全黑的条纹,
是有一点亮度的条纹。
所以,
多缝的情况下,
相邻的主明纹之间,
布满了很多条有点亮度的暗条纹。
所以衍射的结果如下:

(纵坐标为光照强度,横坐标为sinθ)
这样可以反过来说
灰暗的光栅卡上面有很多
分得开的又细又亮的明条纹。
但是,
还有一件事,
衍射。
因为狭缝有宽度,
所以光栅就是对衍射光进行干涉。
所以,
相当于,
衍射控制了干涉的结果。
所以,
存在缺极!
缺极和缝宽有关系,
a·sinθ=kλ,
其中a就是缝宽。
假设缝间距是n个波长,
缝宽是n/2个波长,
那么情况就是这样:

(纵坐标为光照强度,横坐标为sinθ)
两个乘在一起后就变成这样:

(纵坐标为光照强度,横坐标为sinθ)
这也解释了,
为啥游戏小卡,厂商能定制,
你能看到几条条纹,
条纹第几条是看不见的。
其实就和缝宽a和缝间距d有关系。
结果,
太阳光靠光栅,
被分光成了彩色的。
最后,
讲一下光栅卡到底是怎么做出来的,
很简单,
你徒手划肯定是不行的,
不然你手会抖。
需要特殊的光刻机,
但精度又不能太小,只能雕刻木头,
又不能用雕刻芯片的机器,太高端。
或者树脂转印这些。
如果你只需要保留中间的白色条带(就是一级主极大),
说明想让旁边的都看不见,
就是说,
void main(){
gl_FragColor=vec4(1.0,1.0,1.0,1.0);
}不好意思串台了,
串着色器去了!
重新说,
就是只保留中间的主明纹,
旁边的全部不要,
要么用干涉盖住衍射的其它明纹
(不可取,缝宽=缝间距),
要么让λ/d>1。
话说回来,
其实今天说的是透射光栅,
那么,
游戏小卡为啥是反射光栅?
很简单,
你把灯泡通过初中镜面反射知识塞到卡牌里面,
完成,
“投射”光栅做完。
所以,
这下子游戏光栅小卡就解释了。
只不过,
镭射加工就是激光加工,
就这么简单,
今天的内容都听懂了吗?
来,
几个重要的公式记一下:
反射模型反射角=入射角,
同介质面,折射模型sin(折射角)/sin(入射角)=k,
高中要考的干涉间距Lλ=dΔx,
衍射a·sinθ=kλ,
干涉d·sinθ=k·(λ/2),
光栅公式d·(sinθ±sinφ)=k·λ。
参考资料来源:
[1]邝向军, 刘昌富, 任学藻.大学物理学( 第二版 ) [M].北京:高等教育出版社,2020.
更新时间:2026-07-22
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight All Rights Reserved.
Powered By 71396.com 闽ICP备11008920号
闽公网安备35020302034844号