![]() |
L-System
Hallo
Ich möchte meine Umsetzung eines L-Systems vorstellen. Es ist mit Delphi 7 PE geschrieben, benötigt zusätzlich noch Turtle-Komponenten: ![]() Anleitung: Es beherrscht folgendes Alphabet: 'F', 'f', '[', ']', '+', '-'. Bei 'F' wird eine Strecke gezeichnet. Bei 'f' wird eine Strecke ohne zeichnen gegangen. Bei '[' wird sich die Position und der Winkel gemerkt. Bei ']' wird die letzte Position und der dazu gehörige Winkel ausgegeben. Bei '+' wird ein Winkel in mathematische Richtung (gegen den Uhrzeigersinn) gegangen. Bei '-' wird ein Winkel gegen die mathematische Richtung (mit den Uhrzeigersinn) gegangen. ![]() ps. Bei Generation besser nicht mehr als 5-7 eingeben, je nach Bildungsvorschrift, kann sonst ein wenig länger dauern. |
Re: L-System
Hi fwsp!
Ich habe das Programm mal getestet. Als erstes muss ich loswerden, dass das eine Interessante Idee ist, dieses Programm. Nur wozu braucht man das? Außerdem bekomme ich ziemlich haufig AV wenn die Formel (anscheinend) nicht stimmt. Flare |
Re: L-System
|
Re: L-System
Weitere ... Bugs...
Der Zeichenfortschritt wird erst nach der Ausgabe angezeigt, sollte vielleicht nebenbei kommen :mrgreen: Aber mit diesem Programm kann man schöne Spielereien machen! Eine "Blume" habe ich schon... Flare |
Re: L-System
Die AV wird kommen wenn die Anzahl der ']' nicht gleich der Anzahl der '[' ist. Die Eingabe einer ungleichen Anzahl ist auch nicht allzu sinnvoll. :wink:
Die Abfolge des Programms ist so konzipiert, dass erst die Zeichenkette generiert wird und anschließend diese grafisch umgesetzt wird. Eine Gleichzeitigkeit hab ich nicht vorgesehen. |
Re: L-System
Ich habe mich falsch ausgedrückt ^^
Dein Programm zeichnet erst und füllt dann die Leiste "Zeichenfortschritt" Flare |
Re: L-System
To Flare: Setzt mal die Länge auf 2-5, dann wirst du sehen, dass er noch zeichnet. Vielleicht zeichnet er schon außerhalb der Zeichenfläche, dann setz mal die y-Koordinate auf -150, oder so.
|
Re: L-System
Sehr schönes Programm...
Versuche Folgendes: 1. Die Linien zeichnest Du als Rechteck der Breite B und Höhe H. Die Höhe variiert jeweils um einen Randomwert. 2. Jede Linie ist um +/- Randomwinkel (einige Grad) nach links oder gedreht. 3. Bei jeder Rekursionstiefe nimmt B und H um X Prozent ab. 4. Die Winkel der Verästelungen variieren auch um einige Randomprozente. 5. Einige Rekursionen werden nicht ausgeführt. Damit wirst Du dann wirklich realistische Bäume erstellen können. |
Re: L-System
to alzaimar:
ich mag das '...' nicht. :wink: Ich hab den Source ja mit zur Verfügung gestellt, du kannst das gerne so umsetzen... |
Re: L-System
Ok fwsp, du hattest recht. Ich glaube der hat irgendwelche Linien doppelt gezeichnet, sodass es so aussah als wenn er schon fertig wäre. :wall:
Aber es lag nicht an den Grenzen des Bildschirmes Flare |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz