波紋・干渉のアイコン
エンタメ

波紋・干渉

触れると水面にきれいな波紋が広がり、跳ね返り、重なり合って干渉縞をつくる。理科室の「波紋タンク」をブラウザで本物の波動方程式で再現した没入トイ。

遊び方

  1. 👆 タップ触れた点に水滴が落ちて、円い波紋が広がります。ポチャッと鳴る音は、水面の上のほうほど高くなります。
  2. ☝️ なぞる指の通り道に波が立ち続けて、船の航跡のような波が引けます。なぞっている間は音を鳴らしません。
  3. 🎚 2点干渉ONにすると、2つの波源が休まず振動して干渉縞が浮かびます。「縞の間隔」スライダーはこのモードの間だけ動きます。

「減衰」で波の残り方を調整、「クリア」で水面を平らに、📸 で今の水面を画像で保存、📤 でシェア。

つくりの話

本当に波の方程式を解いている

理科室の「波紋タンク」は、浅い水槽の水面を下から照らして、波の山と谷を明暗の模様として見せる実験装置です。このトイでは、その水面を絵として描いているのではなく、水面の高さを毎コマ計算しています。

水面は、長いほうの辺が320マスの方眼に区切られていて、各マスが「いまの高さ」と「ひとつ前の高さ」を持っています。次の高さは、自分の勢い(いまとひとつ前の差)に、上下左右の4マスとの高さの差を足して決まります。まわりより低いマスは持ち上げられ、高いマスは押し下げられる。これを毎コマ全マスで一斉に繰り返すだけで、波は円く広がり、ぶつかれば重なり、壁で跳ね返ります。波紋の形はどこにも書いていません。

波の速さには上限があります。速くしすぎると計算が破綻して、水面がノイズで埋まってしまうからです。この方眼のやり方では「速さの2乗が0.5未満」が安全圏で、ここではぎりぎりの0.49にしています。

壁は波を逃がさない

水槽のふちは、波を吸い込まずに跳ね返す壁にしてあります。そのため、いちど起こした波はどこにも逃げず、「減衰」で少しずつ弱まるのを待つしかありません。

減衰スライダーは、1コマごとに波の高さを何倍に縮めるかを決めています。いちばん左で0.9999倍、いちばん右で0.985倍。数字の差はわずかでも、毎コマ掛け続けるので効き方はまるで違います。左端では跳ね返った波どうしがいつまでも重なり合い、水面全体が細かくざわめきます。右端では波紋はひと回り広がったあたりで静まります。

水滴は「押す」のではなく「盛る」

タップした点には、なだらかな山の形をした水の盛り上がりを置いています。このとき「いまの高さ」と「ひとつ前の高さ」の両方に同じ山を足すのがコツです。いまの高さだけに足すと、急に下から突き上げたことになって、とがった波が飛び散ります。両方に足すと、静かに置かれた水の山が自分の重さで崩れていき、きれいな同心円になります。

なぞっているときは、指が少し動くたびにこの山を小さめに置いていきます。止まった指からは何も出さないので、指を置いたままにしても水面が盛り上がり続けることはありません。

2点干渉は「縞の間隔」を波長で変える

2点干渉では、画面中央の高さに左右対称に並んだ2つの点を、正弦波で上下させ続けます。2つの波が山と山で重なる線は強く揺れ、山と谷で打ち消し合う線はほとんど動きません。この揺れない線が、教科書の図でいう「節線」です。

縞の幅は、波長と2点の間隔の比で決まります。ここでは2点の間隔を固定して、振動の速さだけをスライダーで変えています。ゆっくり揺らすと波長が長くなって縞は太く少なく、速く揺らすと波長が短くなって縞は細かく増えます。スライダーを右へ動かすほど振動が速くなり、縞の間隔はせまくなります。いちばん速くしても、波長が方眼の細かさを下回らない範囲に収めてあります。それより短い波は、方眼では正しく表せないからです。

ONにした直後は水面をいったん平らにしてから振動を始めます。縞が水面全体に行き渡るまで少しかかるので、数秒待ってみてください。

光り方は「傾き」から作る

画面に映っているのは、高さそのものより水面の傾きです。隣のマスとの高さの差から面の向きを出し、左上から光が当たったときのきらめきを計算しています。谷は深い紺、山の頂は白に近い水色。傾きが急なところほど明るく光らせているので、波が重なって水面が大きくうねる場所ほど縞がはっきり浮かびます。四隅は少し暗くして、暗い水槽をのぞき込んでいるように見せています。

音も合成

ポチャッという音は録音ではなく、短い正弦波の高さを0.1秒ほどで2倍半まで跳ね上げて作っています。水面の上のほうをタップするほど高い音になり、毎回少しだけ高さをずらすので、続けてタップすると雨だれのように聞こえます。なぞるたびに鳴らすと耳がうるさくなるので、音はタップした瞬間だけです。

楽しみ方

  • 雨を降らせる:何本かの指で水面のあちこちを軽くたたくと、波紋どうしが重なって雨の日の水たまりになります。
  • 壁ぎわを狙う:ふちのすぐ近くに一滴落とすと、壁で跳ね返った波が元の波紋と重なって、もう一つ水滴があるような模様になります。
  • 減衰をゼロにして放っておく:いくつか波紋を起こしてから減衰を左端へ。跳ね返りが重なり続けて、水面が細かい格子模様で埋まっていきます。
  • 縞を数える:2点干渉で「縞の間隔」を左右に動かし、揺れない線の本数がどう変わるかを見ます。波長と縞の関係が、目で確かめられます。
  • 2点干渉の上からタップ:きれいな縞の上に水滴を落とすと、模様がいったん崩れてからまた戻ってきます。

よくある質問

「対応していません」と出て何も映りません

波の計算をすべて画面の描画用チップ(GPU)で行っているため、WebGL2 と、小数の値を書き込める描画バッファに対応したブラウザが必要です。最新の Chrome / Safari / Edge でお試しください。

音が出ません

音はタップしたときだけ、その場で合成して鳴らしています。ブラウザは最初に画面に触れるまで音を出さないので、まず一度タップしてください。iPhone は本体の消音(マナーモード)がオンだと Web ページの音も鳴らないことがあります。

設定は覚えていてくれますか?

2点干渉のON/OFF、縞の間隔、減衰の3つは、お使いのブラウザの中に保存され、次に開いたときもそのままです。サーバーには何も送りません。

保存した画像には何が入りますか?

📸 を押した瞬間の水面が PNG 画像としてダウンロードされます。右下に小さく「#ぽちトイ」の文字が入ります。

この特集に載っています

最終更新

この気分のトイ

もっと遊ぶ

このアプリの気分アート・クラフト没入・ふしぎ