Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Fraktale in PostScript Sebastian Redl Manuel Pöter Helmut Petritsch.

Ähnliche Präsentationen


Präsentation zum Thema: "Fraktale in PostScript Sebastian Redl Manuel Pöter Helmut Petritsch."—  Präsentation transkript:

1 Fraktale in PostScript Sebastian Redl Manuel Pöter Helmut Petritsch

2 | | Seite 2 Fraktale Künstliche oder natürliche Gebilde, geometrische Muster Erzeugt durch rekursive Ersetzungen z.B. Drachenkurve: F R oder F L R + R - - L + L - R + + L – Daraus resultiert + R - - L + + ( + R - - L + ) - - ( - R + + L - ) +

3 | | Seite 3 Verbesserungen Stack Overflow Exception bei der 13. Iteration Ersetzungsregeln generisch durch Verwendung von HashTable Optimierung bei der Verwendung von Winkelfunktionen /+ { ang rotate } def /- { ang neg rotate } def

4 Lösung 1 – Rekursives Ersetzen Problem: –Stacktiefe beschränkt (~ Elemente) –Arrays beschränkt (max Elemente)

5 Lösung 1 – Rekursives Ersetzen Ersetzung von R und L im Array durch Sub-Arrays statt einem Array mit vielen Element - viele Arrays mit wenig Elementen | | Seite 5

6 Ersetzungsfunktion /replaceDict << /R { [ /+ /R /- /- /L /+ ] } /L { [ /- /R /+ /+ /L /- ] } /+ { /+ } /- { /- } >> def /replFunc { << /arraytype { replFunc } /nametype { cvx exec } >> begin [ exch { dup type exec } forall ] end } def | | Seite 6

7 Lösung 2 – Direktes Zeichnen R und L sind rekursive Funktionsaufrufe. Für die letzte Rekursion wird ein Dictionary verwendet, in dem R und L Zeichenbefehle sind. /recurseDict > def /drawDict > def | | Seite 7

8 Generieren der Dictionaries /LSystem_Dict << /R { + R - - L + } /L { - R + + L - } >> def /recurseDict << LSystem_Dict { [ exch /drawRecurse cvx ] cvx } forall >> def /drawDict << /F { Zeichenbefehle } def LSystem_Dict { pop { F } } forall >> def | | Seite 8

9 Rekursion /drawRecurse { exch dup 0 eq { drawDict begin } if dup 1 sub 3 2 roll exec pop dup 0 eq { end } if } def /start { L } def recurseDict begin start end | | Seite 9

10 Danke für die Aufmerksamkeit Fragen?


Herunterladen ppt "Fraktale in PostScript Sebastian Redl Manuel Pöter Helmut Petritsch."

Ähnliche Präsentationen


Google-Anzeigen