Overview |
|
"The Shape of Discourse"
uses the processing IDE to create dual graphical interfaces. These interfaces
are based on a data set which is the result of an internet bot . One of
the interfaces displays a three dimensional architectural structure that
dynamically changeds over time; the other interface gives a two dimensional
network representation of how the data is interpreted to create the structures
that are being displayed. |
|
|
|
processing |
|
Processing
is an open project started by Ben Fry and Casey Reas at MIT and UCLA. Processing
is a programming environment built on top of Java that allows for sophisticated
graphical design via relatively simple Java code. "The Shape of Discourse"
uses processing to create both the three dimensional structures and the
two-dimensional network; processing was chosen because of the projects dependence
on graphics. |
|
|
|
Spidering |
|
This project relies
on creating a cohesive/current-day discourse between different architects
that shape our modern world. To this effect, a bot was created in processing
to scour the internet looking for relationships between architects. The
bot is seeded with 64 historically significant architects; by automatically
accessing a search engine (Alta-Vista was used because it lacked anti-spidering
software) the bot enters in every combination of architect pairs. This results
in a set of webpages containing both names inclusively. By enumerating the
number of hits each query produces allows for the quantification
of a relationship between two architects. Thus the queries with more hits
leads to a stronger relationship between architects while the queries with
fewer hits leads to a weaker relationship. These results are put into a
matrix of all the architects, and this data is passed to the three-dimensional
processing program. |
|
|
|
Architectural
Structure |
|
The architectural structure
code contains three main parts. The first part is code to build one truncated
octahedron (toh). The toh is the primative brick that constitutes the three
dimensional structure. Each toh has six squares and eight hexagons. Thus
it has 24 vertices, 34 edges, and 14 sides. Therefore the code has three
functions to deal with the creation of the toh: makePoints(), makeEdges(),
and makeFaces(). All of these together make a single toh. The second part
of the code is to implement an algorithm. This will be explained later in
the Algorithm section. The third part of the code is the interface. The
actual structure is limited to a box with a horizontal plane in the middle
to simulate a three-dimensional grid. No toh can extend outside this box.
Each toh represents a different architect; the initial camera orientation
places the user behind a clear vertical plane that acts as a screen. Names
of architects that represent the most recently created tohs are projected
on this screen with the recent ones being dark and older ones faded. Using
the mouse in the display window, the user can move the camera orientation
to view the box/structure from any orientation. |
|
|
|
Algoritim |
|
After the bot returns
a matrix of numbers relating the architects, this algorithm is used to create
the three dimensional structures. A first architect is picked at random.
This architect is represented by a toh at the origin. For each side of this
toh, an architect is chosen using the bot results. The 14 architects that
relate most closely to the current architect get designated to each side
of this toh (toh has 14 sides). Thus the related architects that have the
highest relationship number to the current architect as determined by the
bot get chosen. A weighted random function is used to pick a side of the
toh. This function is weighted in proportion to the relationship number.
The sides with the closer relationships get picked more often. The side/related
architect that gets picked spawns another toh, out of that side, connected
to the first toh. This toh represents the architect that the side was designated
to. The algorithm starts over with the new toh. The total tohs are
set to some maximum number. After they are all drawn, the next toh is obtained
by moving the very first toh to get a snake like effect. If the future position
of a toh is already occupied by another toh, the weighted random function
is run again until a vacant side is chosen. |
|
|
|
Network
Display |
|
The network display
shows the history of our "discourse" displayed by the three dimensional
architectural structure. The network display consists of a square grid of
64 points. Each point represents an architect. For each toh created by the
architectural display, the related dot is highlighted. Then 14 lines are
drawn from the highlighted dot to 14 different related architects on the
grid based on the bot data. A colored line is drawn between the current
architect and the chosen architect while the other 13 lines fade away. By
following the colored lines one can follow the path of architect interaction
being displayed by the architectural structure. Over a longer duration the
dark lines fade away. |
|
|
|