トップページ > おもしろ科学実験室(工学のふしぎな世界) > 光の反射でできる「うっすら白く明るいところ」を観察してみよう

おもしろ科学実験室(工学のふしぎな世界)

光の反射でできる
「うっすら白く明るいところ」を観察してみよう

2023年3月3日
福島大学共生システム理工学類
笠井博則

0.きっかけ

 我々は、マグカップにコーヒーを入れて、窓際で飲んでいます。飲み終わったカップの内側を眺めていると、うっすら白く明るい部分が曲線状に見えました。不思議に思って、カップの角度を変えると、その白く明るい部分はいろいろに変わります。どうやら、この明るい部分は、太陽の光がカップの内側に反射してできているようです。

 部屋に戻って、器を動かしながら光を当ててみるとやっぱり、うっすらと白く明るい部分の形が変わります。

 このような現象を観察し、コンピュータでシミュレーションしてみましょう。

1.観察実験(小学校高学年以上、撮影するならば2人以上を推奨)

実験に必要なもの

  • 反射させるもの(陶器の器、サラダボールなど)
  • 光源(ライトなど。懐中電灯を使う場合は遠くから光を当ててください)

実験(例)

 器を太陽の窓際に置く。そのあと、角度を変えて光の当たる角度を変えてみる。(器の縁から内側の曲面を光の向きに合わせてから少しずつ動かすと、明るい曲線が見つけやすいかもしれません。)

 器に見えるうっすら明るいところを見たいだけならば、天井のライトや電気スタンド、懐中電灯などでも観察ができます。直接反射する赤丸ではなく、青線の脇のうっすら白く明るいところが、反射光が面に当たっている部分です。

 スマホなどで撮影するときは、2人以上で実験することをお勧めします。自分(たち)の影がかからないように注意しましょう。

注意!!
  • 太陽の光を直接見ると、目を痛めることがあります。太陽の方向を確認するときは長く見すぎないように気を付けましょう。
  • 電気スタンドを動かして実験するとやけどすることがあるので、十分気を付けましょう。電気スタンドの光も長く見すぎないように気を付けましょう。

2.シミュレーション(高校生以上)

 太陽光の反射で生じるうっすら明るい線は、「太陽光の性質」と「曲面での光の反射」から説明することができます。この現象は、コンピュータを使ってシミュレーションできますので、曲面での光の反射を説明したうえで、写真のようなうっすら明るい部分をプログラムを作って再現をしてみます。

原理

まず、太陽光の性質を説明します。

 一般に光の通る軌跡は直線と考えることができます。太陽光は数学的に簡単に扱える特別な光です。通常の光は光源から放射状に飛んでいると考えられますが、太陽は地球から大変遠いため、太陽から地表に届く光はすべて平行に飛んできていると考えることができます。そのため、太陽光を数学的に考えるときには、平行な直線の集まりと考えられます。

次に光の反射の説明をします。

 鏡のような滑らかな平面に光が当たると、光は反射します。

 入ってくる光(入射光)の直線を決めたとき、鏡の平面に当たる点が決まり、また光が当たる点で鏡の平面に垂直な直線(法線ベクトル)が決まります。反射光の直線は、入射光の直線と光が当たった点での法線ベクトルの両方を含む平面上にあり、また、入射角と反射角が等しいという性質があります。

 この性質は、曲面でも同じように考えることができます。まず、曲面に対して入射光が当たる点で接する平面を考えます。その平面の法線ベクトルを考えて、入射光の直線と法線ベクトルを含む平面を考えることで、平面での反射と全く同じに曲面での反射光の向きを考えることができます。

 これらの性質を用いると、曲面での反射光のシミュレーションができます。

シミュレーションの概要

 反射光のシミュレーションでは

  1. 入射光の全体
  2. 反射する曲面
  3. 光のあたる(通過する)面

を変えることでいろいろな実験ができます。

 本記事では、円錐の一部(最初の写真の皿を想定)・回転放物面に太陽光を当てて、反射光がある平面に当たるときのシミュレーションを紹介します。 入射光を太陽光と考えるとき、入射光の全体は同じ平面上の等間隔の点からの直線の全体と考えることができました。今回のシミュレーションでは、入射光がこの仮定を満たすようにしているので、「反射する点」(赤い点)「反射光があたる点」(青い点)の間隔が光の強さに対応する(点が集まっている辺りが明るい、点があまりない部分は明るくない)ようにしてあります。

シミュレーション例( r2 = x2 + y2 , r > 0 とする。)

  1. 円錐の一部に斜めから光を当てる。
    [z=0 (0 < r < 0.8), z= 5r-4 (0.8 < r < 1 ) ]
    (入射光:128×128点)

    太陽光は左側に角度θ傾いて斜めの曲面(z=5r-4)に当たり(赤い点)、反射して底面(z=0)に当たる(青い点)とする。 (左上からsinθ=0.1, 0.2, 0.3, 0.4, 0.5の傾きで太陽光が入射している。底面での反射光は考慮していない。)

    図6 チタン板取付①

    最初の図は最初の写真の左、一番右の図は、写真の右に似ていませんか?

  2. 太陽光を回転放物面(z=r2)に当てたときの、
    反射光と平面z=0.25との交点 (入射光:64×64点)

     回転放物面は放物線を回転させたものなので、放物線と同様に、回転軸に平行な入射光は全て反射して一点(焦点)で交わります。この「一点で交わる」という性質は入射光の向きを回転軸から少し傾けただけでも変わってしまうのでしょうか? 試してみました。

     太陽光は左側に角度θ傾いて回転放物面に当たり(赤い点)、反射して焦点のある平面z=0.25に当たる(青い点)とする。

    注:(r,z)=(0,0.25)は回転放物面の焦点

    図6 チタン板取付①

     真上から当てた時(上左:θ=0)は焦点1点で平面Z=0.25と交わっていますが、わずかに(sinθ=0.01)傾けただけで交点は1点から領域に変化し(上中)、sinθ=0.3(下右)ではだいぶ様子が異なるようです。つまり、厳密に回転放物面を作っても光の向きに正確に回転軸を向けないと反射光が一点で交わらないことが分かりました。

注意!!

オリンピックの聖火の採火式などでわかるように、現実に太陽光と回転放物面を使って火をつけることができます。多少角度が回転軸からずれても中心近くは大変熱くなっていることは間違えないようです。非常に危険ですので実物で確かめるのは止めましょう。

4.最後に

 本記事のシミュレーションの内容は、2022年度福島大学共生システム理工学類、数理・情報学演習IIの演習の課題をもとにしております。掲載した図は課題のサンプル図(笠井が作成)と、講義の受講者の柴崎右京君、陳景宜さん、渡部友也君が作成したものです。光の反射・屈折の実験にはいろいろなものがあります。例えば、「実験数学読本②矢崎成俊:著 日本評論社(2019)」を参考にしてください。

1)のサンプルプログラム(Python版)を下記に記載しました。
コピーしてJupyterNotebookなどで実行してみてください
	

####   反射光のサンプルプログラム
####
####円錐の一部に斜めから光を当てる。
###[z=0  (0<r<0.8),  z= 5r -4 (0.8 <r <1 ) ]
## 円錐の一部に太陽光が当たるときの反射光

import numpy as np
import scipy as sp
import matplotlib.pyplot as plt

Eps=0.000001   # 微小量の定義(Newton法で使う)
Al=0.5         #α:Be=0ならば、この値がsinθに相当   Al^2+Be^2+Ga^2=1 を満たす
Be=0           #β:   (Al, Be, Ga) が単位方向ベクトル
Ga=-np.sqrt(1-Al**2-Be**2)   # γ:下向きなのでマイナスにしてある。

R=1
Tz=0

NNA=128     ### 点の数を決めるパラメータ
NNB=128     ### 点の数を決めるパラメータ 

p=5      # 側面の曲面 z=p(r-R)+R    
###   側面の傾きの指定P=1のとき円錐、p>1 で底面がある円錐

def XX0(a,b):  ## 入射光の始点を決める。方向単位ベクトルに垂直な平面上の点
			Sq=np.sqrt(Al**2+Be**2)
			x0=-(Be/Sq)*a-(Al*Ga/Sq)*b
			y0=(Al/Sq)*a-(Be*Ga/Sq)*b
			z0= R+Sq*b+0.01
			return x0,y0,z0

def F(x,y): # function(適当な関数f1 をreturn の後に入れる)
	return  p*np.sqrt(x**2+y**2)+(1-p)*R

def FX(x,y): # derivative (Fのxに関する導関数をreturnのあとに入れる)
	return p*x/np.sqrt(x**2+y**2)

def FY(x,y): # derivative (Fのyに関する導関数をreturnのあとに入れる)
	return p*y/np.sqrt(x**2+y**2)

def SOL(x,y,z,Init,eps):   ## 曲面との交点を求める(Newton法)
		ll0=Init
		ll=ll0

		G=F(x+ll0*Al,y+ll0*Be)-(z+ll0*Ga)
		GX=FX(x+ll0*Al,y+ll0*Be)*Al+FY(x+ll0*Al,y+ll0*Be)*Be-Ga

		for i in range(1, 100):
				if abs(G)<eps : 
					break      
				else:
					ll=ll0-G/GX
					G=F(x+ll*Al,y+ll*Be)-(z+ll*Ga)
					GX=FX(x+ll*Al,y+ll*Be)*Al+FY(x+ll*Al,y+ll*Be)*Be-Ga
					ll0=ll
		ls=ll

		x1=x+ls*Al
		y1=y+ls*Be
		z1=F(x1,y1)

		if x1**2+y1**2<(R*(1-1/p))**2:
			z1=0

		return x1,y1,z1

def DD(x,y):   ##  反射光の方向ベクトルを計算する 
			fx=FX(x,y)
			fy=FY(x,y)
			S=1+fx**2+fy**2
			dd=2*(Al*fx+Be*fy-Ga)/S
			d1=Al-dd*fx
			d2=Be-dd*fy
			d3=Ga+dd
			return d1,d2,d3


########   ここから計算の実行 ######## 
x = np.linspace(-R, R, 100)
plt.plot(x,np.sqrt(R**2-x**2))    #### 上から見た曲線の縁の図
plt.plot(x,-np.sqrt(R**2-x**2))   ####

for AA in range(0, NNA):          ###  始点を動かす
	for BB in range(0, NNB):      ###   始点を動かす
			x0,y0,z0=XX0(-R+2*R*AA/NNA,-R+2*R*BB/NNB)

			if ( x0+Al*(R-z0)/Ga )**2+( y0+Be*(R-z0)/Ga )**2 < R**2:   
## 「曲面の領域の縁」の内側にあるとき(関数依存)
		x1,y1,z1=SOL(x0,y0,z0,(R-z0)/Ga, Eps)   ##曲面との交点x1,y1を決める

		if x1**2+y1**2<R**2 and x1**2+y1**2>(R-R/p)**2 :
##  交点が側面にある条件(関数依存)
		plt.scatter(x1,y1, c='red',s=1) 

		d1,d2,d3=DD(x1,y1) #  反射光の方向ベクトル(d1,d2,d3)を決める

		x2=x1+(Tz-z1)*d1/d3
		y2=y1+(Tz-z1)*d2/d3

		if z1 >0 and x2**2+y2**2<(R-(R-Tz)/p)**2: 
## 反射光が曲面内でz=Tzと交わっている条件 
		plt.scatter(x2,y2, c='blue',s=2)

plt.title('z=0. ')
plt.xlabel('x')
plt.ylabel('y')

# fig.show()



(より詳しい解説を「太陽光の反射(シミュレーション)」として書きました。一部、高校の学習範囲を超えますが、サンプルプログラムを解読したいなど興味のある方はご覧ください。)

※このページに含まれる情報は、掲載時点のものになります。

関連記事

2024-12-05

おもしろ科学実験室(工学のふしぎな世界)

LEDでLEDを光らせよう!

埼玉大学工学部

2020-11-20

おもしろ科学実験室(工学のふしぎな世界)

ほこりチェッカー・煙を見てみよう

大分大学理工学部

2020-09-04

おもしろ科学実験室(工学のふしぎな世界)

光で隙間を測る

九州工業大学工学部

2022-02-10

おもしろ科学実験室(工学のふしぎな世界)

虹を作ろう

北見工業大学工学部

2021-03-19

おもしろ科学実験室(工学のふしぎな世界)

シュリーレン撮影法

福井大学工学部

2022-11-10

工学ホットニュース

北海道の冬季観光を活性化させるための ジュエリーアイス出現時期の予測技術

北見工業大学工学部

福島大学
共生システム理工学類

  • 数理・情報科学コース
  • 経営システムコース
  • 物理・システム工学コース
  • 物質科学コース
  • エネルギーコース
  • 生物環境コース
  • 地球環境コース
  • 社会計画コース
  • 心理・生理コース

学校記事一覧

おもしろ科学実験室(工学のふしぎな世界)
バックナンバー

このサイトは、国立大学55工学系学部長会議が運営しています。
(>>会員用ページ)
私たちが考える未来/地球を救う科学技術の定義 現在、環境問題や枯渇資源問題など、さまざまな問題に直面しています。
これまでもわたしたちの生活を身近に支えてきた”工学” が、これから直面する問題を解決するために重要な役割を担っていると考えます。