はじめに
球形プローブ内に電球がありその発光で照明にすることを考える。その場合、電球から放たれた光線は球内で反射を繰り返し外部に透過する。したがって、プローブが放出する全光束は電球が放つ光束に反射を繰り返した透過分が加算されるので、大きくなる。そこで、今回は球形プローブの中で、光線がどのように進むのかを調査する。
前提
令和3年度電験2種1次試験機械科目問6を参考にした。
詳細は電験王様を参照されたい。
電球が生成する全光束を$F_{in}$として、プローブが反射・透過により増幅させる全光束を$F_{out}$とする。
そのまま透過される光束、1回反射後透過される光束、2回反射後透過される光束・・・と光束は存在して、全光束はそれらの総和になることから、等比数列の無限和の公式より、
F_{out}=\tau F_{in}+\tau \rho F_{in}+\tau \rho^2 F_{in}+\cdot \cdot \cdot=\frac{\tau F_{in}}{1-\rho}
となる。ただし、$0<\rho<1$である。
光線の軌跡
ところで、光線がプローブ表面で反射する場合、入射角と反射角が常に等しいという反射の法則が成立しているはずである。そこで、$xy$座標上の点$(-1,0)$に点光源を置いたとき、反射を繰り返して点$(1,0)$から出力される光線の軌跡を考える。ただし、今回は点光源に反射して戻ってしまい、点$(1,0)$から出力されない光線は除くものとする。
プログラム
以下のようなプログラムを作成した。ここでは、球面上の反射なので入射角はいずれも等しくなることに注意する。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import japanize_matplotlib
import math
theta_ary=np.linspace(0,2*math.pi,100)
#球プローブ表面
x=np.cos(theta_ary)
y=np.sin(theta_ary)
#光線の情報
X=[]
Y=[]
#初期位置
theta = -math.pi
delta = math.pi/2-math.pi/9
#反射角と入射角の関係
def reflection(theta):
#中心角
return theta-2*delta
#反射回数
## 光源の反対側付近に出力される条件
while abs(math.cos(theta)-1)>0.001:
#光線の位置
X.append(math.cos(theta))
Y.append(math.sin(theta))
theta=reflection(theta)
#光線の位置
X.append(math.cos(theta))
Y.append(math.sin(theta))
plt.plot(x,y,color="red")
plt.plot(X,Y,color="blue")
#光源の位置
plt.scatter(-1,0,color="black")
#出力の位置
plt.scatter(1,0,color="black")
plt.savefig("集光器原理.png")
plt.show()
これを実行すると以下のようになる。
このように、反射が何度か繰り返されて放出されることが分かる。実際の反射ではエネルギーロスが生じるので少しずつ減衰する。
まとめ
今回はプローブ球内の光線の反射の軌跡についてシミュレーションを行った。前提として、入射角と反射角は等しく、球面より各入射角は全て等しい。このことを用いてプログラムを作成して、プローブに対して光源の反対側に出力される光線の軌跡を調査した。これは、正多角形の作図問題にも繋がっていて数学においては解析学というよりも幾何学の内容に近かった。