Computational design: a new look at the natural world

jessesclass

Jesse is teaching a class this spring with the support of sprout.  It essentially covers the topics of interest to us at Nervous System: taking computational models of natural systems and adapting them for design work.  It is somewhat technically focused and is geared towards designers with some familiarity with programming/science or those with a science/programming background who want to learn and be creative.  If you are in the Boston area, take it!  Also, each session is made to be stand-alone (or in conjunction with one other week), so if you just want to attend one topic of interest you can.  Each week will center around one simulation technique (and some additional geometry generating material), and we will work through and play with one or more example systems.

More information below:

Technology is rapidly changing the way we view and interpret the world around us.  Computation gives us a new way to explore and understand the processes that form the natural world.  We can use these new tools and insights to develop new strategies in art and design borrowing from the structure of leaf veins or the form of soap films.

Computational design uses numerical and algorithmic techniques to create media.  Instead of designing a specific object, computational design focuses on making a process which can be used to flexibly create a variety of forms.  In other words, it is about writing computer programs to generate forms.  This can be thought of as two separate tasks: one is the creation of the process (growth, subdivision, movement, etc), and the other is realization of geometry (curves, surfaces, color).

This class is a project-based survey of simulation techniques in computational design.  We will focus on using the simulation of natural phenomena to create designs using physics engines, finite element methods, multi-agent systems, and network analysis.  We will explore some applications of these techniques to a variety of topics, including fluids, reaction diffusion patterns, and tension surfaces.  The goal is to develop a broad understanding of approaches to simulation problems and how to apply these to design.  Participants will use this knowledge to pursue a project of their own to create a computational object.

We will also cover topics in form generation and geometrical tools from simple intersections to NURBS surfaces and data structures.

The program will meet on Wednesdays and Thursdays from 6:30-8:30 (or 9:30) starting on March 24. The meeting time is flexible if the majority of participants would prefer a change. One session a week will primarily be a talk/workshop on a method and corresponding examples; the second weekly session will be a free-form meeting to work on your project or explore topics of immediate interest.

Examples in the class will mainly use the Processing programming environment.

For more information and updates go here.

Prereqs: Programming experience.

Cost: suggested $1000 or $100/session

Schedule (subject to change)
Week 1: What is computational design? What is simulation? Diffusion limited aggregation.
Week 2: Integrators or springs and stuff
Week 3: Particle systems II. Constraints
Week 4: Multi-agent systems. Flocking
Week 5: Cellular automata
Week 6: Finite difference, PDEs, reaction diffusion
Week 7: Finite difference II
Week 8: Networks
Week 9: Finite element analysis and structures (1D elements)
Week 10: Finite element II
Week 11: GPGPU
Week 12: TBD