第17回 フラクタル(1) 再帰図形

フラクタルは、数学史でみれば非常に新しい幾何学の概念です。40年ほど前にマンデルブロ氏によって着想された理論は、コンピュータの発達により視覚化され、コンピュータグラフィクスの一分野としてもポピュラーなものとなりました。

ここでは、コッホ曲線を題材に、自己相似形な図形をCinderella.2で描画することを考えます。

コッホ曲線は、ギャラリーのFractalsの中(上から4番目)にありますが、フラクタルのなかでは一番わかりやすいもの、あるいは基本的なものといっていいでしょう。

ギャラリーのコッホ曲線は、Cinderella.2の描画ツールだけを使って描かれています。自己相似形の名の通り、元になる図形(ジェネレータ)を相似変換して描画していきます。相似変換とは、ある比率で全体が相似になるように図形を写すものです。相似変換については、ユーザーズガイドの「相似変換」に詳しい説明がありますので一通り目を通すとよいでしょう。

さて、ギャラリーのコッホ曲線は次のようにして作られています。(もちろんこの後を読まずに解析してもよいです。一昨年、磐田南高校の磯部・横山の両君は自力で解析しました。ただし、マニュアルの翻訳という作業のあとで、Cinderella.2の操作法が頭に入ったあとのことです)

(1) 「線分を追加する」ツールボタンを選んで、線分AB-BC-CD-DEを描きます。まず ABを描いたら、Bをもう一度ポイントしてドラッグすればBCが描けます。

これが、元になる図形(ジェネレータ)です。

(2) 相似変換を定義します。このジェネレータ全体を、それぞれの線分の上に縮小して乗せるのが最初の手続きです。

まず、線分AB上に乗せることを考えると、点Aはそのまま点Aに、点Eが点Bに対応することになります。

モードメニューの「変換」から「相似変換」を選びます。「1つ目の元になる点を選ぶかこのモードを抜けます」とガイドが出ます。点Aを点Aに対応させるのですから、「1つ目の元になる点」はAです。Aをクリックします。つぎに、ガイドにしたがって、Aが写る点Aをクリックします。このとき出ている白い矢印は、元になる点がどこに写るのかをガイドする矢印です。

「2つ目のもとになる点」はE、それが写る点はBです。ガイドにしたがってクリックします。右上に、この相似変換を示すアイコンができます。

つぎは、線分BC上に乗せる相似変換です。同じようにして、A→B , E→Cを指定します。

3つめは、線分CD上に乗せる相似変換です。同じようにして、A→C , E→Dを指定します。

4つめは、線分DE上に乗せる相似変換です。同じようにして、A→D , E→Eを指定します。

これで、ジェネレータ全体の相似変換が定義できました。

試しに動作を確かめてみましょう。

ジェネレータ全体を囲むようにマウスをドラッグして、全体を選択します。マウスボタンを離したときにすべての点と線分が選択状態になれば OK。

全体を選択したら、どれかの変換アイコンをクリックしてみましょう。たとえば、2番目のアイコンをクリックするとBC上に全体が縮小されて写ります。

確かめたら、今の動作をキャンセルしておきましょう。取り消しツールをクリックします。

さて、4つの相似変換ができましたが、これを順にやっていくのではいかにも非能率。そこで、4つまとめてできるようにします。しかも、それを1回でなく何度も繰り返します。これを「反復関数系(IFS)」といいます。

まず、「要素を動かす」モードにして、右上の4つの変換アイコンを、シフトキーを押しながらクリックします。4つのアイコンが選択された状態になります。

モードメニューの「特別」から「反復関数系」を選びますと、右上の相似変換アイコンの下に"IFS0"というアイコンができ、同時にコッホ曲線が描かれます。

なお、ギャラリーのコッホ曲線は全部黒なのに、これは4色になっています。色はインスペクタで変えることができます。

【練習問題】

(1) 次の図を作ってみましょう。

(2) そのほか、いろいろなジェネレータでフラクタル図形を作ってみましょう。