本文へ移動
BenriWorks Lab

地球地下シミュレータ

ベータ版

地震波の伝わり方やマントル対流から、地球の内部構造を体験できる教育用3Dシミュレータ

公開日

暗い教室のスクリーンに映る、断面からマントルが赤く発光する地球の3D映像を見つめる生徒たち

対象ユーザー

  • 地球の内部構造や地震のしくみに興味がある人
  • 教育向けの3D可視化に関心がある開発者

解決する課題

地球の内部を直接見た人はいません。教科書で地殻、マントル、外核、内核という層構造を習っても、「掘って確かめたわけでもないのに、なぜそこまでわかるのか」という疑問には、断面図を眺めるだけでは答えられません。

地球地下シミュレータは、この「なぜわかるのか」に答えるための教育用3D Webアプリです。地震波の伝わり方という観測データから内部構造を推論する過程を、ブラウザ上で体験できるようにすることを目指しています。

主な機能

地球の層構造を、PREM(予備的基準地球モデル)の境界値を近似した正しい半径比で3D表示します。断面のカットアウェイ、レイヤーごとの表示切替と物性値の確認、深度に対する密度、温度、地震波速度のプロファイル表示に対応しています。

地震波シミュレーションでは、震源を設定するとP波とS波の伝播が再生されます。波線は層境界でスネルの法則に従って屈折、反射し、断面円周上の観測点には到達時刻が記録されて、走時表と走時曲線という地震学の一次データに近い形で結果を読み取れます。

S波が届かない領域(シャドウゾーン)は、角度つきで断面上にハイライトされます(本モデルでは約93度以遠、実地球では約103度以遠)。この「届かない波」が、液体の外核の存在を人類に教えた手掛かりでした。1906年から1936年の発見史をたどる8ステップのガイドツアーと7問のクイズで、この推論を追体験できます。

マントル対流は、Web Workerによるリアルタイムの物理計算で時間発展します。上昇流の位置と連動して、地表に配置した火山(Blenderで作成した3Dモデル)の噴火強度が変わります。

開発の背景

教科書の断面図が載せているのは、推論の結果だけです。届くはずの波が届かないという欠落から液体の外核を言い当てた過程は、図からは読み取れません。そこで、完成した内部構造を見せるだけでなく、観測から推論へ至る道筋をたどれる形を選びました。

技術と設計

Next.js 15とTypeScript(strict)を基盤に、3D描画にThree.js(@react-three/fiber)、状態管理にZustandを使用しています。

地震波の波線追跡の設計と検証は、開発記事「地震波の波線追跡でシャドウゾーンを再現する」で紹介しています。マントル対流の計算(渦度-流れ関数法)をWeb Workerに載せた設計は、開発記事「マントル対流をWeb Workerでリアルタイムに計算する」にまとめています。

描画では60FPSの維持を優先しています。毎フレーム変化する値(プローブの深度や波面の時刻)はReactのstateに載せず、useFrame内でZustandのストアを直接参照し、UIへの反映は約10Hzに間引いています。

テストはVitestで約78ケースあり、レイパラメータの保存や「S波が液体の外核に入らない」ことといった、物理的な性質を検証の対象にしています。

現在の状態と既知の課題

現在はベータ版(beta)として位置付けています。

教育目的の簡略化を含みます。層内の物性値はPREM境界値の線形補間による近似で、このためS波のシャドウゾーンは実地球の約103度より小さい約93度から始まります。プローブの降下速度やマントル対流の速度も、視覚化のために大きく誇張しています。地殻の誇張表示トグルを含め、誇張していること自体をUI上で明示するようにしています。

スクリーンショット

  • クォーターカットで内部の層構造を露出させた地球。断面にはマントル対流のヒートマップが表示され、右側のパネルで断面カットやレイヤーの表示を切り替えられる
    クォーターカットで内部の層構造を露出させた地球。断面にはマントル対流のヒートマップが表示され、右側のパネルで断面カットやレイヤーの表示を切り替えられる

分野・使用技術

関連記事

関連アプリ