2020年7月31日金曜日

〈フェルマーの原理〉の微分計算

光の最短経路は距離ではなく時間で定まる」ということが、
〈フェルマーの原理〉の意味するところです。

◎ 関数を微分した値は、接線の傾きとして用いられました。
光が媒質内で速さを変えても屈折しなければ、到達する時間が長くなるのは、少し計算すれば理解できますけれど、到達時間を最短にする、最適な屈折角は〈スネルの法則〉によることも、計算で確認できるのです。

 光の到達時間のグラフを描いて、その曲線の接線の傾きがゼロになる瞬間が、最短の時間になるわけで、まずは、その微分計算をクリアする手法が必要となります。

 この微分計算には、先に「双曲線と《光の入射角・反射角》」(2020年5月23日土曜日)で紹介した《合成関数の微分に関する定理》が用いられます。
 そして《分数乗の微分》の公式で、変数の平方根が含まれる関数を微分します。
 何はともあれ、《合成関数の微分に関する定理》の復習から、始めましょう。

 ⛞ 合成関数の微分に関する定理
● u  =  g (x) に関して、x の増分 Δx に対する u の増分を Δu とします。
● y  =  f (u) に関して、u の増分 Δu に対する y の増分を Δy とします。
● y  =  f (u)  =  f ( g (x) ) が成り立って、
 dy    =   d  f ( g (x) ) = f ´( g (x) ) g ´(x)
   
 dx   dx 
   = f ´(u) g ´(x) =    dy   ∙   du 
   
 du   dx 
  という結果が、導かれます。

 ⛞ 平方根は、2 分の 1 乗なので、分数乗の微分の公式を使います。
●  √ u  = u 1 ∕ 2
(√ u )´ =   1  (u - 1 ∕ 2 ) =   1  ∙  1   =   1
       
 2   2   u 1 ∕ 2    2 √ u  
◈ 光が屈折する水面座標を点 R (x, 0) とします。
◈ 光の速度は、空気中で V 、水中で v とします。
▸ 空気中の点 P から水面の点 R までの距離
●  PR = √ x 2h 2 
▸ 水面の点 R から水中の点 Q までの距離
●  RQ = √ (wx ) 2y 2 
▸ 空気中の点 P から水中の点 Q に到達するまでの時間
t =    √ x 2h 2    +   √ (wx ) 2y 2  
   
V v
● ここで、x について、t が最小となる条件は、
dtdx = 0
であることが、各種参考書に述べられているので、 x で微分します。

 ※ さきほど分数乗の微分で、次の式が成り立つことを確認しました。
(√ u )´ =   1
 
 2 √ u  

► まず、
f (u) =    √ u  
 
V
g (x) = u = x 2h 2
として、
f ´(u) g´(x) =   1  ∙  1  ∙ 2 x
   
 V   2 √ x 2h 2  
  =   x
 
 V √ x 2h 2  
► 次に、
f (u) =    √ u  
 
v
g (x) = u = (wx ) 2y 2
    = w 2 - 2 w xx 2y 2
として、
◍  g´(x) = u´ = 2 x - 2 w = 2 (xw)
      = - 2 (wx)
であるから、
f ´(u) g´(x) =   1  ∙  - 2 (wx)
   
 v   2 √ (wx ) 2y 2  
  =   - (wx)
 
 v (wx ) 2y 2  
► 以上より、
t ´ =   x  -  wx   = 0
   
 V √ x 2h 2    v (wx ) 2y 2  
∴    x   =   wx
   
 V √ x 2h 2    v (wx ) 2y 2  
  ここで真空中の光速を c とし、V = cn1 , v = cn2 とおくと、
1   =    n1    ,   1   =    n2 
       
 V  c  v  c
sinθ1 =   x
 
 √ x 2h 2  
sinθ2 =   (wx)
 
 √ (wx ) 2y 2  
であるから、
 n1   sinθ1 =    n2   sinθ2
   
c c
∴  n1 sinθ1 = n2 sinθ2
が成り立って、光が最短時間で到達する経路は〈スネルの法則〉に等しいことが確認できるわけです。
 ⛞ 屈折率と光の到達時間の計算 ⛞
(計算値の理解が簡単になるようにした非現実的な設定ですが)

 媒質 1 と媒質 2 の境界の光の通過点: R (150 km) + km
 ◎ 光が通過する距離と時間の計算 ◎
〔※ 単位の ms は、ミリ秒で 1 ∕ 1000 秒〕 
 媒質 1 250 km  ms 
 媒質 2 250 km  ms 
(媒質 1 と媒質 2 の合計) 500 km  ms 
◎ 下のグラフに、時間の微分 t´ を傾きとして示しました。
〔※ 理解のために便宜的に接線を描線したものの、強調された傾きの角度は正確なものではありません。〕
 1 ∙ sinθ0 = 
n1 ∙ sinθ1 = 
n2 ∙ sinθ2 = 
 水中から真空に光が入射するときには、入射角が約 48.6 度で、屈折角はほぼ水平となります。
 (参考) 真空への屈折角: θ0 =  °
 媒質 1 の入射角: θ1 =  °
 媒質 2 の屈折角: θ2 =  °
R +
n1 ∙ sinθ1 = 0.9705201
n2 ∙ sinθ2 = 0.9705201

 今回も同様に JavaScript によるプログラムを、このページ内に同梱しています。
―― また微分計算の方法についての参考書・その他の資料なども参照しつつ、JavaScript の見本をテキスト化して掲載したページを、以下のサイトで公開しています。

光の屈折・フェルマーの原理
http://theendoftakechan.web.fc2.com/eII/hitsuge/integral/Fermat.html

2020年7月24日金曜日

《光の屈折の法則》の三角関数計算

 西暦 1600 年代、17 世紀のヨーロッパは、数学による科学革命が進んだ時代でもありました。
 イタリアのガリレオ・ガリレイは 1605 年に〈落体運動の法則〉を発見し、1609 年には自ら改良した「屈折望遠鏡」で天体観測を行って、翌 1610 年に『星界の使者』を著しました。
―― 望遠鏡の発明による驚天動地の科学的成果はその後、屈折する光についての研究へと進展していきます。
 1620 年頃、オランダのスネルは《光の屈折》について、実験的に得た結果を、作図的な方法で確認したとされます。
 それを三角関数の法則の形で発表したのは、「解析幾何学」を構築したフランスのデカルトなので、屈折の法則はフランスでは〈デカルトの法則〉もしくは〈デカルト・スネルの法則〉という呼称で流布していると風聞します。
 日本では屈折の法則は〈スネルの法則〉と呼ばれています。
 オランダのホイヘンスは屈折の法則を 1690 年の著書で〈正弦の法則〉と書き残しました。
 その著書において、光の反射・屈折の仕組みを《光の波動説》をもとに解説したホイヘンスの研究成果は、現在も〈ホイヘンスの原理〉として学ばれています。

 ◯ 光の性質について、和訳されたホイヘンスの著作から抜粋しておきます。
科学の名著 第Ⅱ期10 『ホイヘンス』
原亨吉/編〔1989年03月30日 朝日出版社/発行〕
「光についての論考」
第一章 直進する光線について
 (pp.204-205)
〔光は音とほとんど同様に球状に拡がること〕
〔8〕音は、目に見えず手に触れることもできない物体である空気を介して、音源から四方に、空気中の一点から次の点へと継起的に進む運動によって拡がって行くことを我々は知っている。また、この運動はすべての方向に等しい速さで拡がるので、球面のような形をなすはずであり、この球面が膨張しつづけ、やがて我々の耳を打つに至ることも知っている。さて、光が発光体から我々の所まで到達するのもまた、この両者間に存在する物質に引き起こされた何らかの運動によってであることは疑う余地がない。というのは、すでに見たように、光の伝播は一方から他方へ物体が移動することによっては起こりえないからである。もしさらに、すぐ後で吟味するつもりだが、光がその進行に時間を要するとすれば、物質に引き起こされるこの運動は継起的であり、従ってそれは音の運動と同様に球面ないしは球状波面として拡がることになるであろう。私がそれを波面★14 と呼ぶのは、水の中に石を投げ入れたときに見られる円い継起的な拡がりを見せるあの波に似ているからである。ただし、水面の波は原因を異にしているし、平面的な運動に過ぎない。
 ★ 14 ―― 原語は onde 。「波」と訳すと水面の波のような山と谷の連続を想像するので「波面」と訳す。ホイヘンスによる光の諸現象の説明では常に運動の最先端としての波面が問題となる。
 (p.217)
〔光の拡がり方についての私独自の説〕
〔38〕 これらの波面の伝播については、まだ考えるべきことが残っている。すなわち、波面がその中を拡がって行く物質の各々の粒子は、その運動を、発光点から引かれた直線上にある隣接する粒子にだけ伝えるのではなく、必然的に、その粒子に接触しその粒子の運動を妨げる他のあらゆる粒子にも与えるのである。従って、必ず、各々の粒子の周囲にその粒子を中心とする波面が形成される。

※「粒子を中心とする波面」:「個別波面★39」の訳註 (p.219) で、次のように解説されています。
 ★ 39 ――「個別波面 onde particulière 」は、普通「素元波 elementary wave, Elementarwelle, onde élémentaire 」と呼ばれているものである。

 ◎ さて、ここで語られる「波面 (onde) 」というのは、たとえば、池で見られる〝波紋〟―― 輪のように広がる波の模様 ―― を考えた場合、その波の〝山同士〟ないしは〝谷同士〟を結んだ線のことになるわけです。ただし〝山〟とか〝谷〟とかに限らず〝波の位相〟が同じ場所をつないだ面が「波面」と呼ばれるのです。
 ▸ 光源が遠くに想定されていると〝球面状に広がっていく波の進行方向に対して垂直な面〟となります。
 また現在では〈ホイヘンスの原理〉と呼ばれるこの説を便宜的に二次元(平面)で表現する際も、「この波面の中心は極めて遠いと想定しているので、この部分は直線だとみなしてよい」(p.233) と説明されています。
 ▸ そういうわけで入射光波面は、座標平面では光の進行方向を表わす直線と、それに垂直に交わる直線を使って表現されます。
 ホイヘンスの原理で描く〝反射角〟と〝屈折角〟
 ⛞ ダイヤモンドの屈折率 : n = 2.42 として作図 ⛞
  時刻 t0 における、a b の距離を 10 分割した座標から、光がt の間に進んだ距離を描く。
(※ この距離は、いわゆる個別波面=素元波の到達距離で、簡便のために円の全体を描線します)
  時刻 t1 における、a b の距離を 10 分割した座標から、光がt の間に進む反射光を描く。
(※ この素元波は、入射角・反射角のラインを添えて、空気中への広がりを半円で描きます)
 ⇒ 反射角の傾きに直交して描かれるラインが、時刻 t2 における反射光の波面 s となります。
 ◈ この図では、素元波の先端に円の接線として描かれるラインが、波面となります。
 ◈ r は、時刻 t2 における屈折光の波面
  時刻 t1 における、a b の距離を 10 分割した座標から、t の間に進む屈折光を描く。
(※ 屈折光の素元波は、入射光のラインとともに、ダイヤモンド内部への広がりを半円で描きます)
 ⇒ 屈折光に直交して描かれる〔接線の〕ラインが、時刻 t2 における屈折光の波面 r となります。
 ▣ 記号説明
 a 入射光のラインその 1
 b 入射光のラインその 2
 c 空気中の光速
 c´ = cn ダイヤモンドの光速
 w0 時刻 t0 における波面
 w1 時刻 t1 の入射光の波面
 w2 時刻 t2 の入射光の波面
 s 時刻 t2 における反射光の波面
 t 微小時間(時間の幅)
 ▸ t0 + ⊿t = t1
 ▸ t1 + ⊿t = t2
 ◎ 下の図に、計算のための記号などを追加しました。

► 微小時間t を、光が 1 波長進む時間として考えます。
► 空気の屈折率を、1.000292 ≒ 1 とします。
► ダイヤモンドの屈折率を、n とします。
▸ ct = 空気中を光が 1 波長進む距離
▸ c´⊿t = ダイヤモンド中を光が 1 波長進む距離
▸ λ1 = 空気中の光の波長
▸ λn = ダイヤモンド中の光の波長
▸ 真空中の光の波長 = λ
▸ 空気中の光の波長 = λ  ∕ 1 = λ1 = ct
▸ ダイヤモンド中の光の波長 = λ n = λn = c´⊿t
► 反射光と屈折光の 1 波長の到達距離を、点 A を中心にした、半径 λ1 λn の半円で示しています。
∠PAB = θ1
AB sinθ1 = PB = ct = λ1
なので、
α = AB
として、
λ1 =    λ    = α sinθ1 
 
1
∴  α =   λ
 
 sinθ1 
また、
∠QAB = θ2
AB sinθ2 = AQ = c´⊿t = λn
なので、
λn =    λ    = α sinθ2 
 
 n 
∴  α =   λ
 
 n sinθ2 
 ⛞ 通常用いられる方程式では、上記の屈折率 1 n に対して
1 → n1
n → n2
という記号を用いて、
α =   λ   =   λ
   
 n1 sinθ1   n2 sinθ2 
∴  n1 sinθ1 = n2 sinθ2
と、記述されています。

 今回も同様に JavaScript によるプログラムを、このページ内に同梱しています。
―― また屈折する光についての各種資料を参照しつつ、JavaScript の見本をテキスト化して掲載したページを、以下のサイトで公開しています。

光の屈折・スネルの法則
http://theendoftakechan.web.fc2.com/eII/hitsuge/integral/Snell.html

2020年7月14日火曜日

橋を渡る最短経路問題の解法

 最短経路問題のなかに、川向こうの主要な土地へ道を通す工事計画を想定して、橋を架ける場所を設定する、というものがあります。
 おまけの頭の体操的解法をあわせて、以下に説明の作図を試みます。
 実は、今回の主題は、最後のほうに書いているように、
もしも課題〔の前提条件〕に不備があるなら、その指摘をすることも含めて、それが現実に対応する効果的な方法となることも理解できるはずです」という、ことになります。
 つまり、与えられた情報内で、臨機応変な対応能力を発揮するための準備として、まずは情報を正しく把握する必要がある、ということもあわせて問題提起したかったのでした。

 ⛞ 最短経路問題・おまけの頭の体操的解法 ⛞
―― たとえば、
◈ 同じ川幅でまっすぐに流れている川の、両岸にある 2 地点 A, B を結ぶ道路の計画がある。下に例として図示したイメージで、橋 PQ を架橋するとき、経路 APQB を最短にするための橋の位置はどこになるか。ただし、橋は、川の流れに対して垂直に渡されるものとする。
―― という幾何学上の問題の際には、通常「同じ幅のまっすぐな川」であることは条件にあっても、道路の幅は指定されません。同様に、川を渡るための橋に幅があることも、考慮されないのです。
▶ そういうわけで、物理的には通行不可能な、幅ゼロの道路及び橋を数学的に考察することになります。
 仮に、川の幅もゼロであった場合、両岸にある 2 地点 A, B の最短距離は、直線で結んだ距離になります。
 ですから、もしも川の幅が r(単位はメートルとする)であった場合、橋の長さは問答無用で川の幅と同じになるので、最短の経路 APQB は、地点 AB 間の川幅を除外した直線距離プラス川の幅 r になるわけです。
(例) 川幅を r 、川と AB の角度を θ で作図。
r =  m ,  θ =  °
◈ しかしながらここで、問題文に道路及び橋に関して幅の指定がないということも、条件に含めて考えてみると、それらの幅を無制限とすることも、問題の条件から逸脱するわけではないことに気づきます。
▶ また、もしも課題〔の前提条件〕に不備があるなら、その指摘をすることも含めて、それが現実に対応する効果的な方法となることも理解できるはずです。
◎ 現実の課題を解決するためには、問題の条件の範囲内での、もっとも効率的な考察が、求められるでしょう。
▣ 頭の体操的には、経路 APQB を最短にするためには、川幅も川との角度も関係なく、地点 AB を直線で結ぶライン上に、条件にしたがって岸から垂直に、幅の広い橋を架けて、それを斜めに通ればよいことになります。

 今回も同様に JavaScript によるプログラムを、このページ内に同梱しています。
―― また前回分を含む JavaScript の見本をテキスト化して掲載し、その他の資料を参照したページを、以下のサイトで公開しています。

光の直進性と最小作用の原理
http://theendoftakechan.web.fc2.com/eII/hitsuge/integral/index.html

2020年7月10日金曜日

楕円接線《入射角・反射角》定理の説明図

 光の入射角と反射角は一致するので、楕円では、焦点から発射された光が接線で反射したら、もういっぽうの焦点に向かって進路を変更することが知られています。
 この現象を数学の定理として紹介した参考書があります。その内容を引用したあとで、説明図の作図を試みます。

『曲線』幾何学の小径
1.1.3 楕円の接線
 (pp.3-4)
 平面の 2 つの定点 A, B と正の実数 c に対して、AP + BP = c の軌跡として表される楕円を E とします。このとき次の命題は明らかなことでしよう:
 命題 1.1 点 Q が楕円 E の外側にあるならば AQ + BQ > c であり、楕円の内側にあるならば AQ + BQ < c である。
 さて、A, B を焦点とする楕円 E 上に点 P をとり、P における E の接線 L をひきます。このとき、
 定理 1.2 線分 AP L のなす角と線分 BP L のなす角は等しい。
 [証明] 接線 L 上のかってな点 Q を考えます。Q が接点 P でない限り Q は楕円 E の外にあります(このあたりまえのことが重要)。命題 1.1 により、不等式
AQ + BQ ≧ c
が成り立ちます。特に等号 AQ + BQ = c が成り立つのは Q が接点 P のところにあるときだけです。
 接線 L に対して A と対称の位置にある点をとします。このとき、AQ = A´Q です。したがって、
A´Q + BQ ≧ c
が成り立ち、Q = P のとき等号が成り立ちます。これはから Q を経由して B に至る折れ線の長さは c 以上で、Q = P のとき c に等しいことをいっています。つまり、から B に至る折れ線の長さは、P を通るときに最小になります。したがって、3 A´, P, B 1 直線上にあり、よって問題となる角度が等しいことがわかります。
〔小沢哲也/著『曲線』2005年9月7日 培風館/発行〕

◎ 上記資料に掲載されている、参考図のイメージを次に示します。
◈   AP = A´P  ,   AQ = A´Q
 ▸ 楕円の長径(長軸)を 2a 、短径(短軸)を 2b とします。
 ▸ 焦点 A, B x 座標をw, w とし、y 座標を 0 とします。
 ▸ 点 P x, y 座標を px, py とし、点 Q x, y 座標を qx, qy とします。
 ▸ 接線 L の傾きを m とし、接線の y 切片を d とします。
 ▸ 接線に垂直な直線の傾きを n とし、その y 切片を e とします。
⛞ 作図のための計算方法
▶ w = Math.sqrt(a*a - b*b);
▸ t = 110 / 180 * Math.PI;
▶ px = a * Math.cos(t);
▶ py = b * Math.sin(t);
▶ m = -b*b*px / (a*a*py);
▶ d = py - (m*px);
▶ n = a*a*py / (b*b*px);
▶ e = w*n;
 ▸ qx の値を 35 としました。
▶ qy = m*qx + d;
 ▸ 点 A から接線に下した垂線の足を H とし、その座標を hx, hy とします。
 ▣ 連立方程式の解を求めることで、直線 HA と接線 L との交点の座標は計算できます。
y = n xe
y = m xd
 ● n xe = m xd
 ∴ (nm) x = de
▶ hx = (d - e) / (n - m);
▶ hy = n*hx + e;
 ▸ 直線 PB の傾き pb y 切片の値 pd
▶ pb = -py / (w - px);
▶ pd = -w*pb;
 ▣ 連立方程式の解を求めることで、直線 HA と直線 PB の交点の座標は計算できます。
y = n xe
y = pb xpd
 ● n xe = pb xpd
 ∴ (npb) x = pde
▶ x = (pd - e) / (n - pb);
 ▣ 楕円を描く構文は、次のように記述しています。
 <SCRIPT>
 var cvs = document.getElementById('ellipse_canvas');
 var pen = cvs.getContext('2d');
 var a = 200;
 var b = 120;
   // ペン軸を移動
   pen.translate(280, 150);
   // 楕円
   pen.strokeStyle = 'royalblue';
   pen.lineWidth = 2;
   pen.beginPath();
   pen.moveTo(a, 0);
   for(var i=1; i<360; i++) {
      pen.lineTo(a * Math.cos(i / 180 * Math.PI), b * Math.sin(i / 180 * Math.PI));
   }
   pen.closePath();
   pen.stroke();
 </SCRIPT>

 今回も JavaScript によるプログラムの全文を、このページ内に同梱しています。