Tetrahedron Cloud

Tetrahedron Cloud
ABSTRACT
Luke Ogrydziak
The research project, tetrahedron cloud, explores agent-based stochastic behavior as a design
Ogrydziak Prillinger Architects
tool. It investigates the possibilities for producing volumetric tetrahedral meshes based on the
interactions of individual stochastic agents.
The research situates itself at the intersection of the visual arts, the physical sciences, and
computer science. The basic interest in stochastics comes from the visual arts; the growth
simulation approach is borrowed from the natural sciences; and the use of a tetrahedral
mesh within C++ comes from computer science. But more generally, the project focuses on
architecture’s ongoing engagement with stochastic systems.
By embedding extremely specific tendencies within an agent’s behavior, while also allowing
for stochastic variation, we can create larger systems that are both in and out of our “control”.
This sidesteps the typical limitations of many computational geometry and parametric methods,
where there is often an overly deterministic relationship between the input and output of a given
system. Such a shift from optimization to behavior inevitably brings up troubling questions of
style. Abandoning the search for a “best” solution, or even the articulation of the criteria for
such a task, re-opens computational architecture at its deepest levels as a site for design
speculation.
284
acadia 2011
_proceedings
integration through computation
1 I n trodu c tion
In 1925, Marcel Duchamp designed a poster for a chess tournament. Incorporating
elements of play and chance into the production of this image, Duchamp tossed
a group of uniform cubes into a net bag, photographed it, and drew the results
– eliminating the containing bag from the final image (Figure 1).
This project
marks a decisive introduction of stochastic processes into artistic production, the
development of which has continued to this day (Schwarz 2000).
In the past fifty years, we have witnessed the visual arts focus on stochastic
p r o c e s s e s a t e v e r- i n c r e a s i n g l e v e l s o f c o m p l e x i t y.
Such work is often based on
physical phenomena such as object-gravity interactions or multiple collisions which
a r e b e y o n d t h e c a p a c i t y o f c u r r e n t d i g i t a l s i m u l a t i o n t e c h n o l o g y.
An important
e x a m p l e , b r i d g i n g D u c h a m p ’s w o r k t o o u r c o n t e m p o r a r y m o m e n t , i s A n d y W a r h o l ’s
1965 piece Silver Clouds.
In this piece a group of helium-filled mylar balloons
drift, collide, and wander past each other endlessly in reaction to changing air
p r e s s u r e ( F o s t e r 2 0 0 5 ) . Tw o e x e m p l a r y r e c e n t p r o j e c t s w i t h i n t h i s g e n r e i n c l u d e
R o x y P a i n e ’s s k u m a k m a c h i n e s ( s t o c h a s t i c s l u m p i n g ) a n d Ta r a D o n o v a n ’s c u b e
series (stochastic collisions) (Heartney 2009; Baume et al. 2008).
Following the
Fig. 1
Duchampian model, this type of artistic production enacts a strategic indifference
to the results of a stochastic “simulation” enacted with actual materials within
physical space.
Programming environments such as Processing have recently
given artists the tools to shift from physical to digital simulation; but to date, the
most sophisticated stochastic projects have tended to rely on concrete physical
material properties.
Throughout this same period, stochastic behavior has become an important
focus within the physical sciences – often the basis for digital simulations of
natural phenomena.
Unlike artistic practices, these disciplines have typically
been employing digital technologies for a much longer period, and are thus
more mature from a technical perspective.
For our project, several important
scientific precedents include simulations of coral growth (Kaandorp 1994), burrow
structures (Reichman and Seabloom 2002), and Brownian agents (Schweitzer
2003).
Each of these precedents exhibits coherent larger structures emerging
from independent active agent behaviors with stochastic characteristics.
Also,
e a c h p r o j e c t i s a t t e m p t i n g t o m o d e l “ r e a l ” b e h a v i o r d i g i t a l l y, a n d t h u s i s p a r t o f
the larger collective project of developing a digital toolset for these types of
simulations.
F i n a l l y, i n a r c h i t e c t u r e w e a r e w i t n e s s i n g a s i m i l a r r e c e n t f o c u s o n s t o c h a s t i c s
– along with a shift from physical to digital simulation paralleling the visual arts.
In his 2002 diagram Cake Tin Architecture Rem Koolhaas explicitly reworks the
Duchampian theme of chance for his TVCC building (Koolhaas 2004). In the past
five years, myriad other recent advanced architectural projects have reworked
these themes of chance and stochastic placement.
H o w e v e r, t o a l a r g e e x t e n t
these projects have begun with readymade shapes and have limited the effects
of chance to the placement of these objects or the distortion of a wrapper for the
elements. (The “bag” that Duchamp chose to erase.)
Such architectural projects can be broadly sorted in terms of their basic
components being either self-identical or self-similar.
1. A non-exhaustive list of self-identical components used in recent stochastic
architecture might include:
cubes, rectangular prisms, extrusions, Dirichlet
solids, aperiodic tiles, regular polytopes, etc.
The expressive force of such
projects typically stems from introducing porosity into the system through some
type of legible operation.
Again, such projects may be loosely sorted according
to two specific operation types:
either (a) the random removal of elements from
an otherwise close-packed and orderly system or (b) randomly piling elements. In
both cases the result is a porous collection of components in which the stochastic
design process is legible.
Figure 1. Duchamp’s 1925 Chess Poster
285
form, geometry and complexity
2. Examples of self-similar architectural components used in recent stochastic
architecture might include: rectangular prisms of unequal sizes, triangulated
meshes, irregular polytopes, etc. Again, there is an emphasis on creating porosity
t h r o u g h a s t o c h a s t i c p r o c e s s . A s a n e x a m p l e , a t t h e S e a t t l e P u b l i c L i b r a r y, O M A
renders the program pieces as distinct rectangular prisms which are jauntily
stacked, then loosely wrapped. While not explicitly computational, this approach
seems opposed to the top-down subdivision methods typical of much parametric
architecture – rendering an arbitrary solid as a collection of smaller quasi-regular
elements such as planar quads or triangles.
Here we might pause to consider a subtle point regarding the flow of the design
process itself.
Most parametric architecture can be characterized by a linear
(two-way) relationship between all the elements within the process. Thus, a
parametric system is a continuous circuit of information which can be traced in
any direction at any time. Stochastic projects using self-similar components differ
Fig. 2
from parametric projects inasmuch as there are aspects of the system irreducible
to parametric logic.
To d a t e , m o s t s t o c h a s t i c p r o j e c t s h a v e b e e n l a r g e l y m e t a p h o r i c a l . P r o g r a m e l e m e n t s
a r e d i s t r i b u t e d b y t h e d e s i g n e r t o a p p e a r j a u n t y. O r, s o m e s m a l l p a r t o f t h e p r o c e s s
i s s u b j e c t t o ‘ c h a n c e ’ a n d t h e n i n p u t i n t o a m o r e e x t e n s i v e p a r a m e t r i c c i r c u i t . Tw o
recent architectural examples which literally embed active agent behavior throughout
the entire process include I’ve Heard About (Corbellini 2009) and Lamella Flock
( Ta m k e e t a l . 2 0 1 0 ) . O u r p r o j e c t s i t u a t e s i t s e l f w i t h i n t h i s r e c e n t h i s t o r y, e x t e n d i n g
s t o c h a s t i c m e t h o d s a n d q u e s t i o n s t o t h e i n i t i a l c r e a t i o n o f g e o m e t r y.
Such an approach inevitably reintroduces questions of style. A given digital
s i m u l a t i o n m a y b e i n d i f f e r e n t l y r u n t o c r e a t e g e o m e t r y, b u t t h i s s i m p l y k i c k s t h e
design decisions up one level to that of the environment itself. What shapes are
possible? What aspects of the environment are stochastic and which deterministic?
A n d s o o n . W i t h i n o u r n e w p o s t - p a r a m e t r i c o r d e r, t h e q u e s t i o n o f s t y l e h a s f o r c e f u l l y
r e - e m e r g e d i n d i r e c t r e l a t i o n t o s u c h p r o t o c o l s o f c o n t r o l . A s w e e x e r t e v e r- m o r e
specific control at lower levels of the design process, structure and ornament
become intertwined in a kind of Semperian knot (Figure 2) (Semper 2002).
The tetrahedron cloud attempts to control style by defining tendencies for
active agents within a simulation environment.
B e c a u s e e a c h a g e n t ’s b e h a v i o r
is stochastic, each run of the simulation becomes a unique embodiment of its
specific process. In this context, design shifts from the production of a synthetic
“solution” to a set of constraints to the creation of the simulation itself – which
c o m b i n e s b o t h s t o c h a s t i c a n d d e t e r m i n i s t i c b e h a v i o r. O u r g o a l i s f o r t h e p r o g r a m
to always be slightly “out of control when run, exhibiting unpredictable emergent
behavior at a macro scale.
In architecture, we suspect the development of this type of work will ultimately result
i n a r e t u r n t o t h e P o s t - M o d e r n i d e a l o f a “ d i f f i c u l t u n i t y ” ( Ve n t u r i 1 9 6 6 ) . S u b s t i t u t i n g
behaviors for collagist elements, we might imagine architectural projects which are
internally differentiated without a reliance on sharp edges between parts.
2
Previ o us Ag ent Based Pro j ects
This project emerged from a series of active agent projects over the past several
years.
Fig. 3
In general, the focus of these projects has shifted from a combination of
active agent simulations plus computational geometry algorithms to concentrate
a l m o s t e x c l u s i v e l y o n a g e n t b e h a v i o r.
2.1
D E L A U N AY L AT T I C E
Our first built active agent project was a facade lattice. Randomly positioned active
Figure 2. Semperian Knot: The Intertwining of
Structure and Ornament
agents with collision detection buffers were used to create a 2D field of locator
Figure 3. Delaunay Lattice Formation Diagram
surface derived from a parametric reading of the local planning code for allowable
points with a minimum offset radius. Next, these points were projected onto a 2.5D
286
acadia 2011
_proceedings
integration through computation
building envelopes.
Then this 2.5D point field was triangulated using a Delaunay
t e s s e l l a t i o n ( F i g u r e 3 ) . F i n a l l y, t h i s t r i a n g u l a t e d m e s h w a s t r a n s l a t e d i n t o a n o p e n
l a t t i c e o f C o r- t e n s t e e l t r i a n g l e s ( F i g u r e 4 ) .
2.2
BRANCH
After the Delaunay Lattice project, our research projects began to focus entirely
on the potential of stochastic active agents.
This required a totally new project
workflow based on class definitions rather than scripting or circuit-type controls.
For this, we began working in Processing, and then ultimately settled on the
Rhino C++ SDK as embodying the most flexible combination of 3D data types and
established handles to fundamental geometric operations.
Our first simulation within this environment was a growth model implementing
collision detection.
While there was really only one behavior – step forward and
avoid your previous path – the project was a valuable introduction into how to
set up a larger scale project (Figure 5). The tetrahedron cloud enacts a number
of features which were on the “wish list” for this earlier project, but which could
not be implemented in the time frame, such as dynamic collision detection and
p o i n t e r- b a s e d g r a p h t r a v e r s a l .
The final geometry consists of a simple piped
Fig. 4
surface from control lines (Pottmann et al. 2007).
3
Da ta Type s
As previously noted, the tetrahedron cloud project uses tetrahedrons as its basic
building blocks. A tetrahedron was chosen as it is a simplex in three-dimensions:
the most efficient way to represent a (convex) volume in Cartesian space.
Thus,
any larger mesh composed of tetrahedron primitives will always be volumetric –
rather than a point field or 2.5D surface. The project is implemented in C++ as a
Rhino 5 plug-in. Our long-term goal for the project is to create a C++ library for
volumetric simulations within Rhino – allowing for the integration of models from
other disciplines which require basic mesh manipulation handles as well as fast
collision detection.
To c r e a t e t h e b a s i c s i m u l a t i o n e n v i r o n m e n t , t h e t e t r a h e d r o n c l o u d a d a p t s C + +
Fig. 5
data structures typically used for the Finite Element Analysis (FEA) of solids.
Such FEA methods typically decompose arbitrary solids into tetrahedral meshes
of variable resolution for discrete analysis. Our project adopts the tetrahedral
mesh structure, but applies stochastic agent behavior rather than a Delaunay
optimization algorithm. As such, our project utilizes established FEA structures
while exhibiting a bottom-up rather than a top-down structure.
3.1
POINTER STRUCTURE
W ithin this context, we needed to design the data types for our tetrahedral mesh. Initially,
we began with a three dimensional variation of the half-edge data structure implemented
in the Triangulation Template Librar y (Hjelle and Daehlen 2006).
But this bottom-up
structure became somewhat unwieldy when applied to tetrahedrons, as navigation within
the graph structure became quickly disorienting. Ultimately, we opted for the top-down
Fig. 6
approach outlined by Jonathan Shewchuck in his PhD thesis and implemented in the
program TetGen (Shewchuck 1997; Si 2006). This tetrahedron-based pointer structure
allows for efficient mesh traversal (Figures 6, 7). More specifically, we use a special
handle class for mesh traversal and various test operations which combines pointers to
a tetrahedron and one of its faces.
Unlike these two precedents, our project does not focus exclusively on the Delaunay
based optimizations required for finite element analysis. Instead, the individual tetrahedral
Fig. 7
are conceived of active agents whose behavior is expressed at each time step.
Figure 4. Delaunay Lattice Elevation
3.2
DYNAMIC OCTREE
Figure 5. Cluster of Branching Active Agents
Much of this agent behavior requires collision detection. At a given time step, an
Figure 6. Tetrahedron Pointer Structure
a g e n t m u s t t e s t i t s p r o p o s e d g r o w t h f o r c o n f l i c t w i t h t h e a l r e a d y e x i s t i n g g e o m e t r y.
Figure 7. SubFace Pointer Structure
287
form, geometry and complexity
A naive approach would be to detect for collisions between the test tetrahedron
and all existing tetrahedral. While fine for small meshes, such an algorithm quickly
becomes unmanageable as the number of tetrahedral increases.
As such, we
implemented a dynamic octree data type which partitions the tetrahedral mesh into
different buckets using top-down subdivision (Ericson 2005). Each tetrahedron contains
a pointer to its octree bucket, which reduces the number of required collision tests
dramatically. Once a test tetrahedron has been positioned in the octree, it only needs to
be tested for collision against its parents, siblings, and children (in the pointer structure).
This both speeds up the algorithm and allows for a much larger graph to be handled with
available memor y (Figure 8).
3.3
BREADTH FIRST GRAPH SEARCH
Some of the agent behavior requires a quer y of the local context of the currently active
face. The mechanism used for this is a Breadth First Search (BFS) of the graph created
by connecting the center of each tetrahedron (node) with its linked neighbor (edge). A
First-In-First-Out (FIFO) queue is utilized for this search to avoid the memor y issues the
Fig. 8
use of a recursive function would entail (Sedgewick 2007).
The depth of the search
can be controlled either by limiting the size of the search stack or as a gradient of the
overall graph size (Figure 9).
4
A cti ve Ag ents
Having established the general project environment, we then shifted our focus to defining
specific agent behaviors. At this point, it should be noted that any three dimensional
form can be approximated with a tetrahedral mesh of sufficient detail. So our playing
field (the basic tetrahedral mesh classes) is extremely generic and non-specific.
The
application of agent behavior is what transforms this completely neutral, generic data
type into our specific project.
Fig. 9
4.1
DIFFUSION LIMITED AGGREGATION
The tetrahedron cloud is a development of the classic Diffusion Limited Aggregation
(DLA) growth algorithm (Flake 1998). In a DLA simulation, a “seed” particle is placed at
the center of the simulation. Then an active agent particle is released at the perimeter,
where it moves on a random walk until it contacts the seed, where it sticks.
The
repetition of this process results in a form with a fractal dimension, as the process
occurs on multiple spatial scales.
The DLA fractal is appealing for several different
reasons: it is easy to describe and implement, it is based on the stochastic motion of
an active agent, and the resulting fractal resembles a number of forms found in nature
(Figure 10).
The tetrahedron cloud implements a number of DLA type agent behaviors, such as
stochastic motion and self-adhesion.
Fig. 10
A primar y difference is a greater flexibility in
terms of the growth algorithm itself. DLA algorithms typically rely on growth out from a
center. As the structure grows, access from the perimeter to the interior is blocked. So
the active agents tend to stick to the perimeter, resulting in the characteristic porosity
of a DLA fractal.
By contrast, the tetrahedron cloud lattice does not externalize the
active agent from the form. Rather, as described below, all activity happens within the
structure of the mesh itself.
4.2
AGENT BEHAVIORS
The current tetrahedron cloud system consists of six independent active agent behavior
types. All but the first of these behaviors combine stochastic motion with reaction to the
existing form at the current time (Figure 11). The basic idea for this type of approach to agent
behavior, understood as a tendency, comes from a modification of the biological concept of
the possible modes of cell migration relative to a gradient (Schweitzer 2003).
Figure 8. Dynamic Octree Containing Tetraheral Mesh
Figure 9. 20% Breadth First Search (BFS) of Graph
Figure 10. Grid Based Diffusion Limited
Aggregation Fractal
0. Initial. An initial regular tetrahedron of height h is placed within the simulation. One of the four faces is arbitrarily chosen as the active face.
1. Slippery. The next set of n tetrahedrons grows from the active face. Three of the four 288
acadia 2011
_proceedings
integration through computation
vertices are taken from the spawning face. The fourth vertex created normal to the spawning face, within a randomized range of 90-115% of h. These slippery agents are not allowed to attach back to any existing geometry.
2 . S t i c k y. T h i s a g e n t t y p e u s e s a B r e a d t h F i r s t S e a r c h ( B F S ) o f t h e e x i s t i n g graph to create a stack of tetrahedrons of length l on the path directly behind
the active face. The agent is not allowed to stick to this trail, but is permitted
to attach back elsewhere on the graph. In other respects, the growth is identical to agent type 1.
3. Bridge. Once a sticky agent detects an intersection, the test tetrahedron is discarded and a bridge agent is called. The bridge agent locates the closest point to the active face and creates a tetrahedron bridging the two. (Detection of a collision ends this process and the bridge is discarded.)
4. Glue. The faces sharing the bridge point are collected, and the two closest Fig. 11
faces between the bridge tetrahedron and the existing graph are selected. Tw o t e t r a h e d r o n s g l u e t o g e t h e r t h e s e f a c e s , u s i n g t h e D e l a u n a y c r i t e r i a t o s e l e c t t h e s h o r t e r o f t h e t w o d i a g o n a l s . ( S i m i l a r l y, d e t e c t i o n o f a c o l l i s i o n ends this process and the bridge is discarded.)
5 . Branch. A perimeter face is randomly selected and made active. If there is room, a new tetrahedron is spawned at this location. Otherwise, the random selection continues until a suitable location is found.
4.3
INTERACTION OF AGENT TYPES
Our simulation environment combines these agent behaviors according to a control
structure. In its current form, a call to agent 0 (the “seed”) is followed by cyclical
calls to agents 1-5. There are a number of global variables which dramatically
impact the formal output. For example, the range of h controls the “quality” of
Fig. 12
the spawned tetrahedrons. Another important variable is the stack size l of the
BFS trail used for the sticky tetrahedrons. A longer stack prevents self-adhesion
further back into the graph, and thus results in longer paths before the possibility
o f s e l f - a d h e s i o n . Ye t a t t h e s a m e t i m e , t h e r e i s a f a i r l y c o n s i s t e n t o v e r a l l s t r u c t u r e
with this approach.
In general, the branching agents tend to want to appear at
t h e e x i s t i n g c e n t e r ( s ) o f m a s s . T h i s m a k e s s e n s e i n t u i t i v e l y, b e c a u s e t h e r e a r e a
greater number of available faces in this location (Figure 12).
5 I mple me n ta tion
We were recently commissioned to design a site-specific installation (opening
December 2011), for which we are applying this research. The idea is to create
an occupiable cloud hovering above the floor in a 50’ high gallery space. There
will be a narrow cantilevered balcony 16’ off the gallery floor which leads to the
c e n t e r o f t h i s c l o u d f r o m a s e c o n d f l o o r g a l l e r y. T h e c l o u d w i l l b e f a b r i c a t e d o f
inflatable material, either as a continuous balloon or independent tetrahedrons
velcroed together (Figure 13).
Moving from the abstract program to this specific implementation triggered the
need for several new components.
Fig. 13
First, we added the possibility for multiple
i n i t i a l ( s e p a r a t e ) m e s h e s . To d o t h i s , w e m a d e t h e o c t r e e m e m b e r o f t h e t e t r a h e d r a l
mesh class static – allowing all the individual meshes to share the same collision
detection mechanism.
Second, we added a switch for adding arbitrary mesh or
B-rep shapes to the octree before running the simulation. In this particular case, it
a l l o w e d u s t o m a k e s u r e o u r c a n t i l e v e r e d p a s s a g e w o u l d r e m a i n c o m p l e t e l y c l e a r.
F i n a l l y, w e a d d e d a n i n i t i a l i z a t i o n c o m p o n e n t t o d i s t r i b u t e l o c a t o r s r a n d o m l y w i t h i n
an arbitrary B-rep shape.
This initial simulation is controlled with two variables:
( 1 ) t h e n u m b e r o f l o c a t o r s a n d ( 2 ) t h e p o r o s i t y o f t h e p a c k i n g . To e n s u r e a
Figure 11. Agent Behaviors
m i n i m u m o f f s e t b e t w e e n l o c a t o r s , a s p h e r i c a l b u f f e r s u r r o u n d s e a c h l o c a t o r. I n t h e
Figure 12. 200 Cycle Cluster
simulation, a test sphere is randomly placed within the B-rep volume and tested for
Figure 13. Tetrahedron Cloud Installation
289
form, geometry and complexity
collision with the enclosing B-rep and all other existing spheres.
If a collision is
detected, the test sphere is discarded. If there is no collision, the test sphere is
kept and a new test sphere added. This process continues until a timeout or the
target number of locators is reached. Thus, our initial simulation packs the B-rep
with spheres whose centerpoints are a set of randomly distributed locators with a
guaranteed minimum offset.
T h e p o r o s i t y v a r i a b l e c o n t r o l s t h e t i g h t n e s s o f t h i s p a c k i n g . To c l a r i f y, w e f i r s t
calculate the volume of the B-rep shape we are filling and divide by the number of
locators. This gives us an upper bound volume for each locator region assuming
the following conditions: all locator regions are equal in size and the regions
fill the larger volume completely with no gaps.
H o w e v e r, o u r s p h e r i c a l b u f f e r s
cannot pack space without gaps. So we need to reduce this upper bound volume
a c c o r d i n g l y. I n a d d i t i o n , w e w a n t t o a l l o w o u r s p h e r e s s o m e d r i f t f r o m a n i d e a l
tightly-packed configuration. This can be achieved by further reducing the volume
of the spherical buffers.
Thus, our porosity variable (a value set between 0 and
1) reduces the upper bound volume to a useable spherical buffer volume.
A low
porosity variable results in a loose packing, with relatively small minimum offsets
between locators; a high porosity variable results in tighter packing, up to the limit
beyond which the simulation times out. In all cases, this variable determines the
amount of freedom the locator buffers are allowed (Figure 14).
C o n c e p t u a l l y, a d d i n g t h e s e n e w c o n t r o l s m a k e s t h e s i m u l a t i o n b e h a v e m o r e
like a sponge or a network than an individual DLA simulation. As there is no
distinction for the active agents between self-linking and linking to other meshes,
the simulation creates a dense interlinked network over time – ultimately obscuring
the distinction between the separate clusters.
Developing this particular project
f u r t h e r, w e a r e i n t e r e s t e d i n t h e f o r m a l d i f f e r e n c e s b e t w e e n a f r e e b o u n d a r y
condition (the current implementation) and a boundary condition which is bounded
by an additional thickness of locators.
These boundary meshes would serve to
p r o v i d e “ p r e s s u r e ” f o r t h e i n t e r i o r e l e m e n t s , a n d t h e n u l t i m a t e l y b e d i s c a r d e d . Tw o
obvious precedents of algorithms which address similar open boundary issues are
G a u s s i a n b l u r a n d Vo r o n o i a l g o r i t h m s .
6 Co ncl usi o n
Agent-based
volumetric
meshing
demonstrates
a
dynamic
responsiveness
capable of more accurately simulating natural phenomena than more traditional
parametric and non-stochastic methods.
Fig. 14
A s s u c h , t h i s p r o j e c t ’s g e n e r a l g o a l i s
the introduction of a new toolset for the manipulation of stochastic systems in
the generation of architectural form.
The tetrahedron shape at the core of our
simulation was selected for its lack of specificity; any volumetric form can be
approximated by a collection of tetrahedrons of adequate fineness.
As such, the
larger project is completely open-ended, as larger more complex data types can be
b u i l t f r o m t h e s e t e t r a h e d r a l c o m p o n e n t s . R e a l l y, t h e m o s t i m p o r t a n t t h i n g f o r u s w a s
that this research was already volumetric – thus avoiding the potential limitations
of implementing a translation step between guide geometry and the final form. This
p r o j e c t c o l l a p s e s a n y d i s t i n c t i o n b e t w e e n a c t i v e a g e n t s a n d t h e f i n a l g e o m e t r y.
We anticipate future projects extending this research to focus on thickening
regions through the clustering of agents. The first project implementing the basic
engine relies heavily on geometry being formed from the path of an individual
a g e n t ’s g r o w t h .
Future behaviors like gluing and thickening may arise from re-
conceiving agency as a larger zone with the capacity to detect and react to
specific environmental conditions.
Over time, we suspect this genre of agency
will become ever more distributed and decentralized as the available behaviors
increase in finesse.
Figure 14. New Components: Initialization Phase
and Obstacle Constraint
290
acadia 2011
_proceedings
integration through computation
R e f e re n c e s
B a u m e , N . , J . M e r g e l , a n d L . W e s c h l e r. 2 0 0 8 . Ta r a D o n o v a n . N e w Yo r k : T h e
Monacelli Press.
C o r b e l l i n i , G . 2 0 0 9 . B i o r e b o o t : T h e A r c h i t e c t u r e o f R & S i e . N e w Yo r k : P r i n c e t o n
Architectural Press.
Ericson, C. 2005. Real Time Collision Detection. San Francisco: Morgan Kaufmann.
Flake, G. 1998. The Computational Beauty of Nature:
Computer Explorations of
Fractals, Chaos, Complex Systems, and Adaptation. Cambridge: MIT Press.
F o s t e r, H . 2 0 0 5 . P o p . N e w Yo r k : P h a i d o n .
H e a r t n e y, E . 2 0 0 9 . R o x y P a i n e . N e w Yo r k : P r e s t e l .
H j e l l e , O . , and M. Daehl en. 2 0 0 6 . Triang ulat io ns an d Appl i c ati on s. N e w York: Sprin ge r.
K a a n d o r p , J . 1 9 9 4 . F r a c t a l M o d e l l i n g G r o w t h a n d F o r m i n B i o l o g y . N e w Yo r k :
S p r i n g e r- Ve r l a g .
K o o l h a a s , R . 2 0 0 4 . C o n t e n t . K ö l n : Ta s c h e n .
P o t t m a n n , H . , A . A s p e r l , M . H o f e r, a n d A . K i l i a n . 2 0 0 7 . A r c h i t e c t u r a l G e o m e t r y.
Exton: Pennsylvania: Bentley Institute Press.
Reichman, O., and E. Seabloom. 2002. The Role of Pocket Gophers as Subterranean
E c o s y s t e m E n g i n e e r s . I n Tr e n d s i n E c o l o g y & E v o l u t i o n 1 7 ( 1 0 ) : 4 4 - 4 9 . N e w Yo r k :
Elsevier Science.
S c h w a r z , A . 2 0 0 0 . T h e C o m p l e t e Wo r k s o f M a r c e l D u c h a m p . N e w Yo r k : D e l a n o
Greenidge Editions.
S c h w e i t z e r, F. 2 0 0 3 . B r o w n i a n A g e n t s a n d A c t i v e P a r t i c l e s : C o l l e c t i v e D y n a m i c s i n
t h e N a t u r a l a n d S o c i a l S c i e n c e s . N e w Yo r k : S p r i n g e r- Ve r l a g .
Sedgewick, R. 2007. Algorithms in C++: Graph Algorithms. San Francisco:
A d d i s o n - W e s l e y.
S e m p e r, G . , t r a n s . H . M a l l g r a v e . 2 0 0 2 . S t y l e . L o s A n g e l e s : G e t t y R e s e a r c h
Institute.
Shewchuck, J. 1997. Delaunay Refinement Mesh Generation. Ph.D. Thesis.
P i t t s b u r g h : C a r n e g i e M e l l o n U n i v e r s i t y.
S i , H . 2 0 0 6 . Te t G e n : A Q u a l i t y Te t r a h e d r a l M e s h G e n e r a t o r a n d T h r e e - D i m e n s i o n a l
D e l a u n a y Tr i a n g u l a t o r u s e r ’s m a n u a l . B e r l i n : W e i e r s t r a s s I n s t i t u t e f o r A p p l i e d
Analysis and Stochastics.
Ta m k e , M . , J . R i i b e r, H . J u n g j o h a n n , a n d M . R . T h o m s e n . 2 0 1 0 . L a m e l l a F l o c k .
In Advances in Architectural Geometry 2010, eds. C. Ceccato, L. Hesselgren, M.
P a u l y, H . P o t t m a n n , a n d J . W a l l n e r, 3 7 - 4 5 . V i e n n a : S p r i n g e r- Ve r l a g .
Ve n t u r i , R . 1 9 6 6 . C o m p l e x i t y a n d C o n t r a d i c t i o n i n A r c h i t e c t u r e . N e w Yo r k : T h e
Museum of Modern Art Papers on Architecture.
291
form, geometry and complexity