Procedural City Generation

We developed an application for procedurally generating the commercial districts of cities.

voronoi diagram We use Voronoi diagrams with randomly placed control points to generate the main roads and city districts.

city blocks These districts are further subdivided using regularly spaced control points to create city blocks and lots.

buildings We generate buildings with a number of randomized parameters including building height, size, window width, height and density. We control average building height with a two dimensional Gaussian function that produces buildings with higher heights in specified downtown regions.

final city Finally, pre-generated city elements like stop signs and stoplights are added. Our application produces fully explorable cities using OpenGL with realistic layouts and buildings.