CUPT前国赛队员倾情写作
When a compact disc or DVD is illuminated with light coming from a filament lamp in such a way that only rays with large angles of incidence are selected, a clear green line can be observed. The colour varies upon slightly changing the angle of the disc. Explain and investigate this phenomenon.
符号 |
含义 |
D |
观察点 |
S |
光源 |
P |
反射点 |
O |
光盘的圆心 |
a |
光盘刻槽宽度 |
O点到SD的距离 |
|
SP之间的距离 |
|
光盘中心环半径 |
|
角SPD的一半 |
|
光盘与 水平方向的夹角 |
装置示意图(由一美丽的工科女提供):
[597*10**-9,577*10**-9],[577*10**-9,492*10**-9],\
[492*10**-9,450*10**-9],[450*10**-9,435*10**-9],\
[435*10**-9,390*10**-9]]
import matplotlib.pyplot as plt
import numpy as np
import matplotlib
matplotlib.rcParams["font.sans-serif"] = ["SimHei"]
matplotlib.rcParams["axes.unicode_minus"] = False
#120型号光盘
C = 1
a = 1.5 * 10**-6
N = int((120-15)* 10**-3/a)
alpha = 0.22 #(arccos alpha \apx 30)
beta = 0.32
plt.title("归一化前特定角度下观察到的可见光光强分布")
color = ["红光","橙光","黄光","绿光","青色","蓝光","紫光"]
color_wavelength = [[760*10**-9,622*10**-9],[622*10**-9,597*10**-9],\
[597*10**-9,577*10**-9],[577*10**-9,492*10**-9],\
[492*10**-9,450*10**-9],[450*10**-9,435*10**-9],\
[435*10**-9,390*10**-9]]
for i in range(7):
plt.scatter(color_wavelength[i],[0,0],c="black",s=3)
plt.text(color_wavelength[i][0]*1/4+color_wavelength[i][1]*3/4,0,color[i],size=5)
Lambda = np.linspace(390*10**-9,780*10**-9,1000)
I = np.zeros(1000)
for i in range(1000):
I[i] = C*np.sin((N+1)*np.pi*a*np.cos(beta)/Lambda[i]/np.cos(alpha))**2/np.sin(np.pi*a*np.cos(beta)/Lambda[i]/np.cos(alpha))**2
plt.plot(Lambda,I,label="alpha:"+str(round(alpha,2))+"beta:"+str(round(beta,2)),c="red")
plt.legend()
plt.show()
国标:
CD光盘中两个相邻螺旋光道之间的间距为 1.5 微米
DVD光盘中两个相邻螺旋光道之间的间距为 0.74 微米
120型光盘(内外径):15mm----120mm
小型光盘(内外径):21mm----80mm
import matplotlib.pyplot as plt
from numba import jit
import numpy as np
import matplotlib
matplotlib.rcParams["font.sans-serif"] = ["SimHei"]
matplotlib.rcParams["axes.unicode_minus"] = False
@jit
def fun120(alpha,beta,C=1,a = 1.5 * 10**-6):
#120型号光盘
N = int((120-15)* 10**-3/a)
plt.title("归一化后特定角度下观察到的可见光光强分布")
color = ["红光","橙光","黄光","绿光","青色","蓝光","紫光"]
color_wavelength = [[760*10**-9,622*10**-9],[622*10**-9,597*10**-9],\
[597*10**-9,577*10**-9],[577*10**-9,492*10**-9],\
[492*10**-9,450*10**-9],[450*10**-9,435*10**-9],\
[435*10**-9,390*10**-9]]
for i in range(7):
plt.scatter(color_wavelength[i],[0,0],c="black",s=3)
plt.text(color_wavelength[i][0]*1/4+color_wavelength[i][1]*3/4,0,color[i],size=5)
Lambda = np.linspace(390*10**-9,780*10**-9,1000)
I = np.zeros(1000)
for i in range(1000):
I[i] = C*np.sin((N+1)*np.pi*a*np.cos(beta)/Lambda[i]/np.cos(alpha))**2/np.sin(np.pi*a*np.cos(beta)/Lambda[i]/np.cos(alpha))**2
SUM = sum(I)
I = [i/SUM for i in I]
plt.plot(Lambda,I,label="alpha:"+str(round(alpha,2))+"beta:"+str(round(beta,2)),c="red")
plt.legend()
plt.pause(0.2)
plt.cla()
if __name__ == "__main__":
for i in np.linspace(0.1,0.8,40):
for j in np.linspace(0.1,0.8,40):
fun120(i,j)
归一化光强 22年12月2日 CUPT |