Az IFS-ről

Hogyan készültek az IFS rajzok?

Az IFS az angol Iterated Function System (iterált egyenletrendszer) matematikai szakkifejezés betűszava. Ez az írás egy iterált egyenletrendszert mutat be, főként matematikában járatlanok számára.

Az iteráció

Az első megértendő dolog az iteráció fogalma. A legegyszerűbb példa a növekvő számsor: 1, 2, 3, 4 ... A számsor úgy keletkezik, hogy a sorozat előző tagjához hozzáadunk egyet, és az lesz a sorozat következő tagja, és ezt ismételjük a végtelenig. Az egyesével növekvő számsort a matematikusok így írják le:

a(n+1) = an+1

Ezt a leírást nevezik az iteráció generátor-függvényének. A generátor-függvény, tehát egy olyan metematikai eljárás, ami egy számból egy másikat állít elő. Ha a generátor függvény eredményén újra, meg újra végrehajtjuk a generátor- függvényt, és a számokat sorba rakjuk, akkor iterációt hajtunk végre. Az iteráció számsort állít elő.

Az egyenletrendszer

Az iterált egyenletrendszer annyiban különbözik az iterált egyenlettől, hogy a generátorfüggvény egy egyenlet helyett egy egyenletrendszer. Az egyenletrendszerek jelen esetben nem nagyon érdekesek (egyébként igen), csak egyetlen egy rendszert mutatok be, azt, aminek az alapján a rajzok készültek.

Két dimenzióban három dolgot lehet csinálni egy ponttal: elforgatást, eltolást és skálázást. Ezeket transzformációnak nevezik a matematikusok, és az egyszerűség(?) kedvéért a háromféle transzformáció képletét egy egyenletrendszerbe foglalják össze, amit transzformációs mátrixnak neveznek. A transzformációs mátrix gyakorlatilag egy halom szám (esetünkben pontosan 6). Ezek a mátrixok nagyon sok mindenre jók, de a mi esetünkben egyetlen előnyük van: alkalmasak generátorfüggvénynek, miután egy pontból egy másikat képesek előállítani, és a kapott ponton újra végrehajthatóak.

Az előbbi egyszerű példánál maradva: ha egy pontot újra, meg újra eltolok keletre egy egységet, akkor az iteráció eredményeképp egy pontokból álló sort kapok, ami egy vízszintes vonal lesz, ha elég sűrűn vannak a pontok. Ha az egyes lépések között a pontot el is forgatom, egy spirál lesz a végeredmény.

De ezzel még nincs vége a dolognak, mert a fent vázolt módszerrel egyeneseket, köröket és spirálokat lehet rajzolni, és most ez nem elég. Az általam használt eljárásban nem egy transzformációs mátrix szerepel, hanem több. (A gyakorlatban 2 és 32 között). Az egyszerűség kedvéért mondjuk, hogy négy. Az egyes iterációk között a négy mátrix (generátor függvény) közül véletlenszerűen választok egyet. A kiválasztott mátrix határozza meg a pontsor következő tagját. (Olyan ez, mintha a növekvő és a csökkenő számsort "összekeverném", néha hozzádnék egyet, néha elvennék egyet az előző tagból)

De még ezzel sincs vége a dolognak. A különböző mátrixok valószínűsége nem egyforma, a négy közül az egyik gyakrabban fordul elő, mint a másik. Matematikailag ez minden.

A rajzok

Hogyan lesznek ebből rajzok? A rajzok voltaképpen pontsorok. Az első pont mindig a rajzlap közepén van, azután a bemutatott módszerrel pontok hihetetlen tömege rajzolja meg az ábrát. Tónusok úgy keletkeznek, hogy a rajzlap egy pontja nemcsak fekete, vagy fehér lehet, hanem a szürke 255 árnyalatát veheti fel. Az első találatnál a pont az első árnyalatot kapja, a másodiknál a másodikat, és így tovább.

Az eljárás nagyon számításigényes, a 100 rajz elkészítéhez több (igaz, nem valami fényes) számítógép dolgozott (kisebb- nagyobb) megszakításokkal hat hónapig.

Tér

A felvázolt eljárás térben is használható. Különbség csak a transzformációs mátrixok hosszában mutatkozik. A pontok térben helyzekednek el, az eredmény fizikai megjelenítése nehéz (de érdemes) feladat. Itt tölthető le a három dimenziós IFS-halmazokat generáló és megjelenítő szoftver.

Művészet