Generative
Design – Programmed Identity
Ulf C. Cadenbach, Henrik Hornung, Tobias O. Schelkes
Prof. Hans Dehlinger
School
of Art, University of Kassel, Germany
e-mail:
ulfcadenbach@web.de, henrikhornung@web.de, tobischelkes@web.de
Abstract
The
following article sums up three different approaches, which have been developed
by the context of the department of product design at the School
of Art of Kassel. It is about 1. reflections of the “generative approach” in
design from a student’s point of view, 2. an experiment on the identity of a
fan-like object and 3. a concept for the generative creation of a lamp shade
made of laser cut sheet metal.
All three
texts deal with the methods, the results and the created identity of generative
design. The contribution of Henrik Hornung is rather reflecting, whereas the
one of Tobias O. Schelkes is experimental and the one of Ulf C. Cadenbach deals
directly with the design of a lamp shade.
All three
contributions cover fields (theory, experiment, design), which are significant
teaching methods of the department of product design.
1. Reflections about computer generated Design
1.1 Designing and Programming
The
processes of designing and programming are quite similar concerning their
structure. Both deal with solving problems. First of all, the existing problem
is to be analysed. If the circumstances are known, the requirements for the final
product need to be defined. Now the process of designing or problem solving
begins. This requires creativity, logical thinking, imagination and experience.
Connected with the question of the realization one of the design objects is now
implemented.
A programming
language has to be learned similar to that of a foreign language, including
vocabulary, orthography, syntax and grammar. But there is one important
difference: The programming language does not accept a colloquial language. It has to be used correctly in
order to be understood. In contrast to humans the computer is not fault-tolerant.
A programme
is not built via mouse click. The instructions must be written down explicitly.
But those proceedings do not have much in common with programming yet. Although
the programme runs step by step a huge number of instructions can be written directly
into one file and implemented from there in order to visualise the result.
At the
beginning of a programme there is an idea. It relies on a thorough analysis of
what seems to be possible. And it contains the thought that the result can be
reached through a process.
By
structuring work, e.g. organisation of procedures, the idea becomes a concept.
Gradually a programme is developed, which specifies generative rules for the
computational as well as the visual implementation within the rules of the used
programming language. This is actually programming. And it has much in common
with designing.
What we
colloquially call „programming“ is defined much more precisely by computer
scientists. For them the translation of a concept into algorithms is the most
important thing.
Computer
generated design can be understood as parametric design. Apart from many
boundary conditions a certain quantity of parameters remain open. By
manipulating them one can control the total behaviour of the final design.
1.2 Calculating and Designing
A huge
asset of the computer is the generation of quantity. And this is the
theoretical condition for the generation of variety. Within a given and a
conceptually described solution space it is observed in experiments that
computer programmes generate very surprising solutions.
What is the
reason for that? The computer is ignorant. It can inevitably only do what it is
dictated. Humans however are knowing. This knowledge affects their thinking and
acting permanently in the background. From their experience humans build
connections, draw parallels, associate incessantly without the possibility of
taking distance. They possibly end up with different solutions than the
computer. But those are mostly located outside the defined solution space.
The
computer works with high speed. Where humans give up on fatigued, the computer
calculates further. Where humans stop or change the process in another
direction because they estimate the probable success as little, the computer
calculates further. This weighs particularly if a random function is integrated
into a programme. Systematically (or randomly) solutions are generated. Many of
them are possibly useless, may it be for technical or aesthetical reasons. It
can however lead to interesting surprises.
Frequently some kind of “accident” occurs while designing. Every
designer might know these situations. Many of the big inventions of mankind
have been the result of an accident. If one tries to program a solution for a
design problem it is particularly interesting to recognise such cases. One even
tries to provoke them, to cause them consciously, which is a logical paradox.
How can one plan what occurs per definition only unplanned. Designing is
however in any way and always imprisoned in such and similar paradoxes. A tiny
programming error may cause either an error message or surprise with unexpected
results. Even if such results are not directly useful, they can be inspiration
for further considerations.
1.3 The Question about Identity
Döring [1]
describes „identity“ as unmistakableness („individuality“) over the time
(„continuity“) in different situations („consistency“). Unmistakableness in the
sense of a uniqueness is not only clearly recognisable with a computer
generated design (see fig. 1.1), but always as well obviously and directly
provable on the basis of numbers. Naturally solutions are generated that
resemble each other strongly. But apart from the fact that this is the same
with “handmade” design, exactly this is a further strength of the computer.
Even if a design is already, good an appropriate programme still generates
alternatives. The closer one gets towards its aim, the more one can restrict
the computer’s scope, the more parameter settings can be fixed and the more
precise and the more defined the design becomes.
Complex
programmes are constantly tested during their developing. The designer /
programmer constantly gets direct results during this process, which he must
evaluate. Process and result are therefore subjected to a constant quality
inspection. If necessary it can be intervened at any time. And that will always
be necessary, because even if many decisions are assigned to the programme,
even if design principles are defined as algorithms, it is the substantial task
of the designer to select the best one from the multitude of results. This
requires strength of judgement, sharp thinking and a good intuition.
2.1 Explanation of the experiment
We describe
an experiment in which we follow the question how the identity of an object can
be generated, changed or exterminated by transforming a figure. We are
structurally defining a kind of “wing” (see Fig. 2.1) which is divided into
zones. These are restricted by a value facet. We are generating two kinds of
wings by inputting these information and some random variables into a script.
(1)
angular, polygonal (see Fig. 2.2)
(2)
roundish (see Fig 2.3)
Now we are
generating objects from these wings by rotating seven elements which are
uniform around a lightly varying rotation angle (29° to °33). Being
geometrically defined the axis is always the same. The similarity to a Chinese
fan of the objects generated in this way is wanted. The identity of such a fan
is highly been determined by the kind of elements and the way it is fan-like.
There are far more characteristic items of real Chinese fans like the kind of
folding, material properties and others.
Anyway we
can prove experimentally that the „generator“, which should generate fan-like
objects really generates fan-like objects.
Based on
this initial situation we ask the following questions:
(a) What is
the identity of the generated objects? Are they invariably of fan-like kind or
appeared any new identities?
(b) Are
there any possibilities to intensify the identity?
Do
we have any possibility to generate new identities with this generator which
differs from the fan-likes?
The
generator has been programmed as Rhino Script. The conclusions are shown in the
tables 1 and 2.
2.2 Discussing
the Achievements
There is a
distinct tendency to families of forms in both the polygonal and the round kind
of objects. I divide the families by an instant overview. There are to mention
four different groups or families in this experiment. The first group contains
plane fan-like objects like result 2 and 8 of the roundish kind and 5 and 16 of
the polygonal kind. The second family includes the lightly opened like result 6
and 7 of the roundish ones and 1 and 13 of the polygonal ones. The third group contains
the more leavened forms (roundish: 1 and 3 / polygonal: 2 and 3). The fourth
group are the ones which are opened in the upper area (roundish: 4 and 11 as
polygonal: 8 and 10) and so make up the other extreme.
It is
remarkable that the identity of the objects becomes more and more another with
more openings but never loses its relationship to the fan-like kind.
By
modifying the generator to more filigree results the fan-like identity becomes
more obvious. If the modifying results in forms that are more massive in the
base area and at the same time filigree in the upper area the identity
increasingly departs from the fan-like impression.
2.3 Conclusion of the Experiment
The more
waisted and / or symmetric the generated form is the more fan-like the objects
get. Regarding the results with the number 10, 15, 14 in table 2.1 and the
results with the number 2,11,18 in table 2.2 that becomes obvious. But at the
same time there is to mention that there are borders where the conclusion
obverts and so result is less a fan-like object. Therefore the objects with the
numbers 11, 19, 23 on table 2.1 and the results with the numbers 9, 10, 19 on
table 2.2. are an example which underline this.
The
conclusion of this experiment is that by rotating a defined number of elements
around a geometrically defined rotation axis the identity becomes more and more
a different one but nevertheless still is remarkably fan-like.
3.1 Task
The basic idea was to design a lamp consisting of a number of sheet metal elements, which can be rotated around an axis. By using the same, but scaled shape for each element, similarities to the shell of a nautilus or pearlboat will appear.
We start with a sketched, closed curve, from which we extrude a surface. This surface is bent to a semicircular shape, copied, scaled, and rotated various times around a horizontal axis. By doing so we create a three-dimensional object.
The generative approach arised from trying to automatise iterating work processes. The shape was still sketched by hand but, to let the computer do the work of the iterating steps of copying, scaling and rotating, a small script was created for the CAD-Software Rhinoceros. Due to the fact that not every sketched shape could be processed with this one script (collisions appeared), parameters like number of elements, scale factor and rotation angle got varied and saved as stand-alone scripts. It was astonishing, which various appearances could be realised only by varying those three parameters (see fig. 3.2).
Next step was to define eight different versions of the script parameters, which represented the most characteristical appearances of the generated models (see fig. 3.1) With this “kind of generator” I tested the manually sketched shapes.
The characteristics of the models shown in fig. 3.1 could be summarised as:
- “less elements, little scale factor, large angle” versus “ many elements, large scale factor, little angle”
By using this procedure a large number of different appearances could be created, most of them were suitable for further processing. Some scripts were rejected, creating unrealisable models. For example the characteristic of “large number of elements, little scale factor (<0. 6), large rotation angle” lead to elements which were obviously too small for processing and even not visible in the model. But this helped to find out value sets for the later created generator, which almost exclusively create results suitable for processing.
In the next step a programme code was created (rhino-script), which as a generative system completely autonomous generates models of lampshades (see appendix 5.3)
This programme is fully functioning for relatively incomplex shapes. The shapes are generated by random, giving the designer or user the option to accept or decline the generated shapes for further processing (see fig. 3.4) The user also has the option to pick points by hand to create a shape and assign it to the generator for further processing (see fig. 3.3).
The generator creates eight coordinates by random. The value sets of this coordinates were chosen to avoid intersections of the generated curve. In a later version of the programme the value sets will change dynamically depending on the previous randomly created coordinates, to achieve a maximum variation of the curve.
The first and last coordinate points of the curve are located on the x-axis to get a closed shape by mirroring the curve. The following check routines make sure that the created shape is a closed curve, which is important for generating a surface and for processing the shape in a CNC lasercutter. If curve points are picked by hand, a check routine ensures that each curve point is assigned to a coordinate to avoid errors.
Now the curve is drawn, mirrored, joined and checked. A surface is now created from the emerging shape and bent semicircular.
That form is aligned parallel to the c-plane and the user is prompted to enter values for number of elements, scale factor and rotation angle. Optionally these values are generated semi-dynamically by random. From these values the CAD-Software builds the model and changes the view to perspective.
The next version will include some useful features, for example; loading of pregenerated shapes, saving of generated curves and models to files, an output of the processed values and coordinates and an option to export the shape as a .dxf-file for transferring the data directly to a CNC lasercutter (see fig. 3.6).
See fig. 3.7 for a flowchart, and appendix 5.3 for the complete program code
Generative design surely does not replace the classical design process. It is an interesting strategy for some concepts - like this one. In this concept a number of parameters can be varied without moving away from the basic idea.
A great advantage is to automatise iterating and tedious, but essential processes and get to significant results in a fraction of the time as compared to “handmade” models. In a given time-frame one can create and evaluate a much larger number of variations of a basic concept. Now it is possible to achieve results which in the classical design process would be declined due to lack of time.
Since the generator is deaf, dumb and blind, it will deliver concepts which the designer would never have processed nor considered due to his own preoccupation. Further on, completely new concepts arise from so called “accidents” or imprecisenesses defining parameters. These new concepts may vary from the basic idea but could be interesting by all means and lead to a completely different result.
Last but not least, it is important for students to deal with the concept of “mass customisation”, which surely show some similarities to generative / parametrical design processes.
The generative / parametrical design approach is considered a useful add-on to the classical design approaches. One should not be afraid to make use of this strategy if it seems to be useful. Consequently it is absolutely inevitable for designers to deal with this form of design approach.
4 References
[1] Döring, N.: „Sozialpsychologie des Internet. Die
Bedeutung des Internet für Kommunikationsprozesse, Identitäten, soziale
Beziehungen und Gruppen“, Hogrefe, Göttingen 1999, P. 255
Abb. 1.1: 156_curves_16_grey computergenerierte
Zeichnung, Henrik Hornung 2004
Fig. 1.1: 156_curves_16_grey computer generated
drawing, Henrik Hornung 2004
Abb. 1.2: 155_curve_16_grey, computergenerierte
Zeichnung, Henrik Hornung 2004
Fig.
1.2: 155_curves_16_grey computer generated drawing, Henrik Hornung 2004
|
Abb.
2.1: Strukturelle Beschreibung eines Elements
Fig. 2.1: structural
description of an element
Abb.
2.2: Beispiel Outline rundlich Abb.
2.3: Beispiel Outline eckig
Fig.
2.2: example outline roundish Fig.
2.3: example outline polygonal
|
|
|
|
|
|
1 |
|
2 |
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
|
6 |
|
|
|
|
|
|
|
7 |
|
8 |
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
14 |
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
|
24 |
|
Tab.
2.1: Ergebnisse 7 – 24
Tab. 2.1: results 7– 24
|
|
|
|
|
|
1 |
|
2 |
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
14 |
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
|
24 |
|
Tab. 2.2: Ergebniss 1 – 24
Tab. 2.2:
results 1 – 24
Beispiel 1
30/15/90 |
Beispiel 2 12/15/80 |
||
Beispiel 3 5/15/80 |
Beispiel 4 20/15/60 |
||
Beispiel 5 20/45/60 |
Beispiel 6 20/45/85 |
||
Beispiel 7 4/80/85 |
Beispiel 8 4/60/60 |
||
|
|
|
|
|
|
|
|
Abb. 3.2: “von
Hand” erzeugte 3D-Modelle
Fig. 3.2: “hand-crafted” 3D-models
|
|
|
|
|
|
|
|
|
Abb. 3.3:
Lampshade Generator V3.3, parametergesteuert
Fig. 3.3: Lampshade Generator V3.3, using
parameters
|
|
|
|
|
|
|
|
|
|
|
|
Abb. 3.4:
Lampshade Generator V3.3, zufallsgesteuert
Fig. 3.4: Lampshade Generator V3.3, randomly generated
|
|
|
Abb. 3.5: Von
Hand erzeugte Modelle, 0.3 mm Aluminium
Fig. 3.5: handcrafted
models, 0.3 mm Aluminium
|
|
Abb. 3.6: Prototyp Edelstahl, 0,5mm CNC lasergeschnitten
Fig. 3.6: prototype stainless steel, 0,5mm CNC
lasercut
Abb. 3.7: Flussdiagramm Lampshade Generator
Fig. 3.7: flowchart Lampshade Generator