光的偏振
由於光波是橫波,所以對於任意一個光波,其振幅方向與傳播方向在一個固定的平面內。換言之,一束光波可以存在振幅方向不同的一羣光波,對於其中一個光波而言,其振幅方向即爲偏振方向。
可以畫出其示意圖
#偏振光演示
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D as axd
def polarShow():
z = np.arange(0,5,0.01) #傳播方向,單位um
dWave = 0.6328
x1 = z*0
y1 = np.cos(2*np.pi*z/dWave)#此光波偏振方向爲y
x2 = np.cos(2*np.pi*z/dWave)#此光波偏振方向爲y
y2 = z*0
fig = plt.figure()
ax = axd(fig)
ax.plot3D(z,x1,y1)
ax.plot3D(z,x2,y2)
ax.plot3D(z,x1,y2)
plt.show()
得到其示意圖爲
我們生活中遇到的大部分光都是各種偏振方向的均勻混合,即並不是偏振光。上圖所示的藍色和橙色光波,其偏振方向單一,這種光叫做線偏振光。又因爲這兩束光處處保持等相位,則這兩束光的合成仍舊爲偏振光。
如果二者之間產生一點相位差,那麼其合成將不再是線偏振光,下面將程序中插入一個相位
#兩個存在相位差的線偏振光演示
def polarShow(dWave = 0.6328,delta=0.5):
z = np.arange(0,5,0.01)
x1 = z*0
y1 = np.cos(2*np.pi*z/dWave+delta)#此光波偏振方向爲y
x2 = np.cos(2*np.pi*z/dWave)#此光波偏振方向爲x
y2 = z*0
x3 = x1+x2
y3 = y1+y2
fig = plt.figure()
ax = axd(fig)
ax.plot3D(z,x1,y1)
ax.plot3D(z,x2,y2)
ax.plot3D(z,x3,y3)
ax.plot3D(z,x1,y2)
plt.show()
調整視角之後,如下圖所示,可見兩束現偏振光合成之後,偏振方向則在光的不同傳播位置處發生變化。由於沿着光的傳播方向看去,其投影爲一個橢圓,所以稱此時的光爲橢圓偏振光。
調整相位差,然後畫出光波沿傳播方向上的投影
#偏振光演示
def polarShow(dWave = 0.6328):
z = np.arange(0,5,0.01)
x = np.cos(2*np.pi*z/dWave) #x偏振光
delta = [0,np.pi/6,np.pi/4,\
np.pi/3,np.pi/2,2*np.pi/3,\
3*np.pi/4,5*np.pi/6,np.pi]
titles = ["0","30°","45°","60°","90°",\
"120°","135°","150°","180°"]
#fig = plt.figure()
for i in range(9):
ax =plt.subplot(331+i) #子圖繪製,表示3×3的佈局中的第(1+i)個圖
ax.set_title(titles[i])
y = np.cos(2*np.pi*z/dWave+delta[i])#此光波偏振方向爲y
plt.plot(x,y)
plt.xticks([])
plt.yticks([]) #去掉座標軸
plt.subplots_adjust(wspace=0.5,hspace=0.5)#調整子圖間距
plt.show()
於是就得到了這張著名的圖片:
光在空氣中或者水中傳播時,並不會改變其偏振狀態,同時這兩種介質對不同偏振方向的光具有相同的折射率。