1 ポイント 投稿者 GN⁺ 2024-07-30 | 1件のコメント | WhatsAppで共有

GPUで世界をシミュレーション

40億年を4分で

  • この記事では、GLSLフラグメントシェーダーで書かれた手続き型地球シミュレーションの実装を扱う
  • 地球に類似した惑星の全歴史を数分でシミュレーションし、毎秒60フレームで更新される

原始惑星

  • 45億年前、溶岩の塊として始まる物語
  • 初期の地球は小惑星衝突により、赤く熱い原始惑星だった
  • 手続き的に生成された地形マップを通じて地形の高さを計算する
  • さまざまな大きさの小惑星クレーターを生成し、これを通じて地形の高さを決定する
  • 小惑星クレーターは3Dグリッドで生成され、ハッシュ関数を使って不規則性を与える
  • 最終的に生成された高さマップは、初期地球の姿を再現する

プレートテクトニクス

  • 山脈、海溝、大陸地形を形成するためにプレートテクトニクスモデルを使用する
  • 初期速度でプレートのシード位置をランダムに生成し、時間の経過とともにプレートが成長する
  • プレートの境界で衝突が発生すると地形の高さが増加する
  • この衝突は熱侵食モデルを通じて周囲のピクセルへ拡散する

水理侵食

  • 自然地形の荒々しい見た目は、主に河川流域の形成によって決まる
  • 低解像度の地形マップでも河川をシミュレーションできるモデルを使用する
  • 各ピクセルは周囲8つのピクセルを調べ、最も大きな勾配方向へ水が流れる
  • 侵食はストリームパワー則によって駆動される
  • 水の流れと侵食の相互作用によって自然な河川流域が形成される

全球気候

  • 気候システムのシミュレーションは平均海面気圧(MSLP)マップに基づく
  • MSLPマップは陸地と海洋の位置、および緯度の影響を受ける
  • 季節変化に応じて気候パターンが変わるよう、MSLPマップを調整する
  • MSLPに基づいて風と気温を生成する
  • 風は高気圧から低気圧へ移動し、コリオリ効果を考慮する
  • 降水量は風ベクトル場を通じて海洋から陸地へ移動する

生命

  • 気候は惑星上の生命分布に影響を与える
  • 降水パターンと気温変化は植物の成長速度を決定する
  • 季節変化に応じて草食動物と捕食動物が移動する
  • Lotka-Volterra拡散モデルを使って、こうした動的変化をシミュレーションする

人類

  • 初期地球の序章が終わり、人類が惑星表面を植民地化する
  • 化石燃料を燃やし、大気中に炭素を放出する
  • 数百年のあいだに、人類はすべての化石燃料資源を消費し、大気中に5兆トンの炭素を放出する
  • その結果、温室効果が強まり、地球の平均気温が約10度上昇する
  • 赤道周辺の広い地域が極端な高温により人の住めない場所になる

GN⁺のまとめ

  • この記事は、手続き型地球シミュレーションの実装過程を詳しく説明する
  • GLSLフラグメントシェーダーを使って地形、プレートテクトニクス、水理侵食、気候、生命などをシミュレーションする
  • 人類の活動が地球環境に及ぼす影響をシミュレーションし、警鐘を鳴らす
  • 類似機能を持つプロジェクトとして、「SimEarth」と「Universe Sandbox」が推奨される

1件のコメント

 
GN⁺ 2024-07-30
Hacker Newsの意見
  • 「I don't know, Timmy, being God is a big responsibility」という短編小説が世界シミュレーションのテーマを扱っている
  • 文明に夜間照明があると化石燃料をすべて燃やし尽くして砂漠化する、という仮定は私たちの文明の軌跡だけに基づいている
    • 核戦争、クリーン核融合の開発、パンデミック、異星からの惑星侵略など、ほかの可能性もある
    • 気温上昇が乾燥と同一視されており、追加のCO2が植物に与える影響が考慮されていない
  • 1996/1997年に、プレートテクトニクスの移動、気温、高度、降水量をシミュレーションするCD-ROMゲームを開発した
    • 28年間にわたるコンピューティングのハードウェアとソフトウェアの進歩には驚かされる
  • 「Permutation City」というハードSF小説がこのテーマと深く関係している
    • この記事のタイトルを読んだとき、夢を見ているような感覚になった
  • 大学のエネルギー政策分析の授業で、MITが開発したEPPAモデルを使い、エネルギー貯蔵コストを10分の1にするなどのシミュレーションを行った
    • とても面白かったが、仕事では似たようなことを見つけられなかった
  • シミュレーションでは一部の詳細が省略されていることに言及している
  • なぜフラグメントシェーダーだけを使っているのか疑問に思う
    • 高さマップ用に頂点シェーダーも使えば、地表までズームインできる
  • Shadertoyのサンプルはページ上では0.6 FPSで再生されるが、ShadertoyのWebサイトでは60 FPSで問題なく再生される
  • ときどき、シミュレーションされた宇宙で生きるとはどんな感じなのかと考える
  • 動画全体に流れている音楽に聞き覚えはあったが、出典がわからなかった
    • AIが生成した音楽である可能性もある