This is an old revision of the document!
Sistemele Lindenmayer (L-Systems) sunt un model matematic introdus de biologul Aristid Lindenmayer în 1968 pentru a modela procesele de creștere ale plantelor. Acestea sunt deosebit de eficiente pentru simularea structurilor și fractalilor asemănătoare plantelor.
Componentele ale sistemelor L:
Exemple de structuri care imită plantele se pot vedea în imaginea de mai jos:
În exemplul de mai sus, se folosește interpretarea “turtle” a stringurilor. Astfel, se întâlnesc următoarele simboluri:
O variantă în care se poate implementa ușor un L-System este folosind biblioteca turtle din Python. Astfel, pentru a inițializa biblioteca, se folosește următoarea secvență de cod:
# Initialize turtle t = turtle.Turtle() wn = turtle.Screen() t.speed(0) t.left(90) t.penup() t.goto(0, -wn.window_height() // 2 + 20) t.pendown() # TODO Your implementation goes here # Wait for user to close window wn.mainloop()
Funcții utile în implementarea unui sistem L, folosind turtle:
t.forward(distance) # Move forward t.goto(position) # Move to position, without drawing anything t.left(angle) # Turn left t.right(angle) # Turn right t.setheading(heading) # Set the rotation angle t.penup() # Stop drawing t.pendown() # Start drawing
Pentru a genera un dungeon 2D de bază folosind cellular automata, se urmează următorii pași:
Conway’s Game of Life este un cellular automata care simulează evoluția celulelor pe un grid bazat pe reguli simple. Deși este folosit în principal pentru studiul modelelor complexe care apar din reguli simple, aplicarea sa directă în generarea unui dungeon este limitată. Cu toate acestea, alte tehnici cellular automata au fost utilizate în mod eficient pentru a crea modele de temniță 2D.