2021年7月17日土曜日

定偏角分散プリズム

ペラン・ブロッカなのかペリン・ブロッカなのかペロン・ブロッカなのかよくわからないが,定偏角分散プリズムというものがあることがわかった。いやあまりわかっていない。幾何光学をまともに勉強していないので。

とりあえず,イメージを掴むために,Mathematicaでプリズムの光路シミュレーションプログラムを書いてみた。わかったような,わからないような・・・それでも高等学校で学ぶ幾何光学の法則さえ知っていればコードは書ける。

プリズムは四角形であり原点(0,0)の内角は90度(直角),y軸上の点(0,2√3-2)は75度,(√3,1)にある点は135度,x軸上の点(√3+1/√3,0)は60度となっていて,その屈折率をnとする。

aは入射光の入射面からはかった入射角度,tbは入射光が屈折した光線の進行方向のプリズム底面に対する傾き,(x1, y1)は全反射する点の座標,tcは反射光の底面に対する傾きの絶対値,tdはプリズムからの出射光の底面からはかった出射角度の勾配,x2は出射点の座標である。

n = 1.6; a = 36.8699;
t1 = Tan[15 Degree]; t2 = Tan[30 Degree]; x3 = Sqrt[3] + 1/Sqrt[3];
tb[n_, a_] := Cos[a Degree]/Sqrt[n^2 - Cos[a Degree]^2]
x1[n_, a_] := Sqrt[3]*t1/(t1 + tb[n, a])
y1[n_, a_] := 1 + Sqrt[3]*t1*tb[n, a]/(t1 + tb[n, a])
tc[n_, a_] := (t2 + tb[n, a])/(1 - t2*tb[n, a])
td[n_, a_] := Sqrt[tc[n, a]^2 - n^2 + 1]/n
x2[n_, a_] := x1[n, a] + y1[n, a]/tc[n, a]

ro = Point[{(1 + 2*t1)/(1 + t1), (1 + 2*t1)/(1 + t1)}];
pol = Polygon[{{0, 0}, {0, 1 + t1}, {1, 1}, {x3, 0}}];

lin[n_, a_] := Line[{{- Sin[a Degree], 1 - Cos[a Degree]}, {0, 1.0}, {x1[n, a], y1[n, a]}, {x2[n, a], 0}, {x3, -td[n, a]*(x3 - x2[n, a])}}]
das[n_, a_] := Line[{{x2[n, a], 0}, {-0.5, -td[n, a] (-0.5 - x2[n, a])}}]

f[n_, a_] := Graphics[{LightGray, pol, Thick, Red, lin[n, a], Dashed, Blue, das[n, a],PointSize[0.03],ro}]

{f[n, a], td[n, a]/Tan[a Degree]}
Manipulate[{f[n, a], n, a, td[n, a]/Tan[a Degree]}, {a, 25, 50}]
図 Pellin-Broca PrismのMathematicaシミュレーション

なお,td[n,a]/Tan[a Degree] = 1ならば入射光と出射光が直交することになる。



0 件のコメント: