反復関数系
反復関数系を用いたシダ状の画像計算の例を以下に示す。
最初に描画する点は原点 (x0 = 0, y0 = 0) であり、そこから次の点の座標を計算するため、次の4つの座標変換のうちの1つを無作為に選んで反復的に適用する。
xn + 1 = 0
yn + 1 = 0.16 yn
この座標変換は1%の確率で選択され、右図で緑色で示されている線分上の点の描画に相当する。
xn + 1 = 0.2 xn − 0.26 yn
yn + 1 = 0.23 xn + 0.22 yn + 1.6
この座標変換は7%の確率で選択され、右図の黒の四角形内の任意の点から赤の四角形内の図形への写像となる。
xn + 1 = −0.15 xn + 0.28 yn
yn + 1 = 0.26 xn + 0.24 yn + 0.44
この座標変換は7%の確率で選択され、右図の黒の四角形内の任意の点から濃い青の四角形内の図形への写像となる。
xn + 1 = 0.85 xn + 0.04 yn
yn + 1 = −0.04 xn + 0.85 yn + 1.6
この座標変換は85%の確率で選択され、右図の黒の四角形内の任意の点から青の四角形内の図形への写像となる。
最初の座標変換が茎の描画となる。2番目の座標変換は左下の葉、3番目は右下の葉の描画に相当する。4番目の座標変換は3番目までで描画される部分を縮小して若干傾けてコピーしたものであり、反復的な適用によってシダ全体が描画される。IFSの再帰的性質により、全体がそれぞれの葉を拡大したコピーになっている。なお、ここでは、座標の範囲を -5 <= x <= 5 と 0 <= y <= 10 としている。