フラクタル・エクスプローラー

再帰の深さを調整し、単純な規則から自己相似パターンが現れる様子を見てみましょう。

インタラクティブシミュレーションを読み込んでいます...

レッスン

理論 — フラクタル・エクスプローラー

フラクタル次元は、「次元」という語に拡大したとき細部がどう増えるかという意味を持たせ、それを繰り返しで作られた図形に当てはめたときに現れます。パネルは画面上の図形について次元を表示し、その数は整数ではありません。コッホ雪片は 1.262、シェルピンスキーの三角形は 1.585、カントール集合は 0.631。図形は線より多く、面より少なくありえます。このメニューにはそれが八つ入っています。

0.631 Cantor ≈1 tree 1.262 Koch 1.585 Sierpiński 1.893 fern 2 dragon · Lévy · Hilbert 0 a line a plane a dust

0 から 2 までのフラクタル次元の水平軸に、メニューにある八つの図形をそれぞれの次元の位置、線と面のあいだに配置した図。

  1. 0.631 のカントール集合が驚きです。次元 1 より下、点の塵よりは多く、線よりは少ない。全長はゼロでありながら、非可算無限個の点を含みます。
  2. 1.262 のコッホと 1.585 のシェルピンスキーは、「フラクタル」という語が作られたまさにその領域を占めます。本当に線と面のあいだであり、近似でも丸めでもありません。
  3. ≈ 1.893 のバーンズリーのシダは、平面を埋めることに迫りながら決して埋めません。値が近似なのは、四つの変換が重なるからです。
  4. 三つの構成がちょうど 2 に着地します — ドラゴン曲線、レヴィの C 曲線、そしてヒルベルト。埋めることに迫る曲線ではなく、極限では実際に埋めるのです。

各記号の意味

N
規則が一段ごとに自分自身の何個の複製を作るか。コッホは 1 本の線分を 4 本に、シェルピンスキーは 1 個の三角形を 3 個に置き換えます。
r
各複製がどれだけ小さいか。コッホは ⅓、シェルピンスキーは ½、レヴィの C 曲線は 1/√2 に縮小します。
D
パネルが表示するハウスドルフ次元 log N / log(1/r) — 複製の個数と縮小率を釣り合わせる指数です。
depth
画面上で規則が実際に何回適用されたか。7 で止まり、上のどの D も無限回の極限です。

公式の導き方

  1. すでに信頼している図形から始めましょう。線を半分にすると元に戻すには 2 個、正方形なら 4 個、立方体なら 8 個の複製が要ります。形は N = (1/r)^D で、D はそれぞれ 1、2、3 — 次元とは複製と縮小を結ぶ指数であり、この定義のどこにも答えが整数であれという要求はありません。
  2. D について解きます。N = (1/r)^D の両辺の対数をとると D = log N / log(1/r)。これがパネルの表示する式で、その各部分はすぐ上の作図規則の中に見えています。
  3. ページから規則を読み取って代入しましょう。コッホは 1 本の線分を長さ ⅓ の 4 本に置き換えるので N = 4、1/r = 3、つまり log 4 / log 3 ≈ 1.262。シェルピンスキーは log 3 / log 2 ≈ 1.585。どちらも整数ではなく、これは近似ではありません。図形そのものがそうなのです。
  4. では驚きのある場所で計算してみましょう。レヴィの C 曲線は 1 本を 1/√2 の 2 本に置き換えるので log 2 / log √2 = 2、ちょうど 2 です。ヒルベルトは 1 本を ½ の 4 本に置き換えるので log 4 / log 2 = 2。次元がちょうど 2 とは、これらが曲がりくねる曲線ではないということ。極限では面を埋めます。パネルが小数ではなく「空間充填」と書くのはそのためです。

表示の読み方

図形を切り替えて、個数の行が名前を変えるのを見てください。シェルピンスキーでは三角形、コッホでは線分、木では枝、カントールでは区間、ヒルベルトとシダでは点。これは飾りではありません。「いくつの部分か」は構成ごとに本当に別のことを意味しており、パネルはそれを一語に押し込めることを拒んでいます。どの個数も隣に印字された式と一致します。深さ 4 でシェルピンスキーは 81 = 3⁴、コッホは 768 = 3·4⁴、カントールは 16 = 2⁴、ヒルベルトは 256 = 4⁴、木は 31 = 2⁵ − 1。深さを 0 にしてから一段ずつ上げてみてください。個数の列こそが規則であり、目に見える形にされた算術です。

前提
複製が厳密であり、重なり合わないこと。D = log N / log(1/r) は厳密な自己相似性についての主張です。だからこそパネルはコッホとシェルピンスキーには対数の正確な比を表示し、バーンズリーのシダには ≈ 1.893、木には ≈ 1 と書きます。シダは比の異なる四つのアフィン変換で作られ、それらは重なります。木は枝の角度を変えれば次元が変わります。この波線は本当に働いています。
成り立たない場合
画面上のどれもフラクタルではありません。深さのスライダーは 7 で止まり、深さ 7 のコッホ曲線は 3·4⁷ = 49,152 本の直線分で、総延長は完全に有限 — 次元がちょうど 1 のありふれた多角形です。パネルのどの値も、描画が向かってはいるが決して到達しない極限であり、逆もまた同じです。空間充填曲線は、選べるどの深さでも面積ゼロしか囲みません。このページの正直な読み方は、あなたが見ているのは数列であり、フラクタルとはその数列が何のためにあるかだ、というものです。

ここにあるフラクタルはどれも複素多項式から来ていない。すべて規則の繰り返しである 🖖

ここにある八つの図形は、どれもマンデルブロ集合ではありません。複素数も使いません。いずれも置換によって作られます。線分を、より短い線分の配置で置き換え、その操作を繰り返すのです。深さのスライダーは、その繰り返し回数をそのまま表しています。この作り方から、次は直接求められます。コッホ曲線では、一本の線分を長さが3分の1の4本の線分に置き換えるので、次は log 4 / log 3 = 1.262 です。プリセットの深さ 4 では、曲線の長さはすでに最初の線分の (4/3)⁴ = 3.16 倍に達しています。シェルピンスキーの三角形は log 3 / log 2 = 1.585。カントール集合は log 2 / log 3 = 0.631 で、一次元よりも低い次元をもつ集合です。

一つの規則の繰り返しがすべてを生む 🖖

ここに現れる図形はすべて、プログラムが自分自身に対して適用するたった一つの命令から生まれます。フラクタルツリーの枝は単に二本の短い枝を生み出し、その一本一本が同じ規則を繰り返す——これが再帰です。深さを一つ上げると枝の数は倍になりますが、書いた規則そのものは決して変わりません。入れ子になった呼び出しはコールスタックに積み上がり、描画が終わると順に解かれていきます。

ドラゴン曲線が潜むジュラシック・パーク 🖖

このエクスプローラーのドラゴン曲線はハイウェイ・ドラゴンで、紙の帯を繰り返し折り、すべての折り目を直角に開くと得られます。マイケル・クライトンは1990年の小説『ジュラシック・パーク』にこれを取り入れました——七つの各章はこの曲線を一段深いイテレーションで示して始まり、ごくわずかな乱れが混沌へと拡大する様子を映し出します。数学者イアン・マルコムが選んだ、物語装置としての数学です。

この八つの曲線のうち三つは、次元がちょうど 2 である 🖖

同じ計算をメニューの残りにも当てると、奇妙なことが出てきます。ドラゴン曲線とレヴィ C 曲線はどちらも、一本の線分を長さ 1/√2 の二本で置き換えるので、log 2 / log √2 = ちょうど 2 です。ヒルベルトは一本を長さ半分の四本で置き換えるので、log 4 / log 2 = やはり 2 です。次元がちょうど 2 だということは、これらが平面をさまよう曲線ではないという意味です。無限の深さでは平面を埋め尽くし、ある領域のすべての点を通ります。だから深さスライダーが尽きるずっと前から塊のように見えるのです。1.262 のコッホは決してそうなりません。

シダは偶然によって描かれ、しかも毎回まったく同じものになる 🖖

バーンスリーだけが例外です。置き換えの規則ではなくカオスゲームです。ある点から始め、四つのアフィン変換のどれかを — 重み 1 %、85 %、7 %、7 % で — 無作為に選び、適用して点を打ち、繰り返す。そこに「シダ」と言っているものは何もないのに、現れるのはシダです。しかも訪れるたびに同じシダです。この道具は生成器を固定値 42 で初期化するので、選択の列が変わらないからです。さらに深い点は、変わっても構わないということです。反復関数系は、どの無作為な経路をたどってもその吸引子に収束します。無作為性は方法にとって不可欠で、答えにとっては無関係なのです。

全プロセスの詳細解説

  1. 深さ 5 のシェルピンスキーの三角形(243 ピース) 5 ステップ

    深さ5において、シェルピンスキーの三角形には243個のピースが存在する。これを導いた上で、元の面積の1%未満しか残らなくなる深さを求めよ。また、面積が消失していく間に周囲長がどうなるかも求めよ。

    1. 構成は単一の漸化式である。すなわち、すべての三角形が3つになる。これを解くには、それが等比数列であると気づくだけで十分である。

    2. 分割された各三角形の辺の長さは半分なので面積は4分の1になり、それが3つできる。この2つの要素を掛け合わせると、面積の法則が現れる。

    3. 深さ5において両者を評価する。面積は4分の1弱 — 23.7% — しか残っておらず、境界の長さはすでに元の7.59倍に達している。

    4. 次元は、規則のもとで 個数 × サイズD を一定に保つ指数によって定義される。半分の縮尺で3つの複製ができることから 3 = 2D が導かれ、図の描き方の細部は一切関係しない。

    5. 次に、残りの面積が1%になる深さを求めるため、面積の法則を解く。対数を計算すると 16.01 となるため深さは 17 であり、その頃には三角形の個数は 129 百万を超えている。ツールがそれよりずっと手前で停止するのはそのためである。

    解答

    深さ17であり、その時点で129,140,163個の三角形が存在する。この2つの量は互いに反対の方向へ変化し、いずれも幾何級数的に推移する。面積は (3/4)ⁿ としてゼロに向かって減少し、周囲長の合計は (3/2)ⁿ として限りなく増大する。面積がゼロに収束し、境界が無限大に向かう図形は、性質が悪いわけではない。単に1次元でも2次元でもないというだけである。そして、その2つを調和させる指数 log 3 / log 2 = 1.585 こそが、このような図形を認めたときに「次元」が意味せざるを得ない値なのである。なお、これは描かれた図形から計測されるものではなく、個数を数える規則のみから自然に定まるものである。

参考文献 (3)

例題

  • シェルピンスキー - 深さ 6 では 3⁶ = 729 個の三角形ができ、残る面積は元の 17.8%、境界線の長さは初めの 11.39 倍です。次元は log 3 / log 2 = 1.585。
  • コッホ雪片 - 深さ 4。各線分を長さが3分の1の4本に置き換える操作を4回繰り返すので、輪郭の長さは最初の線分の (4/3)⁴ = 3.16 倍です。次元は 1.262。
  • フラクタルツリー - 深さ 10 では、枝の数が各段階で倍になるため、3本の線分からなる規則によって 2¹⁰ = 1,024 個の枝先が描かれます。
  • ドラゴン曲線 - 深さ 12 なので、線分は 2¹² = 4,096 本です。次元はちょうど 2。無限に反復すると平面上の領域を埋めるため、塗りつぶされたように見えます。
  • カントール集合 - 次元が 1 未満なのはこれだけで、log 2 / log 3 = 0.631 です。深さ 6 では、残った 64 個の区間を合わせた長さは元の 8.8% です。
  • バーンズリーのシダ - 置換規則ではなく、カオスゲームで描きます。四つのアフィン変換を、それぞれ 1%、85%、7%、7% の重みで無作為に選びます。ツールは乱数生成器のシードを 42 に固定しているため、いつ開いても同じシダが現れます。
  • ヒルベルト曲線 - 一本の線分を、長さが半分の4本に置き換えるので、log 4 / log 2 = 2 です。深さ 5 では、1,024 個のセルがすでに正方形を覆っています。
  • レヴィC曲線 - 長さが元の 1/√2 の2本の線分に置き換えるので、log 2 / log √2 = 2。ドラゴン曲線と同じ理由で、次元も同じです。