磁石振り子のカオスベータ

3つの磁石の上の振り子が止まる先を描くカオスのフラクタル地図

このツールはまだ安定化中のベータ版です。結果に違和感があればお知らせください。

シミュレーションエンジン(WebAssembly)を読み込み中…

マップをタップするとその位置から振り子を放します

振り子の先は重力で中央に戻ろうとし、床の磁石はそれぞれ振り子を引き寄せ、空気抵抗が少しずつエネルギーを奪うので、最後はどれか一つの磁石の上で止まります。マップの各ピクセルは、その位置から静かに放したときに止まる磁石の色で、暗いほど止まるまでに時間がかかった点です。境界付近はわずかな違いで結果が変わるカオス領域で、拡大するほど細かな模様が現れます。マップをタップするとその初期位置からの実際の軌道を表示し、ドラッグで移動、ホイールや2本指で拡大できます。

磁石振り子のカオスについて

マップの1ピクセルが1回の実験です。その地点で振り子の先を静止状態から放し、0.02秒刻みの RK4 で最大120秒計算して、どの磁石の上で止まったかを調べ、その磁石の色で塗ります。止まるまでに時間がかかった場所ほど暗く、30秒以上かかると最も暗い色になります。

振り子の先の水平位置 p の運動方程式は p'' = −k·p − b·p' + Σ (mᵢ − p) / (|mᵢ − p|² + d²)^{3/2} です。k は重力による復元力、b は摩擦、d は振り子の先と磁石の面の高さで、磁石は半径1の円周上に等間隔に置かれます。磁石3個なら1番(赤)が真上、2番(緑)が左下、3番(青)が右下です。

観察1:1ピクセル隣から放すと

初期値(摩擦0.2、重力0.5、高さ0.25、磁石3個)で、円の中心の真下、半径の2倍の (0, −2) から放すと、振り子は近くの下側の磁石を通り過ぎ、最も遠い真上の1番磁石に23.6秒で止まります。右へ0.01だけずらした (0.01, −2) からだと、3番磁石に37.6秒で止まります。初期表示で0.01は1〜2ピクセルです。

マップをタップするとその地点からの実際の軌跡が描かれます。一色に広く塗られた場所では少しずらしても結果は変わりませんが、色が細い縞のように混ざった場所では隣のピクセルに移るだけで行き先が変わります。結果が入れ替わる点の集まり、つまり境界こそがこのマップの本体です。

観察2:摩擦を減らすと境界がにじむ

y = −1.2 の横線上で x = −2〜2 の1,001点から放し、隣り合う2点の行き先が違う回数を数えました。摩擦0.4で10回、0.2(初期値)で36回、0.1で424回、0.05で672回。摩擦が小さいと振り子は磁石の間を長く行き来し、そのたびに小さな差が増幅される機会が増えます。0.05では境界が広い帯全体ににじみ、事実上どこに行くか分からない領域になります。

摩擦0.05では1,001点のうち8点が120秒以内に止まりませんでした。こうした点は最後の位置から最も近い磁石の最も暗い色で塗られます。摩擦がごく小さいときに見える暗い斑点の一部は、計算時間を使い切った点です。

観察3:磁石の数と重力

同じ線上で磁石の数だけ変えると、境界をまたぐ回数は2個で6回、3個で36回、4個で132回、6個で504回でした。2個ならマップはほぼ半分に分かれて境界は単純ですが、数が増えるほど立ち寄れる磁石が増えて経路が複雑になります。

重力(復元力)k を0.2から1.5に上げると、同じ線の境界回数は24回から194回に増えました。中心へ引き戻す力が強いと、振り子が磁石の輪の内側を速く何度も横切るからです。

境界がフラクタルになる理由

振り子の行き着く先(アトラクター)は磁石の上の3つの静止点だけです。それぞれへ向かう初期点の集合を引き込み領域(ベイスン)と呼びます。2つの領域の境界上にぴったり乗った点はどちらにも行かず、不安定な軌道をたどります。境界の近くから出発した振り子はその不安定な軌道の近くをしばらくたどってから離れ、長くとどまるほど小さな差が増幅されて結果が分かれます。だから境界を拡大すると、さらに細い縞が現れます。

McDonald、Grebogi、Ott、Yorke(1985年)は、このようなフラクタル境界では初期位置を ε の精度で知っているとき、結果を外す確率が ε^α のようにしか減らないことを示しました。α が1より小さければ、精度を10倍にしても外れる確率は10分の1より少ししか減りません。ローレンツ・アトラクターのように終わりなくカオス的な系でなくても、必ず止まる振り子で「どこに止まるか」が予測できない、というのがこのマップの要点です。

このモデルが単純化していること

  • 振り子の先が平面上を動くとみなし、復元力を −k·p とした小振幅近似です。実際の振り子の先は球面上を動くので、外側から放すほど差が大きくなります。
  • 磁力は距離の2乗に反比例する点の引力を高さ d でなめらかにしたものです。実際の磁石は双極子で、距離の3乗以上の速さで弱まります。
  • 摩擦は速度に比例する線形の減衰だけです。
  • 「停止」は磁石から0.05以内・速さ0.05未満で判定します。高さを約0.37以上にすると平衡点が磁石から0.05より離れる(高さ0.4で約0.07、0.5で約0.14)ため、速さと加速度がともに0.05未満になった時点、つまり平衡点で止まった時点も停止とみなし、最寄りの磁石に分類します。高さを0.6近くまで上げると磁石の引力が弱まり、円の中心付近で止まる点も出てきます。そうした点の色は止まったときにわずかに近かった磁石というだけで、あまり意味はありません。
  • 円の中心 (0, 0) は理論上すべての力がつり合う点ですが、計算では浮動小数点の誤差がどちらかを選び、約65秒後に2番磁石で止まります。

例

0.01の差で別の磁石へ

入力
摩擦0.2、重力0.5、高さ0.25、磁石3個/出発点 (0, −2) と (0.01, −2)
結果
(0, −2) → 1番(真上)23.6秒/(0.01, −2) → 3番(右下)37.6秒

どちらの出発点も一色の領域ではなく、縞模様の境界上にある。

摩擦と境界の複雑さ

入力
y = −1.2、x = −2〜2 の1,001点
結果
境界をまたぐ回数:摩擦0.4 → 10、0.2 → 36、0.1 → 424、0.05 → 672

摩擦を半分にするたびに境界が急増する。

使い方

  1. 摩擦・重力・高さ・磁石の数を変えるとマップが再計算される。解像度「速い」でざっと見てから「高精細」で仕上げる。
  2. マップをタップして、その地点の軌跡・行き先の磁石・かかった時間を確かめる。
  3. 色が混ざった境界をドラッグで中央に持ってきて拡大し、さらに細い縞を探す。

よくある質問

なぜ一番近い磁石に行かないのですか?

振り子は静止状態から放たれ、復元力で中心に向かって加速します。速度がついたまま磁石の間を通るので、最初に近かった磁石を通り過ぎることがよくあります。磁石のすぐ近くで放したときだけ、そのまま吸い付きます。

高さを大きくすると振り子が磁石の真上で止まりません。

正常です。高さが大きいほど復元力が磁石の引力に勝ち、平衡点が磁石より中心側にずれます(高さ0.4で約0.07)。このときは平衡点で止まった時点を停止とみなし、最寄りの磁石に分類します。高さが0.6に近いと中心付近で止まる点も出ます(上の「単純化」参照)。

実物のおもちゃでもこうなりますか?

境界が複雑で出発点に敏感という性質は実物でも現れます。ただ実際の磁力や振り子の球面運動はこのモデルと違うので、マップの正確な形は一致しません。

拡大すると無限に新しい縞が出ますか?

数学的にはそうですが、ここでは0.02秒刻みと120秒の上限があるので、非常に深く拡大すると数値誤差が模様を左右するようになります。

関連ガイド

出典

基準日:

プライバシーとデータの扱い