Pflanzenkreation durch L - Systeme
Übersicht

![]() |
NoobodyBetreff: Pflanzenkreation durch L - Systeme |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da ich mich seit längerer Zeit für Fraktale, insbesondere ihre Darstellung durch L - Systeme interessiere, bin ich vor kurzem auf das Buch The algorithmic beauty of plants (PDF) gestossen.
Es behandelt die Darstellung von Pflanzen durch sogenannte Lindenmayer - Systeme. Ein Lindenmayer - System ist eigentlich nichts anderes als ein String, dessen Buchstaben nach bestimmten Regeln durch andere ersetzt werden. Der resultierende String wird wieder nach den Regeln buchstabenweise ersetzt, dessen resultierender String wird wieder ersetzt und so weiter. Die Buchstaben im String werden nachher als Anweisungen interpretiert, wie die Pflanzen gezeichnet werden sollen - wie genau das geschieht, sollte man auf Wikipedia nachlesen, wenn man sich dafür interessiert. Mein Programm zeichnet vier verschiedene Pflanzen mithilfe des Lindenmayersystems. Ich kann nur empfehlen, ein wenig mit dem Startstring und den Regeln rumzuspielen - ganz tolle Kreationen kann man ja hier posten ![]() Der Code: BlitzBasic: [AUSKLAPPEN] Const GWIDTH = 800 Die Generation des L - Systems kann man mit den Pfeiltasten hoch/runter ändern. Standardmässig steht die Generation auf 5, wo die Pflanzen am besten aussehen. Höhere Werte benötigen eine extrem lange Berechnungszeit, daher nicht wirklich zu empfehlen. Ein kleiner Screenshot: ![]() L - Systeme gibt es übrigens auch für 3D, wenn auch komplizierter. Ich arbeite gerade an der Umsetzung einer 3D - Pflanze. Ich bin gespannt auf das Ergebnis ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
- Zuletzt bearbeitet von Noobody am Sa, Mai 02, 2009 10:03, insgesamt einmal bearbeitet
FWeinbehemals "ich" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Machst du auch noch was anderes als Coden ?
Sieht wieder super aus (habe sowas mal für einen BCC gemacht) In 3D währe das bestimmt sehr cool. mfg ich |
||
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs |
![]() |
Chrise |
![]() Antworten mit Zitat ![]() |
---|---|---|
sowas ist toll!
Das ganze in 3d wäre super! Vll auch noch mit Auto-Textur Koordinatenberechnung? xD Machst du keine Picknickerpause mehr?^^ |
||
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet. |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Noobody is on a coding spree!
nette sache, das ganze^^ schau nur, dass coden ned rein zu deinem leben wird ![]() |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
MikeDee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn man sich den Code so ansieht, sieht es gar nicht so kompliziert aus. Bestimmt werde ich es irgendwann, für irgendwas brauchen. Ich liebe solche sachen^^ | ||
Nicht wenige benutzen die Anonymität des Internets um berühmt zu werden. |
![]() |
Chrise |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn das ganze denn in 3D umgesetzt werden würde, fällt mir gerade so auf, könnte man wunderbar Korallenriffe nachbilden. Allerdings wären Low-Polys dafür dringend notwendig. Könnte mir das aber als recht schön vorstellen, besonders für Unterwasserprojekte. | ||
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet. |
![]() |
MikeDee |
![]() Antworten mit Zitat ![]() |
---|---|---|
die 3D umsetzung in kombination mit Voxel währe doch auch was. | ||
Nicht wenige benutzen die Anonymität des Internets um berühmt zu werden. |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Voll toll !! ![]() |
||
![]() |
kriD |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn du das echt in 3D umgesetzt bekommst, wirst du reich ![]() wird zumindest auf manchen pages angeboten, und bäume sind da meißt am teuersten... ich muss sagen, was du hier im (fast) tagesrythmus ablieferst, ist echt mehr als impressive! hut ab lg kriD EDIT: sehe ich das richtig, dass -wenn man eine "baumstufe" hochschaltet- einfach nur der teil der letzten "baumstufe" nochmal an den vorherigen teil drangesetzt wird (halt ein wenig verzweigter, aber ansonsten von der Form her identisch)? |
||
Wenn ich du wäre, wäre ich lieber ich! |
![]() |
CypressArt |
![]() Antworten mit Zitat ![]() |
---|---|---|
wow! das sieht ja mega aus..und wenn das in 3D möglich wird!!
*gespanntbin* |
||
(no comment) -> Google Search Bot!! |
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Montag: Physik Engine schreiben
Dienstag: Ego Shooter mit Taktikelementen Mittwoch: Pflanzensysteme Donnerstag: Seit 100 Jahren ungelöstes Mathematisches Problem lösen Freitag: Entspannen (höchstens ein, zwei selbstständig lernende Ki's) Samstag + Sonntag: Hardwareunterstüzte Gedankenkontrolle Quizfrage: Wessen Wochenplan stelle ich dar? ![]() BTW: Super Programm! lg |
||
WIP: Vorx.Engine |
![]() |
MikeDee |
![]() Antworten mit Zitat ![]() |
---|---|---|
kurz und knapp: Noobody entwickelt Skynet ![]() |
||
Nicht wenige benutzen die Anonymität des Internets um berühmt zu werden. |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
kriD hat Folgendes geschrieben: sehe ich das richtig, dass -wenn man eine "baumstufe" hochschaltet- einfach nur der teil der letzten "baumstufe" nochmal an den vorherigen teil drangesetzt wird (halt ein wenig verzweigter, aber ansonsten von der Form her identisch)?
Ganz so einfach ist es nicht. Es wird nicht einfach der vorige Teil nochmals angesetzt, sondern es werden einzelne Seiten oder Knoten durch kleinere Bausteine ersetzt (Edge Replacing/Node replacing). Dadurch erhält man zwar sich wiederholende Strukturen, allerdings komplexer als durch neu-Ansetzen. Wenn du dich näher dafür interessierst, kann ich den Wikipediaartikel nur empfehlen. Fraktale im Allgemeinen sind wirklich interessant. Ich habe mich heute mal an eine kleine Version in 3D gewagt und bin schon relativ zufrieden mit dem Ergebnis: ![]() Der Code: BlitzBasic: [AUSKLAPPEN] Const GWIDTH = 800 Mit Pfeiltasten links/rechts dreht man die Kamera und mit hoch/runter steuert man die Generation (Achtung: Eine Generation > 7 führt zum MAV bei RenderWorld). Der erstellte Strauch ist sowas von High-poly, das könnte so nie in einem Spiel eingesetzt werden ![]() Als nächstes werde ich mich an Blumen und Bäumen versuchen, um auch mal komplexere Strukturen zu Gesicht zu bekommen; verschiedene Blätterformen sind ebenfalls interessant. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
KaDuZa |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
großes lob meiner seits,
ich finde es gut das sowas nicht immer nur verschärbelt wird sondern wie früher, wo noch alles frei war, open source gestellt wird... ![]() @noobody, darf ich fragen wie lange du schon programmierst?, eventuel auch noch in anderen sprachen? |
||
![]() |
MikeDee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Respekt, bei dir sehen die Codes auch immer so verständlich aus. Ich glaub, wenn ich mal programmieren kann, dann versuch ich daraus ein "Wie-wächst-ein-Baum-Simulator" zu machen. Bin eh zurzeit auf dem Simulatortrip, zurzeit geistert in meinem Hinterkopf ein Wettersimulator rum^^. Die Fertigstellung wird aber warscheinlich erst, sagen wir, 2015 sein...oder später ![]() |
||
Nicht wenige benutzen die Anonymität des Internets um berühmt zu werden. |
![]() |
Chrise |
![]() Antworten mit Zitat ![]() |
---|---|---|
sehr schönes Ergebnis!
Wieviele Vertices braucht jetzt ein so ein Baum auf 7. Generation? |
||
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet. |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
KaDuZa hat Folgendes geschrieben: @noobody, darf ich fragen wie lange du schon programmierst?, eventuel auch noch in anderen sprachen?
In Blitz Basic so zweieinhalb Jahre, vorher habe ich noch ein wenig mit Visual Basic Kontakt gehabt, aber nicht wirklich ernsthaft. Im letzten halben Jahr habe ich dann vermehrt in C programmiert, aber Blitz Basic ist nach wie vor mein Favorit ![]() Chrise hat Folgendes geschrieben: Wieviele Vertices braucht jetzt ein so ein Baum auf 7. Generation?
Horrend viele *kicher* Genau weiss ich das nicht, aber damit der Strauch für ein Spiel verwendbar würde, müsste man das Mesh noch stark optimieren. Der Strauch war aber auch nicht viel mehr als ein kleiner Test. Heute habe ich mal eine kleine Blume gemacht. Sie wurde leider nicht ganz so schön wie beabsichtigt, aber immerhin hat es mir geholfen, L - Systeme in 3D ein wenig besser zu verstehen. Das Mesh ist schon ein wenig optimierter als der Strauch von vorhin, allerdings noch längst nicht gut genug ![]() Für Bäume müsste ich mir dann noch was überlegen. Bild: ![]() Der Code: BlitzBasic: [AUSKLAPPEN] Const GWIDTH = 800 Bedienung wie gehabt. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
CypressArt |
![]() Antworten mit Zitat ![]() |
---|---|---|
sieht ja stark aus!! *kompliment*
jetzt fehlt nur noch eine Routine um die Pflanzen in B3D zu "importieren".. ![]() Oder als Add-On ? bin gespannt wie es weiter geht.. |
||
(no comment) -> Google Search Bot!! |
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sowas tolles hab ich noch nicht gesehen ![]() Wie wärs mit ner .DLL? ![]() Mfg, Count-Doku |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group