7

I am about to start a project for university to build a procedural city for a pre existing project.

I was wondering if any of you have had any experience coding L-Systems before and know a good place for me to start out. I have done a bit of work before using procedural methods and Perlin Noise and fBm so I get the premise of what an L-System is in the fractal sense. I am more looking for a place where maybe can push me in the direction of coding the L-System. Any help or technical documents you can point me towards would be great.

ROMANIA_engineer
  • 54,432
  • 29
  • 203
  • 199
Craig
  • 1,199
  • 1
  • 13
  • 27

3 Answers3

8

I did a project on using L-Systems to procedurally generate 3D trees and found the book "The Algorithmic Beauty of Plants" helpful. It's available for free at that link. Not directly related to procedural cities, but very interesting, and a good resource to learn about L-Systems, I think.

xyz
  • 27,223
  • 29
  • 105
  • 125
  • Yeah i was going to start out with something like a plant, or tree, then work my way up to road structures, i will have a look at this book. – Craig May 27 '09 at 08:38
  • 1
    Roads? Are they usually fractal? I'd expect roads to be more ... man-made, less random and noisy, with more of a sense of purpose or direction to them. But maybe I'm just being naïve. :) – unwind May 27 '09 at 08:41
  • 1
    ... Or American ;) European roads have a bit more of history, no square grids here. – MSalters May 27 '09 at 08:46
  • Yeah L-SYstems have been used many times to create roads in procedural cities, generally if you go to ACM and look up procedural city some examples come up. Also i believe the makers of darwinia used L-Systems to create the road system in the procedural city builder they are developing. – Craig May 27 '09 at 23:44
  • @xyz .Which application did you use for the 3d representation of L-system because i also want to represent some trees in 3d. Thank you. – F.N Mar 10 '15 at 11:05
3

I'm working on an L-system project too, and it's been tremendously helpful to look at some pre-existing code: lsystem.py - There's also pseudocode in Fundamentals of Natural Computing which I found really helpful. It takes you through the process of using turtle graphics to create a simple L-system tree, and quickly moves on to more advanced stuff.

mdegges
  • 963
  • 3
  • 18
  • 39
2

Well ... I'll go first and hand you the Wikipedia link, which looks reasonably meaty, and has quite a few external links of its own.

unwind
  • 391,730
  • 64
  • 469
  • 606