Swarm intelligence 2008 spring columbia
introduction to processing
processing advanced agent code
rhinoScript importing custom file formats - importing agents to rhino
rhinoScript morphodynamic - attractor tools, using the proximity of agents to effect geometry
kAgent repository of code and examples
Samuel Brissette, Clint Miller & Elizabeth Sennott
Ben Reich & Deborah Richards
Bobby Johnston & Nico Weiss
Aders / Contento
Kiseok Oh & Kyungjae Kim & Seungwon Song
Jenny Chou & Kevin Wei
Ruth Benjamin & Marc Leverant
Nieto / Tarancon
Eunki Kang / Hyunchang Jo / Junho Cho
jan 20 | swarm intelligence wiki under construction
check back soon...
This seminar will examine the role of agency within generative design processes. The course will engage algorithmic techniques in the development of a computational methodology grounded in swarm intelligence. While discussing the political and social role of agency, the workshop will focus on an abstract design methodology, recasting simple decision making ability into agents capable of self-organizing into an emergent intelligence. Scripting will form the basis for algorithmic models which enable localized interaction of agents to generate emergent topologies in the design of proto-architectural forms, structures and articulation. Unlike the typical application of swarm systems in design, this workshop will not engage simply in the mapping of these complex systems, but instead, we will mine the self-organizing potential of the systems to negotiate between a complex set of desires and parameters in the generation of architecture.
The semester will focus around two areas of research, initially developing simulations of vector based swarm systems and then using these as the basis for developing an architectural design methodology which operates within a topological substrate. This second stage of the research will shift away from any analogous relationship to an existing swarm systems and develop a design process capable of negotiating architectural inputs.
The seminar will intensively engage scripting, using and expanding on a library of agent code which will ensure that students are not slowed by the necessity of writing all the code they require. Instead the focus will be on the application and manipulation of code within the design process. This expansive library has been developed through research at Kokkugia and previous studios and seminars. The library consists of relatively simple functions (such as steering behaviors) which can be recombined in the development of more complex algorithms.
Computational design is shifting away from the reliance on heavy platforms such as Maya’s MEL scripting language into lightweight object oriented programming environments, enabling the massive iteration required for emergent processes. In anticipating this shift, the workshops will focus on the newer lightweight languages such as Processing and Python. As the research shifts into a topological substrate these languages will be transferred into Maya (Python) and RhinoScript to enable agent intelligence to be embedded into geometry.
Seminar: Introductory lecture
Project: project handout - part A
Instruction: introduction to processing
weekend workshop: processing - object oriented + vector libraries + intro to steering behavior
Instruction: Steering behaviors + processing in 3D
Critique: Discuss the part A of the project and discuss how to begin writing the attendant algorithms
Project: handout project parts B + C
Instruction: Agent libraries and advanced steering behaviors
Critique: Desk crits for project 1B
Seminar: The algorithmic emergence of character
Critique: presentation of project progress
Seminar: The substrate of agent code
Instruction: Python for Maya
Critique: Desk crits for project 1C
Seminar: Materializing the Swarm
Instruction: Processing Output + RhinoScript
Critique: Desk crits for project 1C
Final project review