The Articulation of Visual Experiences Through Algorithm
The Articulation of Visual Experiences Through Algorithm
visual experiences
through algorithm
Carlos Lunetta
The articulation of visual experiences through algorithm
by Carlos Lunetta
May 2005
Jan Kubasiewicz
Thesis Advisor
Joe Quackenbush
Thesis Document Advisor
Brian Lucid
DMI Faculty
Toby Bottorf
External Reviewer
Abstract
This thesis investigates the relationship between code and visual language.
From this relationship, a new vocabulary of new media will emerge,
driven by ideas that stretch their existence simultaneously through all
means – visual, aural, verbal, haptical, temporal and logical.
7
Aknowledgements
To Joe, Gunta and Brian, for all the worthy hard work.
9
Table of Contents
Definitions 17
Roots 27
Concepts 39
Praxis 53
Experience 67
Case Studies 71
Sound in Space 73
Form Systems 85
Riley Patterns 99
Logic Molecules 109
Patterns of Time 115
Findings 121
Bibliography 125
11
Preface
“Every work of art is the child of its age [...] Each period of culture
produces an art of its own which can never be repeated.”
— Wassily Kandinsky
13
Disclaimer
15
Definitions
Composition, audience and medium are linked together: each one influ-
ences and is influenced by the other, in a mutual, constant change.
�����������
������
��������
a model for visual experience
���������������������
1
“Design is the method of putting form and content together. Design, just as art, has multiple definitions,
there is no single definition. Design can be art. Design can be aesthetics. Design is so simple, that’s why it is
so complicated.” – Paul Rand
17
Computer: a new medium
The personal computer has worked as a tool for design production and
artistic experimentation since its tender age. During the mid-nineties,
though, a shift in the role of computing occurred: the advent of the
internet, that allied with the proliferation of household computers gave
birth to a new mass communication medium.
Computers have became no longer just a production tool, but also the
living space for the design creation.
Once a new medium has been established and the gates for new dimen-
sions in design have been opened, a question arises: how is the conception
of visual experiences changed? How can new media affect creativity?
2
Although this document aims the exploration of personal computers, like desktop or portable systems, any
micro processed object is considered a computational medium: cell phones, palm tops, text messengers, DVRs
and others
18
and generating design elements according to their own proprietary algo-
rithms, like vector antialiasing and motion tween functions.
Up to this point in time, the creative process per se changed very little
– more dimensions were added, but the visual experience conception
remained the same. Under the navigation buttons and animated items,
conceptually print media pieces live online.
Birth
The computer is both a medium and a tool for design – but the creative
process seems to still be far from the machine. Why is it the case that the
principles of computation are not present in the creative framework, in
the conception of a visual experience?
They are present, but for a very small number of designers, still far from
the mainstream. There’s a gigantic gap between the number of designers
that use computers as a tool and the number of designers that use the
computer as a part of the concept in the design work. There are a small
number of design pieces that can only exist and be understood inside the
digital medium.
19
��������� ����������
������� �������
������ ������
����� ��������� �����
��������� ���������
������� �������
������ ������
a model for computation
The creative use of computation takes advantage of the nature of data pro-
cessing in favor of design. There are situations where traditional design
meets the limits of human labor; a computer can address a different scale
than human hands in artistic creation, dealing with the very large, the
very small, the very precise, the very exhausting, so on and so forth.
20
• Discretion: program elements can be discrete; events can be
triggered by any kind of input rather than linear time. This is the key
for interaction.
The second reason is cultural and social; western education branches arts
and humanities from math and science. From high school to postgraduate
education, there’s a strong sense of separation between different areas
of knowledge. Computational design merges art, math, physics and even
psychology, when dealing with the study of interactive design reaction.
The union of different branches of knowledge is required – accompanied
by a mindset prepared to create blissfully in any necessary field of study.
21
Verbal, visual and computational
��������������� ���������������
������������������������������ ������������������������������
������ �����
���� �����
�������� �����������
22
���
��������
������
��������
����������������������������
The computational language acts as an extra channel - it has similar
structural properties to other communication means, thus, correlations
of similar elements in the structure can be established.
4
“A language is a system of pure values” – Ferdinand Saussure
23
��������������� ��������������� ����������������������
�������
����������� �������������
���������� �������������
�������������
����������������
����������� ���������������
��������
���������������������������������������������
24
Module and System
The building blocks that define a language are considered modules; each
module is unique, and represents a concept, an idea. Modules interrelate,
creating a system - the composition. Words interact in a sentence, shapes
interact in a canvas, and programming objects interact in a code.
������ ������
������ ����
���� ��������
�������� �������
Articulation
25
Roots
The branches of knowledge have been treated as one through time; the
knowledge of understanding nature, the knowledge of understanding
the spirit and the knowledge of expressing both. Science, religion and art
are linked together in the history of civilization. Pyramids, temples and
statues that remain still prove how engineering and art were combined in
service of belief.
Notable thinkers in history also show that the path of science and art can
be one; Greek philosophers like Plato and Aristotle, for example, inves-
tigated math and physics along with aesthetics and poetry – all inquiries
about the real world.
Jumping in time and space, one of the best examples is Leonardo da Vinci.
Da Vinci had a strong grasp of mathematics and engineering, showed
in his fabulous inventions, and strong artistic ability, proofed with his
invaluable paintings and sculptures. His creativity had no borders.
27
The renaissance era of da Vinci gives us an important demonstration on
the incorporation of mathematical and scientific concepts in the artistic
creation. Before this movement, medieval paintings were visually flat.
Space and volume were represented, but did not reflect reality. The artistic
composition, as a concept, was focused in the symbolical components;
the concept of composition was centered in the meaning.
— Karl Gerstner
28
Masaccio’s Trinity. Masaccio
employed complex mathematical
detailing when producing his work.
“All religions, arts and sciences are branches of the same tree”
— Albert Einstein
29
Physicists like Albert Einstein and Werner Heisenberg believed that
knowledge has similarities in different specializations – and there’s a
mutual benefit of connecting those similarities.
“Yet, history shows us that art and science, two basic human
activities springing from a common love of nature are interde-
pendent. Each achieves stronger growth when cross-pollinated
by the other.”
— Gyorgy Kepes
Computation
The domains of visual and computational languages met right after the
advent of processing machines, during the fifties. The early explorations
involved tweaking the graphical output of huge computers to record film
frames and create animations, or by simply photographing an oscillo-
scope display that could be programmed. John Whitney, Sr. was one of
the most important founding fathers of computer graphics.
30
“The union of color and tone is a very special gift of computer
technologies”
The work of Noll has extreme importance; besides Mondrian’s mimic, his
programs investigated composition from a probability stand point – visual
forms were derived from a computational concept. Lines would be drawn
(or not) according to the visual density of the composition. Other Noll
31
works dealt with geometric randomness or repetition; he clearly took
advantage of the newborn computation process in a creative way. The
machinery evolved a lot since then, but Noll’s ideas are still fresh – there
is no conceptual obsolescence.
In the early seventies, Xerox Corporation founded the Palo Alto Research
Center, also known as PARC. It was inside the PARC that most of the
“modern” concepts used in computation were invented, like the icon,
object oriented programming, laser printer, WYSIWYG (what you see
32
The SketchPad
The contemporary contribution from the MIT comes from a new gen-
eration of scientists/artists/designers developing projects regarding the
33
interaction of humans and technology. This happened at the “Visual
Language Workshop”, in 1973, and later, in 1982 when the Media Lab was
founded by Nicholas Negroponte. The specific topic of visual language
mixed with computation was more intensely researched years later by
Muriel Cooper, a pioneer in digital typography who worked to develop the
language and structure of electronic design, and to expand the graphic
design culture to four dimensions. John Maeda, considered Cooper’s
successor, founded the “Aesthetics + Computation”2 group, where many
researchers were involved in visual issues through programming, and how
the visual language could be expressed and interacted with an audience
through computation.
2 http://acg.media.mit.edu/
34
Maeda’s Design by
Numbers interface
Logo interface
The second project from MIT towards a visual creation code was
created by Ben Fry and Casey Reas, and is called “Processing”. It adds
a great number of features and extend “Design by Numbers”, providing
more creative freedom and keeping the accessibility for non-computer
scientists. Processing has today around 1000 users – a small number
compared to the whole interactive design community, but a big number
of participants in a non-commercial, non-advertised university project,
that is still entering its beta stage of development. The most important
fact: the massive majority of the users are interactive designers, who were
initiated to scripting languages when developing for the internet, and
sought ways for doing more. Processing has no timeline, no visual thrills,
and its interface is a simple text editor. But the concept of the application
is clearly targeted to the artistic creation, hence its success among the
design community.
35
Processing Beta interface
36
Concepts
Creative Framework
Although similar, they’re also very different. It’s easy to discern one from
another; they have different aesthetic values, and generate completely
different reactions.
Painting has its strength on expressing the author’s internal world; even
a photo-realist painting translates the artist’s view of light, color, form.
A painting is built from a clear canvas; it is additive, colors and shapes
are added to build a visual piece. Pigments, solvents, brushes and stroke
techniques are elements that the painter can manipulate on creating his
work.
39
in painting; each medium has its own set of procedures. The instruments
that allow those concepts to materialize - lenses, brushes, pigments, film
– are creative tools.
40
Modules
��� 1
���� 1.0
���� 1e20
������ 1.77e-3
������
“a”
����
true
false
��������� �������
����
�����
{1, 2, 3, 4}
�����
class example
{
var example1;
var example2;
}
41
Composite data is the name given to primitive data combined; a word,
for example, is a combination of characters, and is called string. Arrays
are another kind of composite data: they’re groups. They can be groups
of other groups (nested arrays) number, characters, objects or any other
datatype.
> this.teaPot
Every object belongs to a class: the class is the template, the category that
defines the possible properties that an object can have.
class Teapot {
float size;
float color;
String lid
String spout
}
things the make a real teapot class “Teapot”: things the make
be a teapot: a teapot object be a teapot.
1.ability to hold liquids The initial defined properties
2. handle are size, color, the kind of lid
3. lid and the kind of spout.
4. spout
42
The main feature of programming through objects is the modularity:
objects can be multiplied, reused, changed, and are independent beings
inside a system.
• Repetition
void setup() {
size(100,100);
fill(0);
}
void draw() {
background(255);
for(int i=0; i<3; i++){
for(int j=0; j<2; j++){
rect(10+i*30, 25+j*30, 20, 20);
}
}
}
43
• Transformation
• Randomness
44
• Precision
The case study of the harmonograph (page 78), for example, shows
musical intervals converted to images; the purity of a interval determines
if the image will be symmetrical and stable or not. The visuality of the
whole piece changes with any small deviation of the interval value, even a
0.0000001 unit. The concept of precision thus is valuable when obtaining
certain visual pieces.
• Predictability
45
• Discretion
Being modular and being discrete are almost synonyms; events in com-
putation don’t need to be linear; events can happen in modules – they can
be handled through any kind of input. A computer code can have a set of
functions, and these functions be called to act any time. A user interacting
with a mouse is an example; when the mouse clicks an item, an event is
called.
The mouse was the event that determined the moment in time where
the action took place; that action could happen again and again – or not.
There’s no need for linear time in logical modules.
• Complexity
Peter de Jong
algorithm shown with
2,000,000 iterations.
• Simplicity
46
Malevich’s Black Square and Red Square :
simple and powerful.
• Memory
There are two kinds of memory in a computer system; the volatile, logical
memory – where the necessary data for realizing a code is stored, and the
physical storage.
The physical memory is permanent1; the role of time is very clear on the
concepts of computation, and the physical memory is the place where
time stands still. Like a printed book, binary data is printed onto an
optical or magnetic surface, where it can be physically stored.
The creative value of storage is in its power: a database can hold an un-
imaginable amount of information, in any kind of format. The internet
itself is a gigantic database, that can be retrievable through search engines.
The Human Genome Project and the CERN nuclear collision database are
examples of huge unique data storage projects, with billions of bytes that
can be retrieved, sorted and shaped in any way.
1
Subject to physical decay through time; under controlled storage conditions, the decay is minimal.
47
Ben Fry’s Haplotype Lines: a creative visualization of the massive genomic database.
48
The computer intelligence is a widely discussed topic; one of the most
famous writings on it comes from Alan Turing, a mathematician that
published in 1950 a test where machines would be considered intelligent
if they could engage a non discernable conversation with a human being.
The validity of the Turing test is questioned today, but no machine could
achieve the “victory” so far. Despite the advancements on artificial intel-
ligence, it remains artificial - a mimic, or a source of algorithmic varia-
tions.
�������������
������������������� ����� �������
�������������������� ��������������������
�������
��������������� �������������������������
��������������
���������������� �������������������������
The term generative design shouldn’t be used to define design created “by
the computer” – it should be used to describe “through the computer”
instead. In a broad sense, any design that is visualized through a computer
can be considered generative, but the usage of the term becomes more
appropriate when describing automated processes - the computer is
programmed to build automatically certain visuals according to a set of
variables and pre defined laws with no need of human interference.
49
“…the language of the computer is the language of technology,
not the language of design. Without a knowledge of design, the
computer (like the pencil) is more than useless, for it is capable
of producing enough superfluous material to create the illusion,
that one is inventing when in fact, one is merely producing varia-
tions of a theme, often of nothingness.”
50
Praxis
The computer is obviously the most necessary tool for the task. It needs
to feature a screen – a device capable of displaying an array of pixels,
light elements that are lit or not to build shapes and colors. It also needs
to feature input devices, like keyboard, mouse or joystick. Finally, it
needs the software, a logical layer between the computer circuit and
the designer. The choice of software is a controversial issue: different
packages offer completely different experiences for the designer and
for the audience. Also, every software title imprints different aesthetical
details to the pieces generated by them.
A software title that helps the creation of visual experiences will act as an
interpreter, a translator between the designer and the machine. Different
interpreters will build the translated content in different ways; the overall
meaning might be the same, but the lexical construction will differ. Also,
software packages use libraries of functions – pre written formulas that
help the development of a visual piece.
53
Forms of Code
Canned or artisan, the software tools provide a clean slate for creativity.
There are many options to design through algorithm and these options
have mainly three categories: compiled, scripted (aka interpreted) or
markup languages.
Their definition is a little fuzzy; the main idea is that a code written in
a compiled language is converted to machine language – “compiled” -
before it is distributed and executed. The final product does not contain
the original written code, but a translated machine code. For example,
C and Pascal are purely compiled languages. C++ and Java are semi-
compiled, they stand in an intermediate structure between compiling and
scripting modes.
Forms of Image
54
converted to pixels before being shown on the screen; depending on
the software that is interpreting them, different rendering results are
noted, different visual styles are achieved. Pixels are square elements,
and they’re required to represent points in curved shapes; The rendering
engine needs to decide which pixels should fit in the curved lines, and also
decide how the jagged edges can be smoothed (also know as antialiasing)
to complement the illusion of curviness
Raster (or bitmapped) graphics are visual files where an array of pixel color
values is stored; all the pixel values together form an image. Photographs
are examples of bitmapped images; bitmaps can be compressed through
algorithms that perform pixel statistic operations, discarding information
that it judges not relevant to the image and making them smaller. Bitmaps
are already made out of pixel information, so unlike vectors they don’t
need to be converted to be displayed on screen.
Software
The most common software tools available today for the different code
form categories are:
the Adobe software titles are used as graphic production tools, not
coding environments; but the reality is that algorithms can be written
55
and implemented on then. After Effects, the broadcast motion graphics
standard has support to the common JavaScript. Illustrator can
import postscript files that can be generated through code; Photoshop
also can have plug-ins developed, automate functions through scripts
or deal with postscript files. All these coding doors can be taken as
advantage in the creative framework.
• Macromedia Director
• Macromedia Flash
56
• Java
• Processing
Every software package demands time from its user to fully learn all the
concepts, functions and possibilities. The technology of the future is almost
unpredictable, making hard to decide which platform will have more ac-
ceptance and more capabilities in few years. Macromedia Director, for
example, was really popular for the CD-ROM production in the nineties;
its usage has been decreasing, being now restricted to some specific 3D
projects – and it’s likely to become less popular in few years. Other factor
to consider when learning a language is the “commercial versus free”
software factor; commercial packages usually have, at least in theory,
57
more technical support, because they’re products being sold to customers;
the designer is paying the developers. In fact, free software communities
end up having a good network of users who support each other, even in
a better way that paid application service. The real advantage on com-
mercial titles is the marketing that convinces users to adopt means that
will allow projects to be seen. Recently, Microsoft decided to cut the free
Java as a pre-installed plug-in for the Explorer browser; meanwhile, the
Macromedia Flash player still comes pre-installed, and is present in 95%
of the user browsers.
58
Mathematical Tools
Each software package has its own features and its own coding syntax to
be learned. But one thing is common among them all: Math.
Happily, the truth is that the necessary math for visual creations is very
tangible, and all it requires is the high school math remembrance. 95%
of the creative visual work produced through algorithm today employs
high school level math only, including algebra, trigonometry, physics and
geometry.
The key is not to know complex math; the key is to use creatively the math
you already know. Math is a tool, and the complexity of the tool never
meant the quality of the creation – neither in arts or sciences.
59
Remembering high school
— Karl Gerstner
60
create a loop counter variable: float counter;
create a circle radius variable: int radius;
create the x and y coordinates variables: float x, y;
configure the piece: void setup() {
set the velocity of the animation: framerate(20);
set the dimensions of the sketch: size(200,200);
set the initial value of the counter: counter = 0;
set the value of the circle radius: radius = 50;
end of the configuration block: }
loop starting point: void draw() {
set background color: background(122);
modulo operation:
if the value is even, fill the square with black: if(counter%2==0) { fill(0); }
if odd, fill it white: else { fill(255); }
x axis value according to trigonometry circle: x = sin(counter/10)*radius;
y axis value according to trigonometry circle: y = cos(counter/10)*radius;
set the rectangle coordinates and size; rect (90+ x, 90+ y, 20, 20);
increase the counter value: counter = counter+1;
end of the loop block: }
Someone who’s aspiring to write code should choose which language fits
best to his needs; for commercial internet creation, Flash is surely the
best choice today. For artistic experimentation, Java and C++ are better
options, since they offer less limitations and more performance than
Flash. The Processing language has a lot of advantages for the artistic
field, including strong community support and a balanced learning curve.
There are many other options – Python, C#, Objective C… all computer
languages can be a source for creative work.
There’s also no single method of learning the code syntax; each author
proposes a different path through the functions and commands of each
platform. A recommendation for the learning process of a visual-oriented
user can be something like:
61
• learn to compose a basic code structure – setup and loop blocks.
• create and configure the visual space for a piece (the stage)
This sequence would start out of graphic functions, instead, for example,
the common foundation on Object Oriented Programming – that involves
more abstract and less visual thinking.
The Processing platform has a lot of support for learning from the artistic
point of view; the language reference includes simple graphic examples
on the syntax of each topic at http://www.processing.org/learning and
http://www.processing.org/reference.
62
The Praxis of Coding
A narration tells a story; there are characters, each character has a role
and things happen as the story develops, coming to an end. The same
narrative story can be written in different styles, different languages;
it can be written in a very erudite form, or it can have a teen literature
lexicon.
The basic principles of coding are simplicity, clarity, generality and au-
tomation.
Clarity is an issue for both man and machine; code should be clear for
other people rather than the author to read it, and for the machine to un-
derstand it. The clarity is achieved through good naming practices, using
parentheses to clear ambiguities (sometimes its use is not mandatory,
but helps the human reading), commenting the chunks of code, and
describing any relevant information in the program body. Another item
for clarity is the avoidance of contradictions; for example, the usage of
lower and uppercase. A variable named “Test” and a variable named
“test” are completely different in a case sensitive environment. If a piece
of code is using a variable in lowercase, all references to it should also be
in lowercase.
63
sometimes, these functions are similar, and could have been written as
one and reused. General functions allocate less memory in a computer
system and allows better performance of the code.
A good practice for someone who is not comfortable with the task of
coding (or for someone with a very complex task in hands) is to first write
the program statements in plain English; list all the actions, variables
and describe all possible functions. With a cohesive and well structured
English text in hands, just translate it to the programming language
syntax – and the code is done.
64
Experience
— Paul Rand
67
Regarding the visual terms, the shape of information should raise identity.
Identity means that the each person in the audience will recognize aes-
thetical ideas in common between him and the presented experience. The
recognition can be simple as a “I like it” response – and it does not mean
that the user identifies the output as something already seen before,
but as something in his personal taste, a match to his preferences. The
aesthetic values should be shared between both ends of communication,
the designer and the audience.
68
69
70
Case Studies
71
72
Sound in Space
The bond can be formed in two ways; the first is by converting the
character of the musical signal into a visual representation; Apple Itunes
does this very well. Its visualizations uses the pitch and volume to feed
graphical algorithms. The second way evokes the meaning of music along
with the meanings of the visual domain; this idea is seen (and heard) in
cinema. A dramatic scene has a dramatic soundtrack; “dramatic” is an
adjective for the musical meaning; the pitches and volumes alone are not
dramatic – but the musical movement altogether can be.
The relationship of visual and aural has been explored throughout history
in many different ways; in eastern civilization, one of the oldest scientific
approaches to it comes from Isaac Newton. In 1672, he studied the color
spectrum and related 7 colors to 7 musical notes. Later, Louis Bertrand
Castel built the first “visual keyboard” – the Clavecin Oculaire – that
displayed a different color to each played pitch. The idea of a keyboard
that would display colors for each note reappeared in different places and
moments in time; there was, though, never a firm proof that a certain
73
color is a certain pitch. The relationship always had an arbitrary element
in its formation. Different color/pitch tables were developed, and many
authors agree on the color distributions – but there was never a scientific
standard. Intuition and feeling, personal factors, remain present.
Besides color, sound always had a strong relation to math and geometry.
The notable study of this relationship is harmony. Harmony is the study
of the simultaneity of sounds; Pythagoras, more than 2,500 years ago
started to study why some sounds had a pleasant character when played
together. Pythagoras studies had a strong mathematical sense, and he
established the concept of intervals.
���������
����������
��������
����������
���������������
���������������
74
A mathematician called Jules Lissajous developed an experiment in 1857
that projected a vibration movement through a light dot in a screen. He
managed to reflect the light beam through 2 mirrors, each one vibrating
in an axis, vertical and horizontal. The resulting projected shapes became
known as Lissajous Figures
75
The Chordinator
76
The sketch allows the independent control of the intensity of each chord
component, as well as its phase. Phase can be understood as the coordi-
nation point between sound waves
To help the sense of 3 dimensional space, a cube was added marking the
capping of the volume; rotation was added so the point of view can change
over time, allowing a full visualization of sound in 3D.
Production notes
77
The Harmonographer
78
an original Harmonograph
79
A “Portamento” button is available to turn on the infinite sliding between
notes; in the portamento mode, the interval grows eternally, and the user
can keep on watching and observing how the intervals grow and their
visual elements change with the growth.
The main objective of the Harmonographer is let the user explore the
interval relations through their visual representation; or simply explore
the visual patterns and their mandala-like formations, tweaking the
possible graphical formations that the algorithm can build.
A special version of the Harmonographer was also built, that allows the
user to export the drawing as a vector file, that can be used in any graphic
application or printed. The user can also save the drawings as bitmaps,
and create video animations.
Production Notes
80
The Near Dorian Experience
To answer this question, a video called The Near Dorian Experience was
developed, visualizing an original music composition.
The musical soundtrack intentions for the Near Dorian were to work
with few and strong musical intervals, and create a hypnotic trance of
repetition - but at the same time calm and meditative. There’s one guitar
with a mellow, woody tone and another with a twang slide sound. The
percussion is nothing more than a triangle being hit twice in the music
and the base sound is one single chord being played in a Hammond
organ, oscillating through rotating speakers. The intervals explored in
the song were pre selected through their visuals – the interesting visuals
had a granted place. The video has layers for the different instruments
and their visuals; color was added, in the form of blue tones denoting
the cold electric resonance, and yellow/orange denoting the warmness
of the guitar strings. The white denotes the purity of the bell sound, the
81
moment of illumination. Of course, this description of the soundtrack is
from a author standpoint, and the actual experience of musical meanings
may vary.
The piece shows the coordination between aural and visual intervals. The
title, Dorian, is a musical mode of the natural musical scale, known by its
simplicity. Since the song escapes the scale in a part, and the visual escapes
the simplicity due to the overlaying, it’s a near Dorian experience.
82
83
Form Systems
Many artists and writers published their research on the nature and prop-
erties of visual language, and one of these authors is Karl Gerstner, Swiss
painter and graphic designer. Gerstner has a remarkable point of view
regarding form and color – according to him, they’re body and spirit.
Gerstner considered math “an aid to ultimate master of one’s medium”.
His most notable characteristic is the usage of structure as a mean of
expression; many of Gerstner art pieces were not fixed compositions,
they were fixed formulas where the components could be interchanged.
Although Gerstner didn’t employed computers, he created artistic algo-
rithms; his pictures are variation machines. This computational spirit is
the inspiration for the series of form systems experiments in which the
nature of variation is explored.
85
Carro 64 advertisement
86
the original Carro 64, and one of its random computer recreations
The record so far is 24 letters from King Henry II – and it took only
2,737,850 million billion billion billion monkey-years to be completed.
“Eventually” is a tricky word that tends to the impossible. Maybe that’s
why Gerstner, even though creating an infinite art form, exposed configu-
rations with carefully planned symmetric harmonies that required plenty
of artistic sensibility to be achieved.
87
generative design processor
The other side of a generative form system occurs when a complete, vast
set of rules is laid to control the unpredictable randomness. The uncertain
composition is tamed, but the absence of the monkey factor can also
create banal pieces that always look the same.
To answer these questions, rules need to be written in the code. Rules that
determine average size, average proportion, placement limits, so on, so
forth. Even a minimalist painting mimic needs a great amount of rules;
the more rules, the closer the generated image will be to the original – but
it will also be more predictable. The image won’t bring new, interesting
formations that could exist outside the boundaries of a certain rule.
Any painting can have an infinite set of rules – they can grow in com-
plexity, more the rules, less the randomness, more faithful to the original
88
artwork. For the No_More_Mondrian sketch only a limited set of rules
were written, a number enough to resemble the original experiment, and
the sketch runs forever always trying to add a new layer of “ruled” shapes.
Dull, as expected.
clash of generations: the original Noll experiment and the actual Java recreation.
The Squircle
The Squircle was built using the formula of Bézier curves - a common
tool for Postscript, CAD and vector illustration applications. Bézier curve
is a parametric cubic equation that plots a path with initial and final
points influenced by control points along the way. The control points can
be tweaked to change the overall shape of the curve. By coding a closed
shape with symmetrical control point changes, the result is a regular
polygon whose sides bend and morph in all possible positions - the
89
screen captures
from The Squircle
and Gerstner’s
Color Form
structure model
90
square and the circle are the two extremes of the possible forms. Instead
of copying a Gerstner piece or simply creating all possible shapes in a
random fashion, the Squircle uses an oscillatory pulse that changes the
control points position, and the amplitude of the change can be set by the
mouse movement. The sole purpose of the piece is for the user to enjoy
creating forms with symmetrical aspect and experiencing the possibilities
between two basic geometric shapes.
91
The “trick” that makes the Anaconda Paint interesting is the color shifting;
all the colors in the screen are constantly changing, in a cyclic way. Each
circle is assigned with a different initial color – and when all the screen
colors cycle, the illusion of volume is reinforced.
Roto-Champ
The idea of keeping a shape fixed, but to vary its color, size, and position
over time is full of possibilities; the Roto-Champ experiment explored
another point of view on this theme. The project is based on Marcel
Duchamp Roto-reliefs, a series of gramophone discs painted with patterns
that would rotate and create unexpected kinetic results. The Roto-Champ
is an exploration of Duchamp’s concept translated into the computational
medium.
The shapes have fixed form and color, and rotate at a constant speed.
Illusions of volume and form distortion are created by the visual inter-
action of the concentric rings, just like the original piece.
92
Marcel Duchamp invites you for the Roto-relief experience
The experiment has two different approaches; the first regards the
geometric nature of the circle. The circle is a pure mathematical form,
and its presence in a plain color background has a strong abstract and
ethereal sense. I questioned how to add more physical, concrete value
to this form - and the answer was to tweak the relative size and rotation
of the rings. The values inserted were transformed according to a value
very common to Botanic: golden section . The sacred mathematical pro-
portion is found on the growth of plants, on the patterns of seeds and on
nearly every natural organic form. Both size and rotation would respond
to organic values, linking the ethereal form to a more physical dynamic.
“the proportion resulting from the division of a straight line into two parts so that the ratio of the whole to
the larger part is the same as the ratio of the larger part to the smaller” – Oxford English Dictionary
93
Roto-Champ: golden proportion and standard versions in perspective.
The second approach deals with interactivity; with one mouse coordinate,
the user can change the perspective of the piece – something that would
happen in the original Duchamp piece, since the perspective would change
according to the position of the viewer. By visually cropping parts of the
concentric figure, the illusion is changed and different visual impressions
occur. The other mouse coordinate was used to displace the center of each
ring in relation of its inner sibling, generating then different frequency
patterns, and different aesthetic experiences.
94
My Friend Jong
The trick is: given a starting point, the sine and cosine values are calcu-
lated based on the previous operation result, in a loop. This loop is called
iteration, and the number of iterations can be predefined – ranging from
1 pair of coordinates to billions. Organic patterns emerge from the plotted
dots– the cold mathematical abstraction is transformed in a shape that
looks and behaves like organic dynamic forces, as the smoke of an incense
stick. Given a smaller (few thousand) iteration cycles, the attractor can
be animated in real time, or respond to user interaction, like mouse
movement. Attractors are systems with little visual control (they have an
unpredictable nature) but are a good playground where small changes can
be multiplied and re applied millions of times. The concept of iteration
can be used as a creative tool – there’s not much control over the form
itself, but on how the form will emerge and unfold through iteration. This
is an important abstraction on the realm of generating images through
code: sometimes, a visual can’t be grasped; it has to be tamed through the
numbers that feed its creation.
95
My friend Jong: 150,000,000,000 iterations.
(I counted them myself to double check if there was any missing.)
96
Riley Patterns
Riley and Vasarely works were not computational – their creations were
set in a time when computers where scientific secrets. My intention is
to investigate how optical visual patterns can be created and modulated
through code, and explore the computer’s advantage as a variation
machine: visual ideas can be developed in endless ways, especially when
the idea has an algorithmic nature. What are the changes in op art when
it is reclaimed by the computational medium?
Baba O’ Riley
99
the designer authors the aesthetic framework; the audience experiences
the creation of a composition from that framework. It’s a true form of
collective art – everyone can do it.
Baba o’Riley
interface screen
The user has the ability of drawing lines and circles, with different color
frequencies - always alternating black and white. Even being just a
computer application experience, the decision process on how and where
the drawing elements should be placed is similar to the physical painting
creative process. The medium is different, but the abstract thought
process is alike
100
Development
That was the starting point of the investigation. Pixels are square; the
screen is a big group of squares. How can such a round figure exist in this
harsh environment?
101
straight lines. The result is a perfect circle – built through inconstant
coordinates and straight lines, in a computational illusion. This is the
trick that Photoshop does all the time for its users.
The third aspect of the algorithm is to build the curve with the right color.
It first evaluates the present color in the x/y coordinate, and redraws
it with the opposite value – the law of high contrast is followed all the
time.
The Baba O’Riley project was a success in terms of audience – the public
enjoyed the online experience (2,000 unique visitors so far) and it shows
how an interactive art project can be technically simple, but visually in-
teresting at the same time.
Current; Flow
One of the first computer graphic images in history, along with Mondrian
experiments, was a recreation of Riley’s “Current” piece, built by A.
Michael Noll, called “Ninety Parallel Sinusoids with Linearly Increasing
Period”2. I decided to explore the Noll’s experiment, due to its historical
value and also due to its visual value; Current one of the most interesting
op art paintings.
2
Noll’s version was actually a recreation of Plate 3, another painting from the Current series.
102
original Noll experiment
103
putational techniques – different processes for a single end. The visual
sketches were built using line polygons, Catmull-Rom splines, Bézier
Curves, and finally, direct pixel manipulation. Also, the mouse coordi-
nates were mapped to tweak amplitude and wavelength settings, helping
to mark visually appealing values.
Each technique has strong and weak features. The first sketch used line
polygons, which are fast and easy to manipulate, but are not real curves
– they’re small line segments that resemble a curve. Working with
straight lines requires less processing power, but the fake nature of the
curves might become visible. The second implementation used a curve
called Catmull-Rom; it is a curve formula, where the path goes through
the control points. Also, a control point in the curve line affects only the
segment where it belongs, and not the whole curve. Catmull-Rom curves
also have easy implementation, and are fast. Closed sinusoidal shapes
designed with Catmull-Rom are difficult to be properly filled, at least
using Java fill algorithms; the fill functions have a hard time determining
which portions of the sine wave should be convex or concave to apply the
correct filling.
It’s harder to achieve the perfect variable period sine wave using Bézier;
while the Catmull implementation was effortless, this required a lot of
planning and calculation on the control points positioning. It also required
many more control points to achieve the right smooth curve visual; on the
other hand, the sketch could be the size of the screen or the size of an
ocean liner, since the vector is size and resolution independent
Finally, the pixel implementation: the best way to avoid the difficult filling
of sinusoidal shapes is to draw the pixels directly. Instead of drawing a
sine shape and filling it, I can set the screen pixels with different colors
according to the form of a sine wave. The pixel version is not suitable for
printing – it is limited to the 72 dpi screen dimension – but it works fine
on screen and despite not being optimized for speed, it runs the filled sine
transformations much faster than the vector versions. Another difference
104
is that while vector drawings can have anti-aliasing functions to work on
top of them, pixel manipulation can’t – the antialiasing function has to be
written specifically to the sketch.
The second part of the experiment dealt with the translation of a concept
from a gallery wall to the screen. Riley had very interesting ideas about
her painting – she says that her paintings aren’t about optical illusion,
but about optical reality. Riley explored the relationships between nature
and vision, and how the dynamic forms of nature could be represented
in their essence. Current has a very organic motion feeling into it, and I
wondered how to translate this feeling taking advantage of the computa-
tional medium.
The Flow sketch was the result of this exploration. It has two versions;
an interactive, where a user input – whether the mouse or any physical
device – triggers different wave settings and an automatic version, where
the waves oscillate by themselves. The sketch intends to capture the tran-
sition from a geometric state – the straight lines – to an organic behavior
resembling water currents. Dots were used instead of lines for more
delicacy, and also to imprint the idea that a current too strong becomes
noise; the dots mix themselves and the line pattern disappears.
Flow is a very simple sketch; it has few lines of code and uses line vertex
– no curves – and is even suitable for printing in any size. A simple
concept, simple implementation, interesting results.
105
Flow: dot and perspective versions.
106
Logic Molecules
The “Particle Database” project investigated this issue. The intent was to
connect the idea of database to a visual materiality, and raise the identity
between databases and the physical world.
109
screenshots from the Particle Database querying system.
110
Building a parallel to physical matter, a database would be a flexible, fluid
material where the molecules could react and be attracted by different
agents.
Objects are abstract data concepts; they can be modeled to contain any
visual presence on screen, and respond to any physics algorithm. Besides
an arbitrary visual representation, an object can contain actual entries
from a database.
111
of representing a large number of individual objects that have defined
properties, and that interact according to common rules.
Coded Particles
Particle systems are the most explicit example of object oriented pro-
gramming; a logical object does not need to be visual to exist – but in a
particle field, each pixel is an object instance. The task of coding a particle
system consists in coding the behavior of a particle kind. This “kind” is
called class, the group of rules, characteristics and behaviors of an object.
The class describes all topics in the life of a particle – its appearance,
motion and dynamic responses for different stimulus caused by the user
or other particles.
The Database Field sketch is a study of how the Particle Database would
be coded; for experimental purposes, attracting and repelling behaviors
were written, and the particles behave according to a faux Brownian
motion – random in space. The sketch adds the idea of the real interac-
tivity, absent on the application demo.
112
Patterns of Time
Pattern is a concept of many definitions, but they all agree in the idea that
a form may exist and be recurrent according to a rule – a configuration.
Patterns are everywhere in nature – the configuration of clouds, waves,
the growth of plants, structure of minerals. Common laws sew different
realms together, binding them by mathematical concepts like golden
ration and prime numbers.
115
The idea of pattern is usually employed to describe spatial or logical
events; the project idea was to extend this application to time as well
– escaping temporal Flatland.
���������
������
����
What marks the passage of time? Facts1. The happening of facts in the
physical world is a beacon for proofing the time flow.
Each fact in time is unique2; but facts share similar configurations. Facts
form patterns; there’s a summer in every year – it’s a predictable event.
Each summer is unique – but events that characterize the fact “summer”
happen every year.
The facts in time are points in the amplitude wave. Each fact follows a
pattern of occurrence, so each fact has its own frequency, wavelength.
1
“The world is the totality of facts” – Wittgenstein, in Tractatus
2
“Upon those who step into the same rivers different and ever different waters flow down.” - Heraclites
116
How to represent the concept of patterns in time visually?
The developed model of time used the line as a starting metaphor, added
with the pattern idea. The facts have a frequency of occurrence, so they
can have a cyclic nature. The end of each cycle does not mark the return
to the beginning; the line of time continues to the future. So the cycle is
not a closed circle – it is a line with a coil appearance.
117
Patterns of Time: concept demo screens
118
Patterns of Time Studio: openGL version
119
120
Findings
concepts
form
medium
concepts
form
medium
time
121
At this moment, the focus on computer as media seems to have outrun
the concepts in design creativity.
concepts
form
medium
time
The focus on media innovation may have eclipsed the role of concepts
and form in creation. Instead of being based on ideas, design solutions
became based on the medium; if something can move, move it; if
something can blink, let it blink. There are innumerous examples of
senseless employment of computational strengths that confirm Henry D.
Thoreau Arcadian quote “Our inventions are wont to be pretty toys, […]
they are but improved means to an unimproved end”.
122
The scientific, mathematical approach of computation and the whimsical
nature of art are not truly opposites, and have already met numerous
times through history. We are facing a new instance of this integration,
where algorithms are agents of translation from concept to form, from
form to medium.
The visual expression through code is not – and should not – be hype,
a trendy toy of ephemeral design. Neither should it be an obligation, a
mandatory solution to all communication questions. The visual expression
through code should be considered as a current stage of the evolution in
design which is a process where different media can coexist.
Creativity is borderless.
123
Bibliography
Wardrip-Fruin, Noah and Nick Norton. The New Media Reader. MIT
Press, 2003.
125
127
The following is my first interactive object, developed at age of 5.
The procedure is simple: