Swarm intelligence 2008 spring columbia
From KokkugiaWiki
spring 2008 | columbia gsapp | roland snooks | roland@kokkugia.com
Contents |
workshops
workshop 01
introduction to processing
workshop 02
object oriented programming and vectors
introduction to steering behaviors
workshop 03
processing advanced agent code
workshop 04
kAgent drawing and extracting line networks
processing attractors and obstacles
workshop 05
python in maya
kGeom in python
kAgent python
workshop 06
processing output
rhinoScript introduction
rhinoScript importing custom file formats - importing agents to rhino
rhinoScript morphodynamic - attractor tools, using the proximity of agents to effect geometry
kAgent code
kAgent repository of code and examples
student work
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
project
resources
kGeom
swarm intelligence reading
swarm intelligence links
scripting links
meshing resources
processing useful stuff
news
jan 20 | swarm intelligence wiki under construction
check back soon...
syllabus
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.
schedule
week 1
Seminar: Introductory lecture
Project: project handout - part A
Instruction: introduction to processing
weekend workshop: processing - object oriented + vector libraries + intro to steering behavior
week 2
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
week 3
Instruction: Agent libraries and advanced steering behaviors
Critique: Desk crits for project 1B
week 4
Seminar: The algorithmic emergence of character
Critique: presentation of project progress
week 5
Seminar: The substrate of agent code
Instruction: Python for Maya
Critique: Desk crits for project 1C
week 6
Seminar: Materializing the Swarm
Instruction: Processing Output + RhinoScript
Critique: Desk crits for project 1C
week 7
Final project review
