2次元波動干渉シミュレーター 戻る
波動・音響・光学

2次元波動干渉シミュレーター

2次元波動方程式 $u_{tt}=c^2\nabla^2u$ を有限差分でリアルタイムに解く、生きた波動場。キャンバスをクリックして波源を置き、波速・減衰・周波数・境界条件を変えると、壁での反射・波の干渉・定在波が振幅カラーマップとして目の前で動きます。

場のパラメータ
0.50
0.80
0.010
計算結果(ライブ)
0.00
時刻 t
0.50
波速 c
0.80
周波数 f
0.6
波長 λ=c/f
0
波源数
CFL
リアルタイム2D波動場(有限差分法)

キャンバスをクリック/タップで波源を追加。反射・干渉・定在波が見えます。

干渉 (+) (−) 波源
理論・主要公式

2次元波動方程式を有限差分で時間発展させています:

$$\frac{\partial^2 u}{\partial t^2} = c^2\left(\frac{\partial^2 u}{\partial x^2}+\frac{\partial^2 u}{\partial y^2}\right)=c^2\nabla^2 u$$

波長は $\lambda = c/f$。安定条件(CFL)は $c\,\Delta t/\Delta x \le 0.71$ を満たすよう波速 c を制限しています。

2次元波動干渉とは

🙋
このシミュレーターで見える同心円状の模様は、何を表しているんですか?
🎓
これは、複数の点から広がる波の「山」と「谷」が重なり合う様子だよ。例えば、水槽に2つの石を落とすとできる波紋が重なる現象と同じだ。上の「波長 λ」のスライダーを動かすと、この同心円の間隔が変わるのがわかる。間隔が広がれば波長が長い(低周波)、狭まれば波長が短い(高周波)んだ。
🙋
なるほど!で、画面に縞模様ができるのはなぜですか?「強め合い」と「弱め合い」ってどういうこと?
🎓
大まかに言うと、2つの波の山と山が重なると大きな山になるのが「強め合い」、山と谷が重なると打ち消し合うのが「弱め合い」だ。シミュレーターで「表示モード」を「白黒(グレースケール)」に切り替えてみて。明るい縞が「強め合い」の線、暗い縞が「弱め合い」の線になるよ。これが光の干渉で言う「干渉縞」そのものなんだ。
🙋
波源の「位相」を変えると模様が大きく変わりますね。これって実務ではどう使うんですか?
🎓
実務ではこれが特に重要!例えば、複数のスピーカーを並べて、それぞれに少しずつ位相をずらした音を出すと、音のビームを特定の方向にだけ強く飛ばせるんだ。シミュレーターで波源を3つ以上に増やして、位相をバラバラに調整してみて。波が特定方向にだけ強く進む「指向性」が生まれるのがわかるよ。これはフェーズドアレイアンテナや医療用超音波の基本原理だ。

よくある質問

画面上の各波源(点)をドラッグ&ドロップすることで自由に配置できます。また、波源を追加・削除するには、ツールバーの「波源追加」ボタンや波源選択時の削除オプションをご利用ください。配置を変えると干渉パターンがリアルタイムに更新されます。
波源を2つに設定し、互いに近接して配置します(スリット間隔は波長の数倍程度が目安)。波長と周波数を任意に調整し、両波源の位相を0に揃えてください。画面上に明暗の干渉縞が現れれば、二重スリットの原理を視覚的に確認できます。
減衰パラメータを大きくすると、波源から遠ざかるにつれて波の振幅がより急激に減少します。これにより、干渉パターンのコントラストや到達範囲が変化し、現実の波(水面波や電波)に近い挙動をシミュレートできます。減衰を0に近づけると、遠方まで強く干渉が持続します。
複数の波源を直線状に等間隔で配置し、各波源の位相を順にずらしてください(例:隣接波源間で位相差を一定に)。位相差を変えると、干渉によって強め合う方向(ビーム)が変化します。位相をスライダーで調整しながら、画面上の波の進行方向を観察すると理解が深まります。

実世界での応用

光学・計測:ヤングの二重スリット実験はこの原理そのものです。レーザー光の干渉縞から光の波長や微小な変位を高精度に計測します。また、ホログラフィーも干渉パターンを記録・再生する技術です。

音響エンジニアリング:複数のスピーカーを配置し、位相を制御することで、音のビームを形成したり(指向性スピーカー)、特定の場所だけを静粛にする「アクティブノイズキャンセレーション」を実現します。コンサートホールの設計にも応用されます。

非破壊検査:「フェーズドアレイ超音波探傷」は、複数の超音波振動子の発信タイミング(位相)を電子制御し、検査対象内部の欠陥に超音波ビームを自在に走査・焦点合わせする技術です。溶接部の検査などで広く使われています。

レーダー・通信:フェーズドアレイレーダーは、機械的にアンテナを動かさずに、位相制御だけで電波ビームの方向を瞬時に変え、広範囲を高速に探知します。最新の軍事レーダーや5G/6Gの基地局アンテナにも応用されています。

よくある誤解と注意点

まず、「シミュレーション上の『波源』は理想的な点」という前提を忘れないで。実物のスリットやスピーカーには幅があるから、完全な点波源じゃないんだ。例えば、スリット幅が広すぎると、このシミュレーターで見えるようなシャープな干渉縞はぼやけてしまう。パラメータをいじる時は、「位相」と「初期位相」の違いにも注意して。スライダーで変えているのは波源が出す波のスタートタイミング(初期位相φ)で、距離による遅れ(位相kr)とは別物。位相差ΔΦはこの両方で決まるんだ。

あと、減衰の設定を「なし」にしたまま議論しないこと。2次元の水面波や音波は、エネルギーが広がるので振幅が減衰する。減衰なし(平面波近似)で計算すると、遠くまで均一な強い縞が続くけど、実際は距離とともにコントラストが落ちる。実務でアンテナの指向性を設計する時、この減衰を考慮しないと、想定より遠くで電界強度が足りない、なんてことになるよ。

使い方ガイド

  1. lambdaSliderで波長を20-100pxの範囲で調整し、freqSliderで周波数0.1-5.0 Hzを設定します
  2. dampSliderで減衰係数を0-100(内部0.00-1.00)に設定し、複数波源による干渉パターンの減衰を制御します
  3. シミュレーション開始後、リアルタイムで干渉縞が表示され、描画時間(ms)と現在時刻が更新されます

具体的な計算例

Example: set スライダー=60px, 数値入力欄=1.0Hz, スライダー=50 (internal damping 0.50), and place two in-phase sources. The canvas shows stable constructive and destructive fringes; switching among the interference colormap, grayscale, and ripple tank modes changes only the visualization, while wavelength and phase control the fringe spacing and node lines.

実務での注意点