Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   L-System (https://www.delphipraxis.net/68490-l-system.html)

fwsp 30. Apr 2006 15:27


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: didcmp15.zip // 97 KB

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.

Zum Download

ps. Bei Generation besser nicht mehr als 5-7 eingeben, je nach Bildungsvorschrift, kann sonst ein wenig länger dauern.

Flare 30. Apr 2006 15:50

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

Klaus01 30. Apr 2006 15:54

Re: L-System
 
weitere Infos zu L-System gibts es hier -> http://de.wikipedia.org/wiki/L-System

Grüße
Klaus

Flare 30. Apr 2006 15:57

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

fwsp 30. Apr 2006 16:12

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.

Flare 30. Apr 2006 16:17

Re: L-System
 
Ich habe mich falsch ausgedrückt ^^

Dein Programm zeichnet erst und füllt dann die Leiste "Zeichenfortschritt"


Flare

fwsp 30. Apr 2006 16:21

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.

alzaimar 30. Apr 2006 16:23

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.

fwsp 30. Apr 2006 16:29

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...

Flare 30. Apr 2006 16:40

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 00:55 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz