2 ポイント 投稿者 GN⁺ 2025-11-01 | まだコメントはありません。 | WhatsAppで共有
  • Three.js を活用して 奇妙なアトラクタ(Strange Attractors) を可視化したプロジェクトで、単純な数学方程式から複雑で美しいパターンが生成される過程を示している
  • 力学系(Dynamical Systems)カオス理論(Chaos Theory) の基本概念を説明し、時間とともに変化するシステムの状態と、その進化を決定するルールを中心に構成されている
  • 奇妙なアトラクタ は、フラクタル構造、初期条件に対する鋭敏性、非周期的軌道、カオスの中の秩序という4つの特徴で定義される
  • バタフライ効果 を Thomas Attractor の可視化で示し、パラメータ a のわずかな変化がまったく異なるパターンを生み出す過程を提示
  • GPU ベースの ピンポンレンダリング(ping-pong rendering) 技法を使って数千個の粒子を効率よく計算・レンダリングし、リアルタイム可視化を実現

力学系とカオス理論

  • 力学系 は時間とともに変化する現象を数学的にモデル化する方法で、惑星の運動、人口増加、株式市場などさまざまな例を含む

    • システムの取りうるすべての状態を表す 位相空間(Phase Space) と、ある状態から次の状態へ移す ダイナミクス(Dynamics) で構成される
    • たとえば人口成長モデルでは、人口規模と成長率が位相空間の状態を成し、出生率・死亡率・環境収容力などがダイナミクスを決定する
  • カオス理論(Chaos Theory) は予測不可能なシステムを研究する分野であり、自然界の多くの現象がこのような 非線形で鋭敏なシステム に属する

    • ルールは存在していても、不完全な情報のために予測が不可能になる現象を説明する
    • 初期条件の小さな違いが結果を大きく変える バタフライ効果 が代表的な特徴

アトラクタ(Attractor)と奇妙なアトラクタ(Strange Attractor)

  • アトラクタ(Attractor) は、システムが時間の経過とともに収束する状態の集合で、たとえば振り子の静止点がこれに当たる

    • アトラクタへの収束は 安定性エネルギー散逸(Dissipation)収縮(Contraction) などの要因によって生じる
  • 奇妙なアトラクタ(Strange Attractor) は、複雑な非線形方程式により予測不可能な軌道を示すアトラクタで、次のような特徴を持つ

    1. フラクタル構造: さまざまなスケールで繰り返される複雑なパターン
    2. 初期条件への鋭敏性: 小さな変化がまったく異なる結果につながる
    3. 非周期的軌道: 同じ経路を繰り返さない
    4. カオスの中の秩序: 無作為に見えても内部に一定の構造が存在する

バタフライ効果と Thomas Attractor の可視化

  • バタフライ効果 は小さな変化が長期的に大きな差を生む現象で、「中国の蝶の羽ばたきがカリブ海のハリケーンを引き起こす」という比喩で説明される
  • Thomas Attractor のパラメータ a の値を 0.10、0.13、0.19、0.21 などに変えると、粒子軌道と全体形状が完全に変わる
  • 初期状態を cubesphere surface に変えると粒子は異なる経路をたどるが、最終的には同じアトラクタ状態へ収束する

実装の詳細

  • 可視化は Three.js を使用し、多数の粒子を GPU 上で直接計算・レンダリングする
  • ピンポンレンダリング(ping-pong rendering) 技法により CPU と GPU 間のデータ転送を最小化し、2つの フレームバッファオブジェクト(FBO) を交互に使用する
    • pingpong バッファがそれぞれ現在の状態と次の状態を保存
    • シェーダープログラムが各粒子の位置をアトラクタ方程式に従って更新
    • 毎フレームごとにバッファを切り替え、新しい粒子状態をレンダリングする

参考および追加資料

  • 関連資料として Maxim の Attractor 可視化Wikipedia: AttractorList of Chaotic MapsWebGLFundamentals: Ping Pong Rendering などが引用されている
  • 追加の例として chaoticatmospheres.comdynamicmath.xyzReddit r/generative などで 3D アトラクタ可視化の事例を紹介
  • ブログの GitHub Discussion ページでフィードバックを受け付けており、今後ブログへ統合予定

まだコメントはありません。

まだコメントはありません。