IFS のおさらい
IFS(反復関数系)は、図形を縮小・回転・移動する写像をいくつか組にしたものです。図形を写像の数だけ縮小コピーして並べ、できた図形にまた同じことをする、という操作を繰り返すと、最初の図形が何であっても、決まった 1 つの図形(アトラクタ)に近づいていきます。シェルピンスキーの三角形は「1/2 に縮めて 3 か所に置く」、バーンスレイのシダは 4 つの写像でできています。
この繰り返しの様子は、シミュレーターの「ステップ表示」で 1 段ずつ見られます。IFS のアトラクタは、どこを拡大しても全体と同じ形の部品でできている、自己相似な図形です。
自然の植物や海岸線も、拡大すると似た形が現れます。ただし、本物のシダの葉は 1 枚ずつ少しずつ違い、IFS のシダのように全部が同じ形ではありません。スーパーフラクタルは、この「似ているけれど、同じではない」形を作るための考え方です。
スーパーフラクタルとは
スーパーフラクタルでは、IFS を 1 組ではなく何組か用意します。上のツールのプリセット A なら、シェルピンスキーの三角形の IFS と、その部品を上下逆さにした IFS の 2 組です。縮小コピーを作るたびに、どの IFS を使うかを乱数で選びます。
もし部品ごとに完全に自由に IFS を選ぶと、ばらばらなランダムフラクタルになります。逆に、どの部品にも同じ IFS を使えば、ふつうの決まった形のフラクタルです。Barnsley・Hutchinson・Stenflo は、この 2 つの間をつなぐものとして V-variable フラクタルを考えました。V は 1 以上の整数で、形のばらつきの度合いを決めます。V-variable フラクタルの集まりと、その確率分布をまとめたものがスーパーフラクタルです。
V の意味(V-variable)
V-variable フラクタルは、どの拡大レベルで見ても、部品の形が高々 V 種類しかない図形です。
- V = 1 では、同じ大きさの部品はすべて同じ形になります。論文では、このような図形を「均質な(homogeneous)ランダムフラクタル」と呼んでいます。
- V = 2 なら、同じ大きさの部品は 2 種類の形のどちらかです。
- V を大きくするほど部品の形の種類が増え、ばらばらなランダムフラクタルに近づきます。




V = 1 の図では、三角形の向きが段ごとにそろっています。ある段で「上下逆さ」が選ばれると、その段の部品はすべて逆さになるからです。V が大きくなるにつれて、部品ごとに向きが入り混じっていきます。ツールの「バッファ一覧」に並ぶ V 枚の画像が、その V 種類の形のもとになっています。
木のような形でも同じです。


生成のしくみ(バッファ法)
このツールでは、V 枚の画像(バッファ) を同時に更新して描きます。論文では、V 枚の「スクリーン」を使う方法として説明されています。
- 最初は、どのバッファも全面を塗りつぶした正方形にします。
- 新しいバッファ ()を 1 枚ずつ作ります。
- 使う IFS を、選ぶ確率に従って 1 つ選びます。
- その IFS の写像ごとに、元にするバッファを から 1 枚ずつ乱数で選びます。
- 選んだバッファを写像で縮小し、重ね合わせたものを とします。
- V 枚とも作り終えてから、 と入れ替えます。
- 2〜3 を、部品が 1 画素より小さくなるまで繰り返します。




- 写像 1 で B2 を縮小
- 写像 2 で B1 を縮小
- 写像 3 で B2 を縮小
どのバッファも、部品は V 枚のバッファのどれかを縮小したものです。そのため、どの段まで下っても、部品の形の種類は V を超えません。また、同じシードからは毎回同じ乱数が出るので、同じ設定なら必ず同じ画像になります。共有 URL にシードを入れているのはこのためです。
反復の回数は、いちばん縮小率の大きい写像を何回使えば 1 画素より小さくなるかから決めています(縮小率が 1/2 なら、512 画素で 12 回)。シダのように縮小率が 0.85 ほどある写像では、反復が多くなり、計算に時間がかかります。
決まった形とランダムな形の橋渡し
V = 1 は、IFS が 1 組だけならふつうの決まったフラクタルになり、IFS が何組かあれば段ごとにそろった形になります。反対の端は「V が無限大」で、部品ごとに独立に形が決まる、標準的なランダムフラクタルです。論文では、V を大きくしていくと、V-variable フラクタル(とその確率分布)が標準的なランダムフラクタルに近づくことが示されています。
つまり V は、規則正しいフラクタルと、ばらばらなランダムフラクタルの間を連続的につなぐつまみです。実際の植物は、枝や葉の形がすべて同じではないものの、似た形がくり返し現れます。V を少しずつ上げると、そのような「ふぞろいだけれど似ている」形に近づいていく様子を確かめられます。
フラクタル次元
プリセット A と B は、形が毎回違っても、フラクタル次元は同じになるように作ってあります。どちらも、すべての写像が縮小率 1/2 で、IFS ごとに 3 つずつです。どの IFS も、正方形を 4 等分したうちの 3 つの小さな正方形に、重ならないように写します。
すると、どのサンプルでも、 段目の部品はちょうど 個で、どれも 1 辺 の正方形の中に 1 つずつ収まります。1 辺 の箱で覆うと、箱の数は になるので、ボックスカウント次元は
です。V にもシードにもよりません。これは、論文で標準的なランダムフラクタル(V が無限大の場合)の次元を与える式 ( は IFS を選ぶ確率、 は縮小率)に、、写像 3 つを入れた の解とも一致します。
実際にツールで描いた画像を、画像のフラクタル次元を測るページと同じ 2 値ボックスカウント法で測ると、次のようになりました。
| プリセット | V | 平均 | 最小 | 最大 |
|---|---|---|---|---|
| A. 2つの三角形 | 1 | 1.584 | 1.578 | 1.589 |
| A. 2つの三角形 | 4 | 1.585 | 1.581 | 1.589 |
| A. 2つの三角形 | 16 | 1.585 | 1.582 | 1.590 |
| B. 欠けた正方形 | 1 | 1.596 | 1.576 | 1.611 |
| B. 欠けた正方形 | 4 | 1.589 | 1.577 | 1.606 |
| B. 欠けた正方形 | 16 | 1.589 | 1.581 | 1.604 |
60 枚すべてが 1.576〜1.611 の範囲に入り、理論値に近い値になりました。値が少しずつ違うのは、画素の大きさで形を区切って数えるため、細かい部分の数え方がサンプルごとに変わるからです。ツールの「この画像のフラクタル次元を測る」ボタンで、表示中の画像を同じ方法で測れます。
縮小率の違う写像が混ざっていると、事情は変わります。論文では、このような場合の次元が V によって変わりうることが、例で示されています。プリセット C〜E は相似変換でない写像を含むため、理論上の次元は示していません。
プリセットの作り方
- A. 2 つの三角形: シェルピンスキーの三角形 と、各部品を上下逆さにした の 2 組。
- B. 欠けた正方形: 4 分割した正方形から右上を除いた 3 つと、左下を除いた 3 つの 2 組。
- C. シダ: バーンスレイのシダ(シミュレーターと同じ係数)と、それを左右反転したもの。
- D. 樹木: 幹 1 本と枝 2〜3 本からなる、枝の角度や長さの違う 3 種類の木。このサイトで作った写像です。
- E. 葉が三角形のシダ: C の左右の葉の写像だけ、乱数で選んだバッファの代わりに、いつもシェルピンスキーの三角形を写すようにしたもの。葉以外は C と同じように V で形が変わります。
C〜E の写像は、すべての写像をまとめた IFS の図形が画像の枠に収まるよう、縦横同じ倍率で縮めて配置しています。こうしておくと、どのサンプルも枠からはみ出しません。
よくある質問
V を無限大にするとどうなりますか?
部品ごとに独立に形が決まる、標準的なランダムフラクタルに近づきます。Barnsley・Hutchinson・Stenflo の論文では、V を大きくしたときに、V-variable フラクタルとその確率分布が、標準的なランダムフラクタルに近づくことが示されています。このツールでは計算の重さのため、V は 32 までです。
点を打つカオスゲームで描けないのはなぜですか?
カオスゲームは、写像を 1 回ずつ乱数で選んで点を動かし、その跡を描く方法です。スーパーフラクタルの IFS をそのまま混ぜて点ごとに選ぶと、点ごとに別々の IFS を選ぶことになり、「1 枚のサンプル」を表しません。結果は、すべての写像を 1 つの IFS にまとめたときの図形に近づきます。そこでこのツールは、点ではなく画像(バッファ)を丸ごと写す方法で描いています。
IFS Studio のシミュレーターとは何が違いますか?
シミュレーターは、1 組の IFS が作る決まった図形(アトラクタ)を描きます。何度描いても同じ形です。スーパーフラクタルは、IFS を何組か使い、シードを変えるたびに違う形を描きます。シミュレーターの「スーパーフラクタルの 1 組にする」ボタンで、シミュレーターの写像をこのツールに持ってこられます。
同じ設定なのに、前と違う画像になりました。
シードが変わっていないか確かめてください。「もう 1 枚」を押すとシードが変わります。シード・V・確率・写像が同じなら、必ず同じ画像になります。共有 URL にはこれらがすべて入っているので、URL を開けば同じ画像を再現できます。
V を上げると、フラクタル次元は変わりますか?
プリセット A と B では変わりません。すべての写像の縮小率が 1/2 で数も同じなので、どの V でも理論値は log 3 / log 2 です(上の表のとおり、測っても同じくらいの値になります)。縮小率の違う写像が混ざっている場合は、V によって次元が変わることがあります。
参考文献
- M. F. Barnsley, *SuperFractals*, Cambridge University Press (2006). ISBN 978-0-521-84493-2
- M. Barnsley, J. E. Hutchinson, Ö. Stenflo, "A fractal valued random iteration algorithm and fractal hierarchy", *Fractals* 13(2) (2005), 111–146. arXiv:math/0312187
- M. F. Barnsley, J. E. Hutchinson, Ö. Stenflo, "V-variable fractals: Fractals with partial self similarity", *Advances in Mathematics* 218(6) (2008), 2051–2088. arXiv:0802.0064
- K. Falconer, *Fractal Geometry: Mathematical Foundations and Applications*, Wiley(初版 1990).