Professional Documents
Culture Documents
Scale Spaces:: The Problem of Rigour
Scale Spaces:: The Problem of Rigour
The goal of this exercise is for students to get an opportunity to familiarize with the
capabilities and shortcomings of computational techniques in design. By necessity
we are going to reduce the actual technical component of this exercise to a
minimum. This minimum however will help as explore some themes and tensions
that emerge when computational procedures interfere with the design process.
Anderson does not want to challenge reductionism and explicitly states so. It is a
tremendously useful principle that has almost universal acceptance. But he does
want to understand the limits of reductionism in making sense of a world that is
messy and complex.
These limitations become even more apparent in the case of design and the
production of cultural artefacts.
What looks like structure up close it might look like a pattern that constitutes the
texture of a larger structure when seen at another scale.
Functions as maps
One of the components of this exercise will give us an opportunity to discuss a
couple of more concepts at the intersection of mathematics, computation and
material culture. We are going to employ simple functions in order to generate a
propagating pattern that will represent vaguely an urban plan. A mathematical
function in its more general sense is a map that associates two sets. In our case we
will build functions that map points from one space [an initial distribution] to
another [a deformed and warped variable density distribution]. Mathematical
functions bring along certain artefacts that become important aesthetic features
and manifest themselves in many different ways in material culture. This is just an
example of convergence between craft and computation.
Singularities and exceptions
A defining feature of most functions is a singularity. Loosely speaking it is a region in
a functions domain where the function itself may be indeterminate and it usually
manifests as a collapse in the mapping. Two well-known singularities are the poles
of the earth when we use Latitude and longitude to describe locations.
The placement of these singularities where the logic of a pattern collapses can be
a design problem. Often such singularities are incorporated into the logic of the
artefact and endowed with meaning.
Looking at the jade mask from ancient China above there are two singularities that
form conviniently at the tips of the mouth allowing a rectangualr grid to cover a non
rectilinear domain while remaining parallel to the mouth and chin. This is very
similar to a mathematical function that maps the oval shape of the face to a
rectangular region and needs this extra feature, the singularity, to resolve the
variable stretching.
However there is a secondary feature here that is not part of the mathematical
solution. This is the two eyes. Two circles placed against the requirements of the
mapping, two foreign objects shuttering the logic of the pattern. They make sense
because of factors external to the patterning logic [the interpretation of the shape
as a representation of the face]. These two circles are exceptions within the
pattern. It is not the point where the logic collapses but where it is ignored because
this mask is a cultural artefact fulfilling multiple requirements, including a symbolic
function.
When dealing with real world problems exceptions have to be introduced quite
often. These are imposed requirements seamingly unrelated and external to the
logic of the mathematical description but essential nontheless. They do introduce
inconsistencies and make code inelegant. They are usually the points where the
elegance of the computational solution reaches its limits and comes into conflict
with the externalities of its own logic.
Even when not explicitly referenced or even used as a tool, the digital manifests
itself in many aspects of contemporary culture, simply because our aesthetic
experience is heavily mediated by these media. The digital has found an expression
in material and visual culture and the artifacts of digitization and computation can
become manifest in various way, subtle or not. The sculptures above by Xavier
Veilhan use exactly the short comings of digital representation [the selective
reduction of information content, and the disruptions or degradation of visual
information as a signal] as an aesthetic statement.
This sculpture by artist Yi HwanKwan also indirectly references digital methods. The
image is not squashed. The artist creates naturalistic sculptures of ordinary people
but applies a non uniform scaling to their geometry. This disrupts our normal visual
processing when faced with these artefacts in a physical setting. The effect is a
sense of loss of spatial proportions which can be disorientating and disturbing. The
transformation though that enables this effect, the idea of separation of scaling
along different axes is more probable in a society saturated with digital media and
the way they manipulate visual information [though anamorphic projections in the
past can come close to similar effects].
In a sense the digital characterized by seriality, and uniform treatment of the
environment as a stream of interchangeable signals, generates its own visual
culture. These artworks acquire meaning within a culture already used to a digitally
mediated appropriation of the environment even if no computer were to be used in
their conception and fabrication process.
For this exercise students will work within a computational environment that has
already been set up for them. In a sense this procedural definition is going to be an
exploration, observation and reflection tool.
The interface is divided into two major groups of components
[configuration/generation] and [analysis/observation].
Students are only interacting with the red components. Most of them are sliders
that enable them to explore the parameter space of the solution. However the
central red script component will require the input of formulas that will enable
greater freedom in exploring the various spatial configurations and distributions of
units.
The skeleton structure of the above component is the following:
1.
2.
Configuration/ Generation
a. One
i. Pair configuration
ii. Pair visualization
b. Many
i. Instantiation
ii. Re-Mapping
iii. Transformation
Analysis / Observation
a. Topography
b. Figure / ground
c. Density map
d. Scale spaces and the clustering continuum
Configuration/ Generation
This region contains the controls that enable the configuration of the pair relation
between the two units and the generation of a first map that is created by unit
instantiation.
One
This region of controls is focusing on the configuration a single pair and the relative
positioning of the two components.
Pair configuration
The red sliders here control the relative positioning and rotation of the two units.
There are 3 translations for the shifts along the x,y and z axes, as well as two
rotations [in degrees] for the two units.
Pair visualization
This is a component for the visualization of the pair. The purpose of this is just to
make it easier to see the pair changing as well as the complete map. You can define
a point around which to visualize the pair as well as scaling factor.
Many
This group control the generation of the complete map through the instantiation of
the previously defined pair.
Instantiation
This component generates an initial set of copies of the original pairs. This initial
grid will be radically reshaped during the remapping phase.
You can control the number of units [countx and county] along the initial x and y
axes, the distance between successive units [dx and dy] as well as a unit omission
pattern [mod1 and mod2] that generates periodic gaps in the grid.
Re-Mapping
This is the components where students have the most control over the layout of the
map.
Until now interactions with the model were mediated by user interface elements
such as sliders. Here you can directly control a small portion of the code that will
generate the map using simple mathematical formulas. This control is named remapping because its main purpose is to reposition and rotate the instantiated
Adding some acceleration along the x axis can be achieved by adding more
displacement along the x for each point depending on the square of the x
coordinate. In the formula below Y,Z and R remain unchanged. We add a
displacement along the x axis for each unit that depends on its normalized z
2
coordinate. The factor (500 nx ) means that the left most units [nx=0] will remain at
their original positions but the rightmost units [where nx=1] will be displaced by 500
feet along the x axis. Units in the middle [e.g. nx=0.5] will be displaced by a factor of
[0.5*0.5*500 = 125 feet]. Because we are using the square of nx the rate of
displacement along the x is accelerating [try different powers like nx*500, or
nx*nx*nx*500]:
We can add a periodic displacement along the x axis by using the cosine function of
the x coordinate:
And we can rotate the units so that the left most units have a rotation of 0 and the
right most a rotation of 360 by associating the rotation angle R with the x
coordinate [R=nx*360;] 360 means that we will get a full rotation along the x axis.
Here we also modify the topography of the map by changing the elevation Z along
the y axis.
We can also add a degree of randomness in the rotation angle that it too varies
along the x axis [with no randomness on the left and maximal randomness of
100degrees to the right]
With clever use of formulas you can create not only variable density rectangular
grids but also multipolar configurations with singularities:
To enter the function cos(x) for example for the cosine you need to write it like
Math.Cos(x)
All mathematical functions will be preceded by the namespace Math.
The trigonometric functions:
Function name
Cosine
Sine
Tangent
Absolute Value
Exponential
Logarithm
Power
ArcTangent
Round a number
Traditional form
cos(x)
sin(x)
tan(x)
|x|
x
e
log(x)
y
x
arctan(x)
C# equivalent
Math.Cos(x)
Math.Sin(x)
Math.Tan(x)
Math.Abs(x)
Math.Exp(x)
Math.Log(x)
Math.Pow(x,y)
Math.Atan(x)
Math.Round(x)
You dont need to interact with any of the components in this group. They simply
convert the formulas you entered into geometric transformations and apply them
to copies of the original pair.
Analysis / Observation
This group of components will help you observe secondary effects in the generated
map as well as visually explore and evaluate the outcomes.
Topography
This component generates a continuous mesh from the corners of the instantiated
blocks. It uses a common technique for surface reconstruction called [Delaney
triangulation]. The local elevation [human scale] variations will be determined by
the relation between the units of each pair of houses while the large scale elevation
variation will be determined by the Z component of the remapping formula.
Figure / ground
This component is fully automated. It reads your geometry and generates a high
resolution image. We need to do this transition step from a vector representation of
geometry [points and lines and surfaces..] to a raster [an image] because it is easier
to estimate properties such as density using a pixel grid.
The only input required is to set the path where the generated image should be
saved. You can do this by right clicking on the path component [in red] and selecting
a file in any folder of your hard drive. This file will not be overwritten but an image
of the map will be saved in the same folder as the selected file. You also need to
double-click on the image component [large area at the top right] and select the
path of the saved image so that it can display it.
Density map
In this component we extract contours from the previous downsampled map that
represent different clustering behaviours. The concept of a cluster is not fixed but it
depends on the scale we are looking at [downsampling] and the threshold of
proximity we arbitrarily set [red slider here]