less than 1 minute read


いつもの世界を タテ ヨコ ナナメにのぞいてみてごらん 希望 探すなら

初めて娘にプレゼントしたDVDの歌詞。 日々、6才の子供に説明できているだろうか?

本記事の内容

  • ジュリア集合が☯️マークに見えた。
    • 「分けて分け合う」のたとえに使いたい。
  • 理解のために逆写像をJavaScriptで動かしてみた。
  • 四元数のステレオ投影もやってみた。
    • Vanilla JS + threejs

背景

最近、時代のエネルギーを「粒がリズミカルに重なり合い、統合する」ようなイメージで思考していた。

ジュリア集合の発散判定がふと頭に浮かんだ。

Julia set
動画GIF:Julia集合(模様はcの値で変わる)
参考:【ジュリア集合 - Wikipedia】


参考サイト:円を塗りつぶしてる”点”たちはどこからやってきたのか?

以下、私の理解。

  • ↓の映像はジュリア集合にあった点が、発散せずに「円の中に収まっている」様子の”逆再生”。
    • 動画の最後の複雑な模様は、そのまま100回くらい繰り返した場合。

参考サイトでは下記のような説明。

  • 円は漸化式の結果の総合であり、ジュリア集合はその起源
    • 動画の円上の点は、ジュリア集合の点を順方向に何度も反復した結果
      • それ以外の点は発散するので除外される
      • 反復計算:自乗と並行移動を繰り返す。
        # 反復(n = 0, 1, 2, …)
        for n in 0, 1, 2, …:
        z[n+1] = (z[n])^2 + c
        
  • 逆に言えば、「円に並んでいる各点」を逆写像すれば、もともとどのジュリア集合上の点から来たかがわかる。
    • 逆写像:円を作った過程を逆戻り
      • 定数cの分だけ引き戻し、ルートする(平方根を求める)、を繰り返す。

感想:

☯️陰陽マークのように見える。
円の分割(平方根による角度が半分になる)と反転コピー(マイナスの平方根)の箇所が。 image

発散しそうでしない境界で複雑な模様になる。
「境界が曖昧な地点」=「創造が生まれる土壌」という直感にまた一つ。

発散の判定には、ノルム(長さの絶対値)だけあれば良くて、でも、計算には角度(回転方向)が必要で、なので円として扱えてしまう。なので、描画平面と発散判定を同じ平面でできてしまう逆写像の理解に苦しんだ。

理解が曖昧なので、JavaScriptで円周からJulia集合への逆写像を動かしてみた。

2Dの逆写像App

Movie


3Dの逆写像App

2Dで見てたら、なんとなく、ドリフトは時間、発散と収束の境界、、、と思った。 なので、3Dでもやってみた。
が、思ったほどでも。。。

Movie

App

  • 動かし方
    • Runで開始します
    • マウスでドラッグするとカメラが回転します
    • 2D viewボタンで真上からの視点になります
    • うまく動かないとき or ウインドウサイズで動かしたい時はこちら

ジュリア集合:パイと粉砂糖の比喩

円をパイにたとえると、
パイの上に粉砂糖をばらまき、回転(=二乗)と傾き(=平行移動)を繰り返す。

  • 二乗操作(z → z^2):
    パイを高速で回転させると、粉砂糖の粒一つ一つは、パイの中心から見た向き(角度)が2倍になり、中心からの距離は二乗されるように飛び跳ねる。
  • 定数 c(平行移動):
    パイは常に一定方向にわずかに傾き続けるため、回転後の粉砂糖は毎回その傾き分だけまとめて平行移動。
  • 発散判定:
    回転と傾きの結果、パイの縁を越えて落ちた粉砂糖はこぼれて二度とパイの上には戻らない。

どの粒が最後まで残るかを見て、残った粒のもとあった場所が 充填Julia 集合に対応。 つまり、パイに残った粉砂糖は、ジュリア集合の位置にあった。

ChatGPT シェアリンク:「この比喩を解説して」

四元数のステレオ投影App

四元数のステレオ投影なら☯️陰陽マークに似てることを伝えられそう、、、な気がしたのでやってみた。


関連

  • 3D:Julia Sets of the Mandelbulb (8k)