Sam Lavery – Project 3 (Generate)

by sam @ 11:21 pm 27 February 2012


20th Century Urban Design Theory in a Nutshell

The 20th Century was a time of great experimentation and theorizing in the planning of towns and cities. Architects and planners were given massive amounts of control over the layout and design of cities and used this power to forward their ideals.


Garden City Movement – 1900’s

Began in the United Kingdom as a backlash to the smoggy, crowded state of cities during the industrial revolution. The idea was to have multiple self-sufficient cities encircled with “green belts” of open space. Cities would be linked by trains and arrayed around a central city.

Garden City Concept


Le Corbusier/ Modernism – 1920’s

Le Corbusier was one of the first architects to apply the aesthetics of Modernism to Urban Design. His Ville Contemporaine (Contemporary City) plan included demolishing a significant chunk of Paris to house 3 million people in blocks of 60 story cruciform skyscrapers. Le Corbusier took ideas from the Garden City Movement and imagined a future where the main form of transportation was the automobile. Although his plans were never realized, similar projects were erected in most major cities around the world.

Le Corbusier's Ville Contemporaine

sketch by Le Corbusier


Jane Jacobs – 1960’s

Jane Jacobs was not a trained urban planner or architect, but her book, The Death and Life of Great American Cities, significantly influenced urban design. She spoke out against the top-down, monolithic plans of Modernist urban planners and advocated pedestrian-centric, medium-rise, high-density, mixed-use neighborhoods such as Manhattan’s West Village where she lived. New Urbanism (the current fad in urban design) can be seen, in my opinion, as a sterilized realization of her ideals.


Parametric City Modeling

The goal of this project is to model three different versions of Pittsburgh that follow the rules of the three urban design theories outlined above. I used ESRI’s CityEngine software, which uses the CGA Shape Grammar language to control the modeling of streets and buildings. I first created a base map of Pittsburgh by obtaining a grey-scale elevation image and projecting this based on brightness. I then created a black and white obstacle map so that the program would know not to grow streets or buildings into the rivers. I wrote 3 CGA files that control how the streets and buildings are laid out, following logic that mimics the urban design theories I am analyzing. Pittsburgh’s hills were a challenge for CityEngine’s street growing tool but after tweaking the CGA code I managed to get a semi-realistic network.

Garden City Pittsburgh

Plan of Garden City Pittsburgh


Aerial view of Garden City Pittsburgh


Garden City Pittsburgh from Sam Lavery on Vimeo.

Le Corbusier Pittsburgh

Plan of Le Corbusier Pittsburgh


Aerial view of Le Corbusier Pittsburgh


Le Corbusier Pittsburgh from Sam Lavery on Vimeo.

Jacobs Pittsburgh

Plan of Jacobs Pittsburgh


Aerial view of Jacobs Pittsburgh


Jacobs Pittsburgh from Sam Lavery on Vimeo.

While this project wasn’t very coding intensive, I did learn a lot about parametric modeling. Just wrapping my brain around the dense CityEngine UI took a lot of time. I’m very happy to have learned the fundamentals of this software and I hope to use it in future projects. I hope this project teaches people a little about these three famous and infamous urban design theories. It is interesting to imagine what Pittsburgh could be today if any of these three design theories had completely taken over.

1 Comment

  1. ————————–

    Generative Cities

    Nice visual research. SOOO glad you know about Jane Jacobs! She’s the best!!!

    Are you shading your lines to have such a sketchy look? I understand the time frame we had, but the current render has a more apocalyptic feel to it. The black and grey feels a bit more sad than typical urban renders.

    really neat concept, it would be cool to have it be more interactive in some sort of google earth way

    I think it would be helpful to explain a little bit more about CityEngine – what does it provide for you and what did you have to develop on your own? Did you do anything to make it relate to Pittsburgh beyond the toporaphy? Population density, maybe?

    The top-down view of the garden city layout is really cool looking. It looks like something out of a China Miéville novel to me. It’s too bad you couldn’t export this to Google Earth or SecondLife or something. I wonder if you could use these different schools of thoughts to define a fitness function for a genetic algorithm and somehow evolve a new Pittsburgh.


    Generative Alternative Pittsburghs!

    Hm, I wonder other than the geographic resemblance to Pittsburgh as we know it, could you have implemented any other criteria to generating the city? It seems like it’s not very unique to Pittsburgh otherwise. Perhaps it’s an interesting educational tool to contextualize (to and extent) the different historical urban planning methods.

    I’m excited < -- we so excited The three philosophies is an interesting approach to the project. I want to know what kind of parapeters you used to embody each style of urban design. That probably should have been presented alongside the finished products. Those screens look great though, I can really see how each reflects the desired architectual style. Oh man, I had no idea this was just a plug-and-play sort of program <3 That siad, taking these three appropaches makes a lot of sense. I think it's hilarious how the program keeps putting these skyscrapers over the hill on Mt. Washington. Sam, if you don't know of this book, you should definitely get it: 49 Cities ( ) … I think you may be able to find the pdf online for free … it’s a beautiful info-graphic-esque book about 49 visionary cities that were never actualized.
    Michael Sorkin’s Local Code would be really, really cool to implement as well.

    I wanted you to more clearly explain 2 things:
    1 — The goal of the project: to generate alternative pittsburghs based on the philosophies of different urban planners (jacobs, corbusier, etc)
    2 — what you did, code-wise. What params were available to you? Could you please explain about how City Engine is scriptable? I know that you used some kind of Javascript language within the City Engine in order to script your work, but I’m not clear on exactly what your code looks like or does. show a screenshot!

    Also, I recommend asking them for a free student license. Why not?

    I dig the visuals hardcore even with the limited trial version.

    This is reminiscent of software like Massive: Really amazing way to invent new cities. Rendering would take it over the top. Go sLavery! SLavery!
    Related to movies, this is also how cities like “Gotham” have been visualized: by combining different amalgomated versions of existing cities.

    I want to use this software: it looks so awesome! i love the idea and the software made it look sweet. I agree that having more explanation of what was changed in the scripting/software would be helpful and instructive.

    i think your project idea can expand in varied fileds. For instance, newly generated cities can be used in software games. (i don’t know why but you kinda reminded me of SIMS)


    Very intruiging images for your presentation.

    This is very interesting and very impressive.

    Great idea and final result. I think you could do a lot with this project. Since a lot of the plans seem to be judged in how they affect or consider people’s experience in a city maybe make that
    aspect more central in the finally product? Some way people (of Pittsurgh) could see how these different plans would effect their lives if they were actually in place?
    How did you generate these city plans within the software you used?

    I think your project is beautiful.. it does feel a bit flat in terms of … what kind of questions were you asking yourself when doing the project? What outcome did you get other than a “cool thing”?
    I note this espeiclaly as you said that this was not so much of a tough coding assignment for you.


    Comment by dan — 28 February 2012 @ 8:02 pm

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2021 Interactive Art and Computational Design, Spring 2012 | powered by WordPress with Barecity