写真の物理学 ㊷ 虹・ハロ・蜃気楼の光学

Share
📐
写真の物理学シリーズ ㊷
このシリーズでは、写真にまつわる現象を物理学の言葉で記述する。「なんとなくそうなる」を「なぜそうなるか」に変換することが目的である。

空に虹がかかり、太陽の周りに光の環が現れ、水平線の向こうに存在しないはずの景色が浮かぶ。これらの大気光学現象はいずれも光の屈折・反射・回折という基本法則の帰結として定量的に理解できる。本稿では大気中の水滴や氷晶がつくる虹・ハロ・蜃気楼などの幾何光学的構造を、スネルの法則と波動光学から導出する。

一次虹の光学

虹は、大気中に浮遊する球形の水滴が太陽光を屈折・反射することで生じる。一次虹(primary rainbow)の形成に関与するのは、水滴に入射した光線が2回の屈折と1回の内部反射を経て観測者に届く光路である。

水滴内の光路

太陽光が球形の水滴に入射する過程を追跡する。入射角を $i$、水滴内部での屈折角を $r$ とすると、スネルの法則により

$$ n_{\text{air}} \sin i = n_{\text{water}} \sin r $$

が成り立つ。空気の屈折率 $n_{\text{air}} \approx 1.00$ とすれば $\sin i = n \sin r$ と書ける( $n = n_{\text{water}}$ )。

光線は水滴の表面で屈折して内部に入り、水滴の裏側の内壁で反射し、再び表面から屈折して外に出る。この過程で光線の進行方向が元の方向からどれだけ逸れるかを偏向角(deviation angle) $D$ と呼ぶ。

水滴に入射する際の偏向は $i - r$、内部反射での偏向は $\pi - 2r$、射出時の偏向は再び $i - r$ である。したがって全偏向角は

$$ D = 2(i - r) + (\pi - 2r) = 2i - 4r + \pi $$

となる。

42°の導出

虹が特定の角度で明るく見える理由は、偏向角が入射角に対して極値を持つことにある。

$D$ を $i$ で微分してゼロとおく。スネルの法則 $\sin i = n \sin r$ を $i$ で微分すると $\cos i = n \cos r \cdot (dr/di)$ であるから $dr/di = \cos i / (n \cos r)$ を得る。これを用いて

$$ \frac{dD}{di} = 2 - 4\frac{dr}{di} = 2 - \frac{4\cos i}{n\cos r} = 0 $$

$$ \cos i = \frac{n\cos r}{2} $$

スネルの法則から $\cos r = \sqrt{1 - \sin^2 r} = \sqrt{1 - \sin^2 i / n^2}$ を代入すると

$$ \cos^2 i = \frac{n^2}{4}\left(1 - \frac{\sin^2 i}{n^2}\right) = \frac{n^2 - \sin^2 i}{4} $$

$$ 4\cos^2 i = n^2 - 1 + \cos^2 i $$

$$ 3\cos^2 i = n^2 - 1 $$

$$ \cos i_{\min} = \sqrt{\frac{n^2 - 1}{3}} $$

可視光の中間的な波長(黄色、 $\lambda \approx 589$ nm)に対する水の屈折率は $n \approx 1.333$ である。代入すると

$$ \cos i_{\min} = \sqrt{\frac{1.333^2 - 1}{3}} = \sqrt{\frac{0.777}{3}} \approx 0.5089 $$

$$ i_{\min} \approx 59.4° $$

対応する屈折角は $\sin r = \sin i_{\min}/n \approx 0.861/1.333 \approx 0.646$ より $r \approx 40.2°$ となる。

最小偏向角は

$$ D_{\min} = 2(59.4°) - 4(40.2°) + 180° \approx 138.0° $$

観測者が見る虹の角度は、太陽光の入射方向(反太陽点方向)からの角度として測られる。反太陽点からの角度は $180° - D_{\min} \approx 42.0°$ である。これが虹の角半径が約42°になる物理的根拠だ。

偏向角が極値(極小値)を持つということは、 $i_{\min}$ 付近の広い範囲の入射角からの光線がほぼ同じ方向に集中するということを意味する。これはデカルトの光線とも呼ばれ、虹が明るい弧として観測される本質的な理由である。極値から離れた入射角の光線は広い角度範囲に分散してしまい、輝度が低くなる。

分散による色の分離

虹が色づいて見えるのは、水の屈折率が波長によって異なる(分散する)ためである。

可視光の両端での水の屈折率はおおむね次のとおりである。赤色光( $\lambda \approx 656$ nm)では $n_{\text{red}} \approx 1.3311$、紫色光( $\lambda \approx 405$ nm)では $n_{\text{violet}} \approx 1.3435$ となる。

先ほどの最小偏向角の導出をそれぞれの屈折率で繰り返すと、赤色光の虹の角半径は約 $42.4°$、紫色光の角半径は約 $40.6°$ と算出される。つまり、赤い光は紫の光よりも外側に現れる。

一次虹の色の並びは外側から赤、橙、黄、緑、青、藍、紫の順となる。これは屈折率が高い(短波長の)光ほど水滴内で強く曲げられ、最小偏向角が大きくなる(反太陽点からの角度が小さくなる)ことの直接的な帰結だ。

ここで注意すべきは、色の分離の原因が逆二乗則のような距離の関数ではなく、あくまで屈折率の波長依存性にあるという点だ。水滴の大きさが変わっても屈折率は変わらないため、虹の角度は水滴のサイズに依存しない。ただし水滴のサイズは虹の彩度や帯の幅に影響を与える。直径が1 mm以上の大きな水滴では色が鮮やかで帯が狭く、直径が小さくなるにつれて色の帯が広がり、0.1 mm以下になると色がほとんど消えて白い弧(霧虹)になる。

二次虹

一次虹の外側に、もう一本の虹が見えることがある。これが二次虹(secondary rainbow)であり、水滴内で光が2回の内部反射を経て射出される光路に対応する。

二次虹の偏向角は、2回の内部反射を含めて

$$ D_2 = 2(i - r) + 2(\pi - 2r) = 2i - 6r + 2\pi $$

と表される。同様に $dD_2/di = 0$ とおくと

$$ 2 - 6\frac{dr}{di} = 0 $$

$$ \cos i = \frac{n\cos r}{3} $$

これをスネルの法則と連立して解くと

$$ \cos i_{\min} = \sqrt{\frac{n^2 - 1}{8}} $$

$n = 1.333$ を代入すると $i_{\min} \approx 71.9°$、 $r \approx 45.5°$ となり、最小偏向角は

$$ D_{2,\min} = 2(71.9°) - 6(45.5°) + 360° \approx 230.8° $$

反太陽点からの角度は $D_{2,\min} - 180° \approx 50.8°$ であり、二次虹は約51°の角半径に現れる。

色の順序の逆転

二次虹では色の並びが一次虹と逆になる。外側が紫、内側が赤である。これは二次虹の偏向角が屈折率の増加に対して一次虹と反対方向に変化するためだ。短波長の光ほど偏向角が大きくなり、反太陽点からの角度が大きくなるため、紫が外側に位置する。

二次虹が一次虹より暗いのは、内部反射を2回経るために各反射で光量が失われるからである。フレネルの式により、水と空気の界面での内部反射率は入射角に依存するが、典型的な条件下で1回の反射による透過損失は相当量に達する。その2回分が累積し、二次虹の輝度は一次虹の約10分の1以下になる。

アレキサンダーの暗帯

一次虹(約42°)と二次虹(約51°)の間の空は、虹の外側や内側と比べて暗く見える。この暗い領域をアレキサンダーの暗帯(Alexander's dark band)と呼ぶ。2世紀のギリシャの哲学者アレクサンドロス(アフロディシアスのアレクサンドロス)が最初に記述したことに由来する。

暗帯の成因は幾何光学から直接説明できる。一次虹の最小偏向角(約138°)は、それよりも小さい偏向角の光線が存在しないことを意味する。つまり、反太陽点から42°より外側の領域には、1回反射の光線が到達しない。同様に、二次虹の最小偏向角(約231°)は、反太陽点から51°より内側の領域に2回反射の光線が到達しないことを意味する。

一方、一次虹の内側(42°より小さい角度)には、最小偏向角に達しなかった1回反射の光線が分散して届いており、空が明るくなる。二次虹の外側(51°より大きい角度)にも同様に2回反射の余分な光線が届く。

結果として、42°と51°の間の暗帯は、1回反射の光線も2回反射の光線も到達しない幾何学的な空白地帯となる。実際に虹を観察するとき、虹の内側の空が外側よりも明るく見えるのは、この効果の直接的な表れである。

過剰虹(干渉縞)

注意深く観察すると、一次虹の内側に淡い色の帯が繰り返し現れることがある。これが過剰虹(supernumerary rainbows)であり、幾何光学では説明できない。過剰虹の理解には波動光学が不可欠である。

幾何光学的な最小偏向角の近傍では、わずかに異なる入射角から出発した2本の光線がほぼ同じ方向に射出される。この2本の光線は異なる光路長を経ているため、光路差が生じる。光路差が波長の整数倍であれば強め合いの干渉、半波長の奇数倍であれば弱め合いの干渉が生じる。

1838年にジョージ・エアリーは、最小偏向角近傍の光線の干渉をエアリー関数(Airy function, Ai)を用いて記述した。虹の輝度分布はデカルト角の近傍で

$$ I(\theta) \propto \left[\text{Ai}\left(-\left(\frac{\theta - \theta_R}{\Delta\theta}\right)\right)\right]^2 $$

のように表される。ここで $\theta_R$ はデカルトの最小偏向角に対応する虹の角度、 $\Delta\theta$ は水滴の直径 $d$ に依存するスケール因子であり

$$ \Delta\theta \propto \left(\frac{\lambda}{d}\right)^{2/3} $$

に比例する。

エアリー関数は振動的に減衰する関数であり、主極大(一次虹本体)の内側に副極大が現れる。これが過剰虹の干渉縞に対応する。

$\Delta\theta$ が水滴の直径の $-2/3$ 乗に比例するため、大きな水滴ほど干渉縞の間隔が狭くなり、過剰虹が多数本見える。逆に小さな水滴では縞の間隔が広がり、色が重なり合って不明瞭になる。水滴の大きさが不均一な場合は縞がぼやけて見えなくなるため、過剰虹が明瞭に見えること自体が、水滴サイズがある程度揃っていることの指標となる。

22°ハロ

太陽や月の周りに現れる光の環をハロ(halo、暈)と呼ぶ。最も一般的なのは角半径約22°のハロである。虹が液体の水滴によって生じるのに対し、ハロは上層大気中の六角柱状の氷晶(ice crystal)によって生じる。

氷晶のプリズム屈折

六角柱状の氷晶には、光が通過する際に60°の頂角を持つプリズムとして機能する経路がある。光が六角柱の一つの側面から入射し、隣接する側面から射出されるとき、この2つの面がなす角度は60°である。

60°プリズムにおける偏向角 $D$ は、入射角 $i_1$ と射出角 $i_2$ を用いて

$$ D = i_1 + i_2 - 60° $$

と表される。スネルの法則から、プリズム内部の屈折角 $r_1$ と $r_2$ は $r_1 + r_2 = 60°$ を満たす。

最小偏向は、光線がプリズムを対称に通過するとき( $i_1 = i_2$, $r_1 = r_2 = 30°$)に生じる。このとき

$$ \sin i_{\min} = n \sin 30° = \frac{n}{2} $$

氷の屈折率は $n \approx 1.31$(可視光中央付近)であるから

$$ i_{\min} = \arcsin\left(\frac{1.31}{2}\right) \approx 40.9° $$

最小偏向角は

$$ D_{\min} = 2 \times 40.9° - 60° \approx 21.8° $$

これが22°ハロの角半径の導出である。虹と同様に、最小偏向角の近傍に光が集中するため、22°付近に明るい環が見える。

22°ハロの内側は比較的暗い。これはアレキサンダーの暗帯と同じ理由であり、最小偏向角よりも小さい偏向を持つ光線が存在しないためだ。

色と幅

ハロにもわずかな色の分離が見られる。氷の分散により、赤色光(屈折率が小さい)の最小偏向角は紫色光よりも小さくなるため、内側が赤く外側が青みがかった配色となる。ただし、虹に比べてハロの色は淡い。これは氷の分散が水の分散より小さいこと、また氷晶の配向がランダムであるため多くの入射角からの光が重畳して色が混合することによる。

幻日(サンドッグ)

太陽の左右約22°の位置に明るい光の点が現れることがある。これが幻日(parhelion、sun dog)である。幻日は22°ハロと同じ六角柱氷晶の60°プリズム屈折で生じるが、決定的な違いは氷晶の配向にある。

22°ハロを生む氷晶はランダムに回転しているが、幻日を生む氷晶は六角柱の $c$ 軸(主軸)が鉛直方向にほぼ揃って浮遊している。空気抵抗によって板状の氷晶が水平に配向する傾向があるためだ。この配向により、光は水平面内で60°プリズムを通過することになり、偏向された光は太陽と同じ高度の水平方向に集中する。

太陽高度と幻日の位置

太陽高度が低い( $h \approx 0°$)とき、太陽光は氷晶のプリズム面にほぼ垂直に入射し、偏向角は最小偏向角の $D_{\min} \approx 22°$ に近くなる。幻日は太陽の真横22°の位置に現れる。

太陽高度が上がると、光はプリズム面に対して斜めに入射するようになる。斜め入射による実効的なプリズム角の増大により、偏向角は22°より大きくなる。その結果、太陽高度が高いほど幻日は太陽から離れた位置に現れる。

太陽高度がおよそ $h > 60°$ を超えると、幻日はほとんど観察されなくなる。斜め入射が大きすぎて氷晶内部で全反射が生じ、光がプリズムを透過できなくなるためだ。

幻日は虹やハロよりも色が鮮やかに見えることが多い。これは氷晶の配向が揃っているため、特定の偏向角の光が効率よく集中し、分散による色の分離が明瞭になるからだ。太陽に近い側が赤く、遠い側が青みがかる。

蜃気楼

蜃気楼(mirage)は、大気中の温度勾配に起因する屈折率の連続変化が光線を曲げることで生じる。虹やハロが水滴・氷晶の個別の粒子による屈折であるのに対し、蜃気楼は大気という連続媒質内での屈折現象である。

温度勾配と屈折率

大気の屈折率 $n$ は温度 $T$(K)と気圧 $P$(hPa)に依存する。簡易的な関係式は

$$ n - 1 \approx 7.76 \times 10^{-5} \cdot \frac{P}{T} $$

で与えられる。同じ気圧であれば、温度が高いほど屈折率は小さくなる。

通常の大気では高度が上がるにつれて温度と気圧が低下し、屈折率もわずかに減少する。しかし、地表付近で強い温度勾配が生じると、屈折率の鉛直分布に異常が生じ、蜃気楼の条件が整う。

光線の曲がりの微分方程式

屈折率が連続的に変化する媒質中での光線の経路は、フェルマーの原理(光路長極値の原理)から導かれる。屈折率が高さ $y$ のみの関数 $n(y)$ であるとき、光線の経路は

$$ n(y) \sin\theta(y) = \text{const} $$

というスネルの法則の連続版を満たす。ここで $\theta(y)$ は各高度における光線と鉛直方向のなす角である。

この式は、光線が屈折率の低い方から高い方へ向かって連続的に曲がることを示す。すなわち、暖かい空気(屈折率が低い)の側から冷たい空気(屈折率が高い)の側へ光線は曲がる。

光線の曲率半径 $R$ は

$$ \frac{1}{R} = -\frac{1}{n}\frac{dn}{dy}\sin\theta $$

で与えられる。温度勾配が急峻で $dn/dy$ が大きいほど曲率半径が小さくなり、光線は強く曲がる。

上位蜃気楼と下位蜃気楼

蜃気楼は温度勾配の方向によって二つに大別される。

下位蜃気楼(Inferior Mirage)

砂漠やアスファルト道路上で見られる蜃気楼の多くがこれにあたる。地面が太陽に熱せられると、地表直上の空気が周囲より高温になり、屈折率が低くなる。

この条件では、地面近くの屈折率が低く、上空ほど屈折率が高い。遠方の物体からの光線は、地表付近で上方に曲げられて観測者に届く。観測者には、物体が地面の下に反転した虚像として見える。道路上で水たまりのように見える現象は、空の光が地表付近で上方に屈折され、路面で「反射」しているように見えるためだ。実際に水があるわけではなく、遠方の空の虚像が路面の位置に見えているにすぎない。

下位蜃気楼では像は実物の下方に現れ、上下が反転している。「下位」とは虚像の位置が実物より下にあることを意味する。

上位蜃気楼(Superior Mirage)

冷たい海面上に暖かい空気が覆いかぶさる逆転層が存在する場合に生じる。この条件では地表近くの屈折率が高く、上空ほど屈折率が低いという、通常の大気とは逆の鉛直構造が形成される。

光線は屈折率の高い方(下方)に向かって曲がるため、地平線の向こうにある物体からの光が上方に持ち上げられて観測者に届く。実物よりも高い位置に像が見える。ファタ・モルガナ(Fata Morgana)と呼ばれる複雑な蜃気楼は、逆転層が複数存在する場合や逆転層内の温度勾配が複雑な場合に生じ、像が引き伸ばされたり多重化したりする。

上位蜃気楼は下位蜃気楼と異なり、像が正立(上下が反転していない)の場合もあれば反転している場合もある。温度プロファイルの形状によって、像の形状は大きく変化する。北極圏や寒冷な海域で「空中都市」が見える報告は、上位蜃気楼によるものが多い。

グリーンフラッシュ

日の出・日没の瞬間に、太陽の上端が鮮やかな緑色に一瞬輝くことがある。これがグリーンフラッシュ(green flash)である。

大気による分散

大気の屈折率は波長に依存する。分散の原理と同じく、短波長の光ほど屈折率が高く、大気による屈折が大きくなる。結果として、太陽の像は波長ごとにわずかにずれた位置に形成される。

地平線付近での大気による屈折量は約 $0.57°$(約34分角)に達する。日没時に太陽の下端が地平線に接しているように見えるとき、太陽は実際にはすでに地平線の下にある。大気の屈折が太陽の像を持ち上げているのだ。

この屈折量の波長依存性により、赤い光の太陽像と青い光の太陽像は鉛直方向にわずかにずれる。短波長光ほど強く屈折されるため、青い太陽像は赤い太陽像よりもわずかに上に位置する。ただし、そのずれは角度にして約 $0.01°$(約0.6分角)程度であり、通常は太陽の視直径(約 $0.5°$)に対して無視できるほど小さい。

緑が見える理由

太陽がほぼ沈み、太陽の上端だけが見えている瞬間を考える。各波長の太陽像が鉛直にずれているため、最も上に位置するのは最も短波長の光の像である。理論的には青や紫が最後まで見えるはずだが、実際には二つの理由でそうならない。

第一に、短波長光はレイリー散乱により長い大気光路中で激しく散乱され、直達光がほとんど失われる。紫や青の光は地平線付近のエアマスでは事実上消滅する。

第二に、大気中の水蒸気やオゾンの吸収も短波長側に寄与する。

散乱と吸収の効果を組み合わせると、紫と青は除去され、赤と橙は最も下の像に属するため先に地平線に沈む。残るのは緑の光であり、太陽の上端が沈む最後の瞬間に一瞬だけ緑色が閃く。これがグリーンフラッシュの物理的メカニズムだ。

グリーンフラッシュの観察には、水平線が遠方まで見通せる場所(海上など)と、大気が比較的澄んでいる条件が求められる。エアロゾルが多い場合、緑の光も散乱されて見えなくなる。上位蜃気楼の条件と重なると、グリーンフラッシュが拡大・延長されて数秒にわたって観察される場合もある。

ブロッケン現象とグローリー

ブロッケン現象

山頂で太陽を背にして霧や雲を見下ろすと、自分の影が霧の中に巨大に投影され、その周囲に色のついた環が見えることがある。これがブロッケン現象(Brocken spectre)で、ドイツのハルツ山地にあるブロッケン山で頻繁に観察されたことに由来する。

影が巨大に見える理由は純粋にパースペクティブの効果であり、光学的な拡大ではない。太陽が観測者の背後にある場合、影は前方の霧の「スクリーン」に投影されるが、霧は観測者に近い部分も遠い部分も存在する。近くの霧に投影された影は大きく、遠くの霧に投影された影は小さいが、視覚的に統合されると巨大な影として知覚される。影の輪郭がぼやけて見えるのは霧による散乱のためだ。

グローリー

ブロッケン現象の影の周囲に見える同心円状の色のついた環がグローリー(glory)である。飛行機から雲を見下ろしたとき、機体の影の周囲に現れる虹色の環もグローリーの一種だ。

グローリーの形成メカニズムは完全には解明されていないが、霧粒(直径10から50 μm程度の球形水滴)による後方散乱が関与していることは確かだ。後方散乱とは、入射方向とほぼ逆方向に光が戻ってくる散乱のことである。

幾何光学だけでは後方散乱の角度依存性を十分に説明できない。グローリーの色の環を定量的に再現するには、ミー散乱理論の厳密解が必要であり、水滴表面に沿った表面波(surface wave)の寄与が重要な役割を果たすと考えられている。光線が水滴にほぼ接線方向に入射し、表面近くの薄い層を通過して反対側から射出される過程で、表面に沿って伝搬する波が後方散乱を増強する。

グローリーの角半径は水滴の大きさに依存し、おおむね

$$ \theta \approx \frac{0.7\lambda}{d} $$

の関係がある。 $d$ は水滴の直径、 $\lambda$ は波長だ。典型的な霧粒( $d \approx 20$ μm)に対して $\theta \approx 1°$ から $2°$ 程度になる。虹やハロよりはるかに小さい角半径であり、反太陽点の近傍に現れる。

色の配列は虹と同様に波長の長い赤が外側、短い紫が内側になるが、複数の環が同心円状に繰り返し現れる点が虹とは異なる。これは波動光学的な干渉パターンの特徴である。

環天頂アークと環水平アーク

通常の22°ハロや幻日に比べて出現頻度は低いが、空に鮮やかな虹色の弧を描く環天頂アーク(circumzenithal arc, CZA)と環水平アーク(circumhorizontal arc, CHA)は、大気光学現象のなかでも特に美しいものだ。

環天頂アーク

環天頂アークは天頂付近を中心とする逆さまの弧として現れ、太陽高度がおよそ $32°$ 以下のときに観察される。六角板状の氷晶が水平に配向したとき、光が上面(底面)から入射し、側面から射出される経路で生じる。この経路では、入射面と射出面のなす角度が $90°$ であり、90°プリズムとして機能する。

90°プリズムの最小偏向角は

$$ \sin i_{\min} = n \sin 45° = \frac{n}{\sqrt{2}} $$

$n = 1.31$ の場合、 $\sin i_{\min} \approx 0.926$ より $i_{\min} \approx 67.8°$ となり、最小偏向角は

$$ D_{\min} = 2(67.8°) - 90° = 45.6° $$

ただし、環天頂アークの場合、光の入射方向が太陽高度によって制約される。太陽高度が低いときに色が鮮やかになるが、 $h = 0°$ では太陽光が氷晶の上面にほぼ水平に入射しフレネル透過率がゼロに近づくため実質的に観察されない。 $h \approx 32°$ でアークは22°ハロの天頂部分と一致し、それ以上の太陽高度では射出面で全反射が生じて見えなくなる。

環天頂アークの色は非常に鮮やかで純粋であり、自然界で見られる最も鮮やかなスペクトル分離のひとつと評されることがある。これは90°プリズムの分散が60°プリズム(22°ハロ)よりも大きく、色の分離が明瞭になるためだ。

環水平アーク

環水平アークは環天頂アークの「対」にあたる現象で、太陽高度が約 $58°$ 以上のときに水平線に平行な弧として太陽の下方に現れる。光が六角板状氷晶の側面から入射し、底面(上面)から射出される経路で生じる。これは環天頂アークの光路を逆にたどったものにほかならない。

環水平アークは太陽高度が高い条件でのみ出現するため、高緯度地域では夏至前後の限られた時期にしか観察されない。日本の中緯度地域では夏場に比較的見やすい。空の低い位置に水平に広がる鮮やかな虹色の帯は、条件が合えば非常に幅広く出現し、壮大な光景となる。

撮影への応用

大気光学現象の撮影には、その物理的特性の理解が直接役立つ。

虹。 太陽を背にして反太陽点から約42°の方向を探す。偏光フィルターの使用には注意が必要だ。虹の光は部分的に偏光しており、偏光フィルターの回転角によって虹の輝度を増減できるが、角度を誤ると虹を消してしまう。虹を強調する偏光フィルターの向きは、虹の弧の各位置で異なるため、広角で撮る場合はフィルターなしのほうが自然な描写になることも多い。

ハロと幻日。 太陽を画面に入れる構図になるため、レンズフレア対策が重要になる。太陽そのものを隠す構図(木や建物で遮る)や、ブラケット撮影によるHDR合成が有効だ。ハロは薄い巻層雲の広がりが前兆であり、天気の変化の指標としても使える。

蜃気楼。 長焦点レンズで遠方を狙う。下位蜃気楼は夏のアスファルト路面上で容易に撮影できるが、上位蜃気楼は冷たい海面上の特殊な気象条件が必要である。大気の揺らぎ(シンチレーション)により像が不安定なため、連写で最もシャープなカットを選ぶ手法が有効だ。

グリーンフラッシュ。 望遠レンズで日没の最後の瞬間を狙う。露出は沈む直前の太陽上端に合わせ、高速連写で瞬間を捉える。実際の持続時間は1秒以下のことが多い。

グローリー。 飛行機の窓から雲を見下ろす機会があれば、太陽と反対側の窓からレンズを雲に向ける。機体の影の周囲に同心円状の虹色の環が見える。窓の反射を防ぐため、レンズを窓に密着させるとよい。

まとめ

虹、ハロ、蜃気楼、グリーンフラッシュ、グローリー、環天頂アーク。これらの現象はいずれも、光が大気中の水滴・氷晶・温度勾配と相互作用する過程で生じる。

一次虹の42°はスネルの法則と偏向角の極値条件から導出され、色の分離は水の分散の直接的な帰結である。22°ハロは六角柱氷晶の60°プリズム屈折の最小偏向角であり、幻日は氷晶の水平配向による空間的な集中で生じる。蜃気楼は屈折率の連続的な鉛直変化による光線の曲がりであり、グリーンフラッシュは大気の分散とレイリー散乱の組み合わせで生じる。過剰虹とグローリーは幾何光学を超えて波動光学が必要な現象であり、干渉と回折がそれぞれの色のパターンを決定する。

前稿で扱ったレイリー散乱やミー散乱が空の色を決め、マジックアワーとブルーアワーの色彩を生む「連続的な」現象であるのに対し、虹やハロは水滴・氷晶という「離散的な」光学素子が大気中に配置された結果として生じる。どちらもスネルの法則とフレネルの式という同じ基本法則に支配されており、大気はその日の温度と水分の条件に応じて、光を選択し、曲げ、分け、干渉させる巨大な光学実験室として機能している。次稿では、同じスネルの法則とフレネルの式を水中・霧中・宇宙という大気とは異なる媒質に適用し、光が環境によっていかに異なる振る舞いを見せるかを追う。

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu