曲面2(波の干渉と縞模様の美しさの理由)
このページはマス旅の一部です。
今回は「水面波の干渉」がテーマ
1.数学外の知識
・波は山と谷
山と谷が交互に訪れて波は広がっていきますね。
波が2つぶつかると、干渉しあいます。
山と山で山がさらに盛り上がる2山のところもあれば、
谷と谷で谷が深くなる2谷のところもあれば、
山と谷が重なり0点の高さになるところもあります。
1つの波の源からは山と谷が交互の同心円をかき、
もう1つの波の源からも山と谷が交互に同心円をかきます。
ということは、2山の2山、2谷と2谷の間には0点があります。2谷は4つの0点に取り囲まれ、2山は0点に取り囲まれます。だから、よけいに2山と2谷の存在が際立つのです。
現実には、波の強さは遠くに行くほど減衰します。また、それぞれの波源からの距離によって何個目の山(谷)なのかが違うため、2山といってもすべての場所で高さが同じになるわけではありません。
「波紋が2つの波のもとにはさまれたゾーンから生まれては発散していくということ」
は、数式なしでイメージできるね。
2. 数学の知識
では、数式を使って目に見えるようにしていこう。
<波の数式>
「波」の基本は次の式です。
線形偏微分方程式("が2階微分の略)
ft"=v^2 fx"
ある点での時間的な加速度(左辺)が、その周囲の空間的な歪み(右辺)に比例することを表しています。
これが波動です。周囲との差が生じると、それを解消しようとする力が働き、それが次々と隣へ伝わっていくのが「波」なのですね。
この微分方程式の解がよく見かける「波動方程式」です。
f(x,t)=Asin[2π(x/λ-t/τ)]
t=0のときは、x/λ=整数でf=0になるので、x=λが波長(空間周期)となる正弦カーブが基本形となるね。
t≠0のときは、x/λ-t/τ=0のときx=(λ/τ)×tとなる。だから、波の速さdx/dt=v=λ/τ=λνとなるね。
(振動数ν=1/時間周期τ)
これが、x‐f 座標平面にかける波の数式だ。tはパラメータになる。
<3D波の数式>
では、3次元空間の波の数式はどうなるでしょうか。
3次元の偏微分方程式は
ft"=v^2 ∇^2 f
∇^2 fはfx"の偏微分を1次元から3次元にしただけです。この偏微分方程式の解が3Dの波動方程式です。
f(r,t)=Asin[2π(n・r/λ-t/τ)]
曲線xの部分をn・rにしただけですね。
xを位置ベクトルr=(x,y,z)と進行方向単位ベクトルn=(n_x,n_y,n_z)の内積に置き換えたものです。
これが「平面波」の方程式です。
物理では扱いやすさから、変数変換をします。
位置ベクトルr=(x,y,z)は同じですが、
k=2π/λ、n=(k_x,k_y,k_z),角振動数ω=2π/τ=2πν
から、
g(r,t)=Asin[k・r-ωt]
とかも書けます。
一方で、波の中心0(点波源)から広がる波を考えには、0からの距離をr=(x,y,z)として座標系を切り替えます。
h(r,t)=A/r*sin[kr-ωt]
これが、「球面波」の方程式です。
1/rがあることで、波の減衰を表すこともできます。
波の干渉による高さの増減や縞模様を見たいならgの式をさらに単純化してシミュレーションに使えます。
点波源から空間内を球面的に広がる波ではなく、次元を下げて、
点波源P(p,q)からx、y平面上に高さzで起きる水面のようす
を調べるためには、
i(x,y,t)=Asin(√((x-p)^2+(y-q)^2- t)
のような形で十分でしょう。
tを変化させると波iは点Pから一定の強さのまま同心円で広がります。
点Pの部分だけを変更した波jを用意して、
i+jという波を観察すると、波の干渉も表示できますね。
3.コード化
<geogebra>
要素の追加>geogebra>作成>空間図形
#アニメーションをオンにして、モードを「増加」にします。
t = Slider(0,10)
#基本波は非表示です。
i(x, y) = sin(sqrt((x + 15)^2 + y^2) - t)
j(x, y) = sin(sqrt((x - 15)^2 + y^2) - t)
#合成波は表示のままで、色を青にして濃さを100%にします。
f(x, y) = i(x, y) + j(x, y)
g:f=0 #こらは節線です。表示を切り替えましょう。
#画面を2本の指で狭め、3軸のメモリが30くらいまで入るように遠景表示にします。
また、十字矢印アイコングループの中のグラフィックビューを移動を選び原点を中心にもってきます。
同じグループの虫眼鏡アイコンでビュー拡大、縮小をすることができます。
波の干渉の表示
<振り返り>
円形の山と谷が次々と湧き出し、
外側へ広がっていく立体的な水面の動きが見えます。
目標としていた「干渉のようす」
(2つの波の中心の間のゾーンから山山と谷谷が生まれては拡散しているようす)
が見えました。
動かない「節線」:
しかし、腹の境には節があります。
山と谷が打ちしあって0の高さになっている点が静止して
波が激しく上下している場所の合間に、時間が経ってもまったく上下に動かない(高さ \(z=0\) のままピタッと静止してみえます。この美しい曲線(双曲線)が「節線」です。
節線をガードレールにして、山山と谷谷が車に乗っているようにゆったりと移動して見えます。
これは偶然ではありません。数式による必然です。
f=sin (r_1-t)+ sin (r_2-t)
これを三角関数の和積の公式を使って変形すると、
f=2cos((r_1-r_2)/2 ) * sin((r_1+r_2)/2-t)
となります。このコサイン部分はサイン波の係数、つまり波の強さを表してますね。
ここにaがない、つまり時間要素がないのです。だから、合成波には時間要素のない
固定的な部分空間、干渉縞ができるということです。
g:f=0という集合が「節線」になります。
だから、gを「表示」にすると、黒々と「動かない双曲線」が見えます。
それと同時に「多数の楕円」が間のゾーンから大きくなって発散していきます。
これが、腹を運んでいるようにも見えますね。
双曲線がcos=0に対応して、
楕円がsin=0に対応しています。
双曲線が2波源からの距離の差(r_1-r_2)一定
楕円が2波源からの距離の和(r_1+r_2=2t)一定。
まさに、
時間不変と時間連動の曲線群ペアが
三角関数の双対ペアに連動している
という事実は凄く感動的ですね。