anchor
Processing for Architects
I'm writing the software for my thesis project in Processing, an integrated development environment created by Ben Fry and Casey Reas as a tool for artists and designers to explore software development as a part of their creative work. Processing employs the Java programming language along with code libraries that provide a quick start for creative types to build software that deals with visual effects and interaction.
In architecture, while two dimensional images are useful, being able to produce and manipulate three dimensional data is even more so. Luckily Processing includes the capabilities of OpenGL, industry standard software for visualizing and creating 3D scenes. While most development environments require a fairly deep knowledge of the mechanisms within OpenGL, Processing takes care of these intricacies for the developer. Perhaps even more importantly, there are a growing number of Processing users who contribute code and help to those who are new to the tool.
To get started, you can download Processing for free. As an effort to speed the uninitiated along, I've created a simple example program (called a "sketch" in Processing parlance), that you can use to start exploring. Before we begin you will need a few supplies:
- Processing
Unzip it and place the "Processing" folder in with the rest of your applications (generally Program Files on Windows and Applications on Mac) and make a note of where you placed it.
- Kristian Damkjer's very helpful OCD Library
Unzip it and place the OCD folder in the libraries folder inside the Processing folder you placed in with your applications. (On Windows, something like c:\Program Files\Processing\libraries\ and on Mac something like /Applications/Processing/libraries/) This library makes moving around the 3D scene much less complicated.
- My 3D Processing Example
Unzip it and place the template3d folder on the desktop or similar location for now.
Start up Processing and select
File > Open and locate the
template3d folder. Select the
template3d.pde file and then the
Open button. What you'll be looking at is the Processing user interface with some sample code that I wrote to act as a starting point for 3D sketches.
Press the
Run button (the one at the top with the triangle) and the sketch will start up. The sketch generates a series of random boxes, which can be regenerated by pressing the
R key.
Try moving around the scene by dragging the mouse around, which orbits the camera around. Holding down the
Shift or
Alt keys down while dragging will pan or tilt the camera, respectively. Pressing the
X key will export a DXF file of the scene to the
template3d folder and pressing the
I key will export an image of the current view.
The navigation and export functions included in this example are the primary elements that I've identified as crucial for any Processing sketch that will be used in an architectural setting. The random boxes in the example are included as a basic introduction to drawing 3D geometry in Processing. Try changing the maxDimension value at the top of the code to something like 20 to see how a small modification can have a big effect on the output. The Processing site has some
good tutorials, should you want to explore more.
I'll be writing about more Processing techniques useful for architectural work in the weeks to come.
13 Comments
Don't forget to mention the book.
The book? There are about six now!
vimeo.com has some amazing videos
just search for processing
And if archi-processing is your thing, keep your eyes peeled on Marius Watz of generator.x and code and form.
We have a few processing tutorials up at http://proxyarch.com/wiki - mostly for our Search: Advanced Algorithmic Design class at the Columbia GSAPP - all are welcome to check them out! Processing is a great environment to work through large numbers of iterations and complex data sets.
When I learned about Processing we switched over to MEL in Maya as soon as we got 3d - I didn't know you could even do that in Processing. I think the languages are very similar. Will Processing let you output files that can be taken somewhere else and rendered? What's the advantage of using it for 3d?
You can export to DXF and Collada formats so far.
@collins
Thanks for sharing your resources. I've been noodling with Processing over the last year and need to dig into it further once I've cleared my desk off a bit in the coming months.
That stuff is really fascinating!!! I've been meaning to read into this for a few months now..... What do you think is a good book to get me started?.....
As for Code 101 - check out Craig Shiffman's Nature of Code
I can't wait to clear my desk off and start play with processing again!
Hey thanks a lot for this. I'd messed around w. Processing a few months ago but got sort of bored when I had no clue how to do things three dimensionally. This is a cool template!
Unfortunately I found that when I exported the image from your default settings of 800x600 it was of course very pixelated... so I experimented with 2000x2000 and found that it was less pixelated but still had that strange effect of having inconsistent line weights and sometimes even appearing hand-drawn. I kind of like this weird inconsistent line it's making; it's visually interesting. But for making tight design drawings (like the one due next week) it wouldn't be particularly successful. Something tells me it's got only a little to do with pixelation. I've just tried something ridiculous like 6000x6000 pixels but that's when my computer got scared of that enormous pixel count (I've got slightly dated specs with 1.8 ghz and 512mb but it will happily run Rhino with just a few lengthy renderings). Maybe if I work on one of the supercomputers on campus things would get better at least in the amount of time it takes to view the image, but the real problem is the messed up line weights.
I'm sure Aaron doesn't want to be tech-guy after offering up this cool little solution so anyone else can reply of course.
There's also a pdf export library that you can read about on the processing site that allows you to export vector files, which don't have the pixelation problems. There are also ways to export huge hi-res images by tiling smaller images together, which the site also has resources on.
The Processing offers the rapid beginning of software that contract with visual effects and communication. There are useful lengthy images that are able to create and influence three dimensional data.
=====================================================
linasandy
Minnesota Alcohol Addiction Treatment
Block this user
Are you sure you want to block this user and hide all related comments throughout the site?
Archinect
This is your first comment on Archinect. Your comment will be visible once approved.