Do wygenerowania paprotki w powyższej sekcji użyto czterech funkcji
o współczynnikach przedstawionych w tabeli poniżej (przekształcenie
generuje łodygę paprotki).
|
a |
b |
c |
d |
e |
f |
w1 |
0 |
0 |
0 |
0,17 |
0 |
0 |
w2 |
0,849 |
0,025 |
-0,025 |
0,849 |
0 |
3 |
w3 |
0,155 |
0,235 |
0,195 |
0,186 |
0 |
1,2 |
w4 |
0,155 |
-0,235 |
0,195 |
0,186 |
0 |
3 |
Iterowanie zaczynamy od punktu (0,0), ponieważ obraz końcowy nie zależy od wyboru punktu startowego. Łatwo policzyć, że po pierwszym kroku iteracji otrzymujemy 4 punkty, po drugim
, po k-tym
. I tu sprawa się komplikuje gdyż przy wzroście
ilości punktów robią się ogromne. Z pomocą przychodzi tzw. probabilistyczny sposób generowania obrazów.
Jeśli mamy
odwzorowań
to przyporządkowujemy każdemu z nich liczbę
, która będzie równa prawdopodobieństwu wylosowania odwzorowania
. Musi być przy tym zachowana równość
. Wybieramy następnie dowolny punkt płaszczyzny (u mnie punkt (0,0)), losujemy jedno z odwzorowań
a następnie przekształcamy ten punkt tym odwzorowaniem. Mówiąc ogólnie, każdy następny punkt jest obrazem punktu poprzedniego przekształconego przez jedno z wylosowanych odwzorowań.
Jeśli mamy
odwzorowań
to przyporządkowujemy każdemu z nich liczbę
, która będzie równa prawdopodobieństwu wylosowania odwzorowania
. Musi być przy tym zachowana równość
. Wybieramy następnie dowolny punkt płaszczyzny (u mnie punkt (0,0)), losujemy jedno z odwzorowań
a następnie przekształcamy ten punkt tym odwzorowaniem. Mówiąc ogólnie, każdy następny punkt jest obrazem punktu poprzedniego przekształconego przez jedno z wylosowanych odwzorowań.
W pracy dodatkowo generuję dolne partie obrazu na zielono (symulacja trawy), a górne na szaro (symulacja mgły).