見出し画像

インドラの真珠:反復関数系による植物モデル

 前の節で2つの相似変換によるスティックラー博士の像と極限集合を描きましたが、スティックラー博士のかわりに、1つの点をもとにして見出し画像の図ができます。各点を樹形のように結びました。枝分かれが自己相似形になっています。これはフラクタル構造です。 

リンク先をひらくと次の画面が出ます。前節「ちょっとした予告」のスティックラー博士が植物モデルに変わっています。いま,反復回数が2で,枝分かれが2つになっています。

画像9

反復回数を増やすと次のようになっていきます。

画像11

相似変換を定義する点A,B,C をドラッグして位置を変えると樹形の様子が変わります。

画像12

なお,いずれも赤い雲のような図は疑似的な極限集合です。

 これはWeb上で動かせるようにプログラムを書いていますが,Cinderellaには変換群や反復関数系を作るツールが用意されており,プログラムを書かなくても簡単にこの図ができます。
 ではやってみましょう。まず、4点A,B,C,Dをとります。点Dはインスペクタを使って、緑にしておきます。 

画像9

つぎに、2つの相似変換を定義します。(A,B) → (A,C) と (A,B) → (C,B) です。
この意味は、「線分ABをACに」対応させることで定義される相似変換と、「線分ABをCBに」対応させることで定義される相似変換ということです。
モードメニューの「変換」から「相似変換」を選び、「1つ目のもとになる点」としてAを選び(クリック)「1つ目の点が写る点」としてふたたびAをクリックします。点Aがハイライトします。
「2つ目のもとになる点」としてBを選び(クリック)「2つ目の点が写る点」としてCをクリックします。下の図は点Cをクリックする直前の図です。 

画像8

 同じようにして、1つ目をAからCに、2つ目をBからBに対応させます。
右上に2つの変換のボタンができます。
この2つの相似変換を使って、反復関数系により、極限集合を描きます。
まず、選択モード(動かすモード)で、シフトキーを押しながら、2つのアイコンを続けてクリックして2つのアイコンを選びます。
モードメニューの「特別」から「特別/反復関数系(IFS)」を選びます。 

画像7

 極限集合が描かれます。 

画像6

 つぎに、点Dを2つの相似変換からなる変換群によって次々に写した点を描画します。 
変換群を定義するために、Shiftキーを押しながら2つの相似変換のアイコンを選んで、モードメニューの「特別」から「変換群」を選びます。 

画像5

 変換群のボタンができます。上から4つ目です。
点Dを選んで、このボタンをクリックします。 

画像4

 点Dの像がたくさんできます。 

画像3

 そのまま、(Dの像がハイライトしている状態で)インスペクタを用いて、点の大きさを小さくしましょう。 

画像2

 これでできあがりです。 

画像12

4つの点を適当に移動するとさまざまな図が描かれます。 
ただし,CindyJSでは反復関数系,変換群のツールをサポートしていないので,これをWeb用に書き出すことはできません。


次節:反復関数系による極限集合の生成

インドラの真珠:目次 に戻る。