next up previous contents
Next: Systém iterovaných funkcí IFS Up: L-systémy Previous: L-systémy

Způsob generování L-systémů

Deterministický bezkontextový L-systém je uspořádaná trojice: G=[V,P,S], kde
Determinismus tohoto L-systému pramení z podmínky, že v množině P nesmějí být dvě pravidla se stejnou levou stranou. Při přepisování tedy vždy přesně víme, které pravidlo pro přepis vybrat. Derivace ( $\Rightarrow$) řetězce $A \in V^*$ znamená paralelní přepsání všech symbolů $X \in A$ řetězce V z pravé strany pravidel z množiny P. Například první dvě derivace L-systému G: $G=[\{A,F,-,+\},$
$\{A \to F - - F - - F,F \to F + F - - F + F,+ \to +,- \to -\},A]$
se startovním symbolem A mají podobu: $A \Rightarrow F - - F - - F \Rightarrow F + F - - F + F - - F + F - - F + F - - F + F - - F + F.$ Poslední posloupnost symbolů získaná v poslední derivaci se ve druhém kroku geometricky interpretuje. K tomu se používá takzvaná želví grafika (turtle graphics), ve které želva reprezentuje pomyslné kreslící zařízení. Želva je definována svým stavem a tabulkou akcí. Stav se skládá ze dvou prvků, z polohy želvy a z její orientace. Želva čte sekvenčně řetězec a pomocí tabulky akcí interpretuje jednotlivé symboly jako příkazy. Pro úplné zadání tedy musíme přiřadit každému symbolu jeho význam.
symbol význam
F posun želvy dopředu
B posun želvy dozadu
+ natočení želvy doleva
- natočení želvy doprava
( uschování stavu želvy do zásobníku
) obnovení stavu želvy ze zásobníku


Pomocí těchto příkazů dovede želva kreslit různé rostliny, stromy, řeky atd. Záleží jen na vhodné volbě startovacího symbolu a přepisovacích pravidlech. Ukázky některých L-systémů jsou na obrázcích, kde je také ukázáno, jak se změní tvar fraktálu při různých počtech iterací (přepsání řetězce).
 
Figure: Ukázka L-systému - první iterace Sierpinského koberečku
\begin{figure}\hspace{4cm} \special{em:graph troj2.pcx}
\vspace{6cm}
\end{figure}


 
Figure: Ukázka L-systému - druhá iterace Sierpinského koberečku
\begin{figure}\hspace{4cm} \special{em:graph troj3.pcx}
\vspace{6cm}
\end{figure}


 
Figure: Ukázka L-systému - třetí iterace Sierpinského koberečku
\begin{figure}\hspace{4cm} \special{em:graph troj4.pcx}
\vspace{6cm}
\end{figure}


 
Figure: Ukázka L-systému - čtvrtá iterace Sierpinského koberečku
\begin{figure}\hspace{4cm} \special{em:graph troj5.pcx}
\vspace{6cm}
\end{figure}


 
Figure: Ukázka L-systému - pátá iterace Sierpinského koberečku
\begin{figure}\hspace{4cm} \special{em:graph troj6.pcx}
\vspace{6cm}
\end{figure}


 
Figure: Ukázka L-systému - šestá iterace Sierpinského koberečku
\begin{figure}\hspace{4cm} \special{em:graph troj7.pcx}
\vspace{6cm}
\end{figure}


 
Figure: Ukázka L-systému - Cantorovo diskontinuum
\begin{figure}\hspace{4cm} \special{em:graph cantor.pcx}
\vspace{6cm}
\end{figure}


next up previous contents
Next: Systém iterovaných funkcí IFS Up: L-systémy Previous: L-systémy
Tisnovsky Pavel
1999-05-30