磁気振り子カオスシミュレーター 戻る
カオス・非線形力学

磁気振り子カオスシミュレーター

3個の磁石の上を揺れる振り子の最終状態を色で塗り分けたフラクタル吸引盆を描画します。初期条件のわずかな違いが全く異なる結果をもたらすカオスの美しさを体験してください。

パラメータ設定

ダンピング係数
磁石強度
振り子長さ
m
磁石の高さ (床面)
解像度
px
磁石1 (赤)
磁石2 (緑)
磁石3 (青)
計算結果
現在位置 X
現在位置 Y
速度 |v|
捕捉された磁石
メイン

キャンバスをクリックして任意の初期位置から振り子を放す。吸引盆はRK4で各グリッド点の収束先を計算して描画します。

理論・主要公式

$$\ddot{x} = -\frac{g}{L}\sin x - b\dot{x} + \sum_{i=1}^{N} F_{m,i}$$

運動方程式:\(b\) 減衰係数、\(F_{m,i}\) は第 \(i\) 番目の磁石から受ける力

$$F_m \propto \frac{1}{r^2}, \quad r = \sqrt{(x-x_m)^2 + h^2}$$

磁気力の近似:\(r\) 振り子と磁石の距離、\(h\) 磁石の高さオフセット

$$\lambda = \lim_{t\to\infty}\frac{1}{t}\ln\frac{\|\delta(t)\|}{\|\delta(0)\|}$$

リアプノフ指数 \(\lambda\):\(\lambda>0\) でカオス的挙動を示す

磁気振り子カオスシミュレーターとは

🙋
このシミュレーターで「カオス」ってどういうことですか?普通の振り子と何が違うんですか?
🎓
大まかに言うと、ほんの少しのスタート位置の違いで、振り子が最終的にどの磁石に吸い寄せられるかが、まったく予測できなくなる現象だよ。普通の振り子は規則的な動きだけど、これは3つの磁石が引っ張り合う「非線形」の力が働くから、複雑な動きになるんだ。上の「初期角度」スライダーをほんの0.1度だけ動かして、軌跡がどう変わるか確認してみて。
🙋
え、本当に!背景のカラフルな模様(吸引盆)は、その「どの磁石に落ち着くか」を色分けした地図なんですか?
🎓
その通り!赤い点からスタートすれば赤い磁石に、青い点からなら青い磁石に落ち着く、という初期条件の地図だ。面白いのは、この色の境界線が「フラクタル」になってること。シミュレーターで「減衰係数」を小さくしてエネルギーを保つと、この境界線がより複雑で美しい模様になるよ。拡大しても同じ模様が続くんだ。
🙋
なるほど!でも、コンピュータはどうやってこんな複雑な動きを正確に計算してるんですか?
🎓
このシミュレーターは「4次のルンゲ・クッタ法(RK4)」という高精度な数値積分法を使っているんだ。オイラー法のような単純な方法だと誤差が蓄積してすぐに現実とずれてしまうけど、RK4は1ステップで4回計算して平均を取るから、長時間のシミュレーションでも信頼できる軌道が描ける。実務のCAEでも、この手法は振動解析などでよく使われるんだよ。

物理モデルと主要な数式

振り子の先端(質量 m)に働く力は、重力、空気抵抗による減衰力、そして3つの磁石からのクーロン力に近い斥力を合わせた引力です。運動は2次元平面内で記述され、ニュートンの運動方程式に従います。

$$ m\ddot{\mathbf{r}}= -mg\hat{\mathbf{y}}- \gamma \dot{\mathbf{r}}+ \sum_{i=1}^{3}\frac{k(\mathbf{r}- \mathbf{r}_i)}{(||\mathbf{r}- \mathbf{r}_i||^2 + \epsilon^2)^{3/2}}$$

ここで、$\mathbf{r}$は振り子先端の位置ベクトル、$\mathbf{r}_i$は磁石iの位置、$g$は重力加速度、$\gamma$は減衰係数(シミュレーターのパラメータ)、$k$は磁気力の強さ、$\epsilon$は特異点(振り子が磁石と完全に重なる)を防ぐ小さな正則化パラメータです。

この2階の微分方程式は、状態変数を位置と速度に分けることで、1階の連立微分方程式系に変換され、RK4法で数値的に解かれます。

$$ \frac{d}{dt}\begin{bmatrix}\mathbf{r}\\ \dot{\mathbf{r}}\end{bmatrix}= \begin{bmatrix}\dot{\mathbf{r}}\\ \frac{1}{m}\left( -mg\hat{\mathbf{y}}- \gamma \dot{\mathbf{r}}+ \sum_{i}\mathbf{F}_{mag,i}\right) \end{bmatrix} $$

この形式は「状態空間表現」と呼ばれ、コンピュータによる数値シミュレーションの標準的な形です。右辺の力の計算が非線形であることが、カオス的振る舞いの根源です。

よくある質問

色は振り子が最終的に停止した磁石の位置を示します。各磁石(3個)に異なる色が割り当てられており、初期位置によってどの磁石に引き寄せられるかが変化する様子を可視化しています。
減衰係数を小さくすると振り子の動きが長く続き、カオス的な挙動が強調されます。磁力を強くすると吸引盆の境界が複雑になり、フラクタル模様がより鮮明になります。初期値のわずかな違いが結果に大きく影響します。
解像度を下げる(ピクセル数を減らす)と計算量が減り高速化します。また、シミュレーションの最大時間ステップを短く設定するか、描画範囲を狭くすることでも処理が軽くなります。
簡略化されたモデルであり、空気抵抗や磁力の近似を含むため定量的な正確さはありません。しかし、カオス理論の教育的なデモンストレーションとして、初期条件敏感性やフラクタル構造の理解に役立ちます。

実世界での応用

非線形力学・カオス理論の教育・研究:初期値敏感性やフラクタル吸引盆といった抽象的概念を、視覚的で直感的に理解するための最も優れたデモンストレーションの一つです。研究室での教材として広く用いられています。

複雑系のモデリング:気象予報、株式市場の変動、生態系の個体数変動など、多数の要素が非線形に相互作用する系の挙動を理解するための単純化されたモデルとして、考え方の基礎を提供します。

CAEにおける非線形動解析:自動車のサスペンションや航空機の着陸装置など、複数の安定状態を持つ可能性のある機械システムの動的挙動をシミュレーションする際の基礎理論が応用されます。収束先が初期条件に敏感な系の設計では、特に注意が必要です。

芸術・デザイン:フラクタル吸引盆が生み出す無限に複雑で美しい模様は、デジタルアートやグラフィックデザインのインスピレーション源としても利用されています。

よくある誤解と注意点

このシミュレーターを使い始めるとき、いくつか気をつけてほしいポイントがあるよ。まず、「初期位置をほんの少し変えると結果が大きく変わるから、計算は超精密でなければならない」という誤解だ。確かに初期値敏感性はカオスの核心だけど、シミュレーション自体の数値誤差も「別の初期値」とみなされてしまう。だから、計算手法(このツールの場合はRK4)と時間刻み(Δt)の選択が特に重要。例えば、Δtを0.01秒から0.1秒に粗くすると、見た目の軌道がガラリと変わり、本来の「決定論的カオス」ではなく「数値誤差によるカオス」を観察することになってしまう。実務でも、メッシュサイズや時間刻みを荒くしすぎて非物理的な振動を生み出してしまう落とし穴があるんだ。

次に、パラメータ設定のバランス。減衰係数γをゼロに近づけるとエネルギーが保存されて複雑で美しい軌跡が描けるけど、現実の物理系では空気抵抗など必ず減衰は存在する。逆にγを大きくしすぎると、振り子はすぐに動きを止めてしまい、カオスの面白さが半減する。例えば、質量m=1、磁力k=1000の系では、γ=0.1〜0.5あたりが、ほどよい減衰と複雑な挙動のバランスポイントになることが多い。実世界のCAEでも、ダンパーの減衰係数を現実離れした値に設定すると、シミュレーション結果が実際の試験データと合わなくなる典型例だね。

最後に、「このシミュレーションは完全にリアル」と思わないこと。ここでの磁石の力のモデルは、現実の磁気双極子間の力を完全には再現していない簡略化モデルだ。パラメータεは計算を安定させるための「細工」でもある。これは、CAEで複雑な現象をまずは理解しやすい線形ばねモデルで近似することと共通する考え方。完璧な再現より、現象の本質を抽出することが第一歩なんだ。

使い方ガイド

  1. 減衰係数(s-damp)を0.2~0.5の範囲で設定し、磁石数(s-magNum)を3~5個選択します
  2. 振り子長さ(s-len)を0.5~1.0m、磁石強度(s-mag)を0.5~2.0Tの範囲で入力してシミュレーションを実行します
  3. 初期高さ(s-mh)を段階的に変更しながら最終吸引盆を観察し、フラクタル境界の形成を確認します

具体的な計算例

長さL=0.8m、質量m=100gの振り子に減衰係数c=0.3、磁石5個・強度B=1.2Tを配置した場合、初期高さh=0.6mから放出すると約3.2秒後に特定磁石へ収束します。初期高さをh=0.61mへ微小変化させると異なる磁石に吸引され、カオス領域では初期値鋭敏性により予測不可能な軌跡が生成されます。減衰が弱い(c=0.1)場合、複雑なフラクタル吸引盆が形成されます。

実務での注意点