// Pratt ARCH ARCH 522c / Procedural Morphology / Scripting and Form
Spring 2011
Tuesday, 7 PM - 9:50 PM, ENG214a
Theo Calvin (theo at mediumlite dot com)
Course Information:
View the course preview video.
"The rule drives the algorithm and the rule is not a number. The rule is a pressure that is always limited by another rule. Rules do not make forms – the limitations that rules impose on one another do....
Design must not focus uniquely on first order regulatory processes but must target second order controls that regulate the regulatory processes themselves. The genius of nature and design meet precisely here."
-- Sanford Kwinter, 2005
The goal of this class is to explore methods of drawing dynamic, self-organizing, agent-based systems. These systems represent formal ordering methods obtainable only through the effective use of computational models. Computational models don't describe form as a static entity. Rather, these models use rules as a design medium to capture underlying structures, relationships and hidden organizations. The forces driving these systems can often be fleeting or soft or emergent or locally weak, but ultimately very powerful in the creation of form. This section of ARCH 523C covers core concepts in programming for design. We will use the Processing programming language. Processing was developed as a user-friendly way to learn programming for visual output. Despite being appropriate for the first time programmer, Processing is a powerful language, and can be used to create interactivity, animations and even 3D form. Lessons learned in Processing will be useful as you move to other programming languages.
Methods of Assessment
40% Final Project
30% Attendance and Participation
30% Exercises: 5 'sketches'. I expect 2 sketches from Part 1 of the class, 2 from Part 2 and 1 from Part 3. Additional sketeches are recommended but not required.
Syllabus
Part 1: Introduction to Processing
Welcome to Processing for Architectural Design
Week 02 :: Scripting Fundamentals
Variables, Conditionals, Loops, Expressions
Week 03: Modularity, Reusability, Intro to Animation and Transformation
Arrays, Functions, and the Basics of Movement
Part 2: Agency
Week 04: Object Oriented Programming
Introduction to OOP and Agent-Based Programming
Week 05: Guided Work Session [lab]
Applied OOP
Vectors and Forces, Non-Linear Physics
Part 3: The 'Creative' Power of Rules-Based Systems
Week 07: Generative Data Forms
Re-Mapping for Creation
Week 08: Guided Work Session [lab]
Data input models
Modeling growth.
Week 10: Guided Work Session [lab]
Working in scripted 3D
Week 11: Emergence and Self-Organizing Systems
Designing with rules
Week 12: Guided Work Session [lab]
Experiments in Emergent Design
Part 4: Design Integration
Week 13: Rules-based Design Working Session [lab]
Working session for final projectWeek 14: Optional Working Session [lab]
Desk crits for final projectInternet Resources
Processing Related
Processing.org
learningprocessing.com
Processingblogs.org
Programming in Processing
Open Processing
Processing for Android
News Sites and Blogs
bldgblog
Create Digital Motion
GeneratorX
We Make Money Not Art
Creative Applications.net
algorithmicdesign.net
People
Casey Reas
Ben Fry
John Maeda
Complexification.net
Flight404
theverymany.net
Marius Watz
Thorsten Fleisch
Andy Lomas
dextro
Scott Sona Snibbe
PostSpectacular
Notable Projects
Flight Patterns by Aarron Koblin
Y-rotation of an attractor
Other Stuff
Scripted by Purpose
Bit Forms Gallery
Event: Entheocentric Salon (Sat Jan 20th)
The Impact of Evolutionary Design (Technology Review video)
Review of Dreaming in Code by Scott Rosenberg
MediaRuimte: Platform for digital art & architecture (Brussels)
Processing Flickr Group
Other Graphical Scripting Languages
NodeBox: is a Mac OS X application that lets you create 2D visuals (static, animated or interactive) using Python programming code and export them as a PDF or a QuickTime movie.
VVVV: realtime 3D video synthesis -- fast 3D using the video card. VVVV uses a graphical programming interface.
Scriptographer: is a scripting plugin for Adobe Illustrator™. It allows designers to extend Illustrator with JavaScript.
Max/MSP/Jitter: a graphical programming environment. The basic 'Max' environment includes MIDI, control, user interface, and timing objects. MSP refers to the realtime audio packages and Jitter is a collection of realtime video components to add to the Max environment.
Data Visualization
Information Aesthetics
Form Follows Behavior
Visual Complexity
Flowing Data
Data is Nature
Well Formed Data
Bibliography
Processing specific books are finally starting to be published. There are many processing resources online, but these are available. (disclosure: I'm using the Amazon affliate links to provide previews of the covers and links to more information. Do not feel obligated to purchase books through these links.)
Processing: Creative Coding and Computational Art Ira Greenberg
Processing: A Programming Handbook for Visual Designers and Artists Casey Reas
Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction Daniel Shiffman
Algorithms for Visual Design Using the Processing Language
Kostas Terzidis
Visualizing Data: Exploring and Explaining Data with the Processing Environment
Ben Fry
Getting Started with Processing
Ben Fry and Casey Reas
The following books and articles will enhace your understanding of the subject matter.
Aesthetic Computing Paul Fishwick
Animate Form Greg Lynn
Cities and Complexity Michael Batty
The Computational Beauty of Nature Gary William Flake
Concepts of Modern Mathematics Ian Stewart
Contemporary Processes in Architecture Ali Rahim
Contemporary Techniques in Architecture Ali Rahim
Creative Code: Aesthetics + Computation John Maeda
Digital Tectonics Neil Leach
Emergence Steven Johnson
Emergence: Morphogenetic Design Strategies Michael Hensel
Informal (Architecture) Cecil Balmond
Pamphlet Architecture 27: Tooling Aranda and Lasch
Responsive Architectures : Subtle Technologies
Beesley, Hirosue, Ruxton, Trankle, and Turner
Turtles, Termites, and Traffic Jams Mitchel Resnick
Versioning: Evolutionary Techniques in Architecture SHoP/Sharples Holden Pasquarelli
Student Work
Student work is posted here. Please set up your website for the class assignments and send me the URL.
To learn more about setting up your free Pratt web space click here.
Spring 2010 Meredith L Atkinson |
||
Spring 2008 Adam Grassi |