You are on page 1of 107

# ALGORITHMIC

S K ETC H B O O K
ornella altobelli
587754

01

Lofting

## Through setting curves from Rhinoceros

into grasshopper and running the loft
algorithm the following lofted surfaces were
produced. By manipulating the points of
the curve and running the bake command
a variety of forms were quickly produced.

ornella altobelli
587754

02

Triangulation

The use of the geometry command is used with the populate 3D command to establish a random set of points within the form of geometry in use (in this case the
cube). The use of the number slider allows the control the number of points within
the geometry. The Voronoi 3D command establishes volumes between the points
within the structure of the geometry. Through the deleting of volumes within
the geometry a variety of forms are established through the bake command.

ornella altobelli
587754

03

Triangulation

This algorithmic form was developed through the populate geometry command of a
simple geometric form. The use of number sliders allowed the control of the number
of points populating the geometry. The Oc Tree command was then used to produce
3 Dimensional structures
generating off the points from the original geometry.

ornella altobelli
587754

04

One Point set to XY Plane which is then rune
through the rectangle command. the size of
the rectangle is controlled by the X, Y, and
Radius inputs with controlled values from
the number sliders. The panel indicates the
geometry that has been created and the
values binding its size.

## By setting multiple points to the point command

in Grasshopper and using the Point List command
to connect the points and number them. The
number slider is used to control the font/label size.
Mesh quad allows the setting of the integer (the
specific point) and allows the control of the order
of points within the mesh through inputs A, B, C
and D. Running the Quad mesh to the mesh input
produces the mesh in the order inputted through
the selection of integers.

Two curves in Rhino are set to the curves inputted into Grasshopper.
These curves have interval points produced through the divide
command. These points are inputted into the arc command and is
orientated on the z axis. Points along the arc are then produced through
the divide curve command, the number of points is controlled by a
number slider.

ornella altobelli
587754

05

curve intersection

## Using the Transform menu: Understanding geometry, transformations and

intersections
Begin with a sphere in Grasshopper and set multiple numbers for the radius thereby
producing two spheres through the input of multiple radius. in the Vector menu under
the drop down menu Grid select the Populate Geometry command which randomly inputs
the geometry with points. Using the Jitter command the organization of the points
are shuffled through three different seed values (2, 3 and 4)- this command allows
the manipulation of lists. This give three different orders which allows the use of the
command Circle 3Pt (which requires 3 points to output a circle). in order to gain access to
the 3 lists the command Explode Tree is used to again access to the lists stored in the
jitter component. Circles are therefore outputted through outputs from the Explode Tree
command and the inputs of the Circle 3Pt command. The curves are then Grafted and
Simplified followed by the loft command in order to see the (cone) geometry generated.
To find the intersections between these curves the Multiple Curves command is used
on both sets of curves and then a line is produced between these points with the line
command (highlighting the possibility for fabrication through the production of notches).

ornella altobelli
587754

06

## contours and projection

Working with a surface developed in Rhino the contour command is employed with
the constraint of the X plane/direction, the surface boundaries and a number
slider indicating the distance of offset between contours. The contours are then
projected to the X plane and subsequently lofted.

ornella altobelli
587754

07

Vector geometry
Vector defining direction and magnitude of geometry in Grasshopper.
Controls movement, scale and rotations
Set one vector
Vectors defines 3 coordinates
Link vector to panel to reveal coordinates (ordered x,y, z)
Unit vector equals 1
Can set factor to unit vector through number sliders
Planes have a position in space

Mathematical operations
Process of adding 2 vectors together
Vectors described numerically through 3 coordinates
The addition of vectors is explored through two processes in this grasshopper schedule
The vectors are plugged into the vector display port to reveal the vectors in the rhino display. the deconstruct vector is run to
decomposes the vector into its component parts to then run them through the addition (A+B) command. The Vector XYZ command is
used to plug this deconstruct-ed data into the vector display.
Subsequently, the second attempt at addition was achieved through the connection of the vector to the Addition (A+B) command and
the connection to the vector display command.

ornella altobelli
587754

08

## The points from rhino are run through the line

command, the point on curve (curve point)
comman allows the creation of an extra point
at some point along the the line.

Create a set of points-- use gh to
convert them to lines, then to surfaces, then curves, and then back
to points
try converting the surface to other
geometry types like meshes, then
back to lines/curves and points
again

## The vector command with a z input value

through the number slider runs through
the move command. The arc comman is
used in conjunction with the move input
to form an arc in the z axis.

## The divide curve command is added to the

input with definition of the added curves in
order to form points along the curve that
mirrior the arc form.

ornella altobelli
587754

09

## The loft command is run to loft the arc that is

construed between th two curves.

## The divide length command creates a grid along the length of

the lofted arch, this creates segments which allow straight/
flat pannels through the creation of a mesh.
The Polyline command creates a set of polylines running throuh
the points.
The interpolate command is creates a set of interpolate curves
through a st of points.

ornella altobelli
587754

10

experimentation

The initial step was to generate a circle and offset it 6 times along the Z-axis at even spacings using
the move command. Scale numbers are inputted to allow the circles to reduce in size. The surface is
then lofted along these curves.
The end points component is used to locate the common point of each circle, an interpolate curve
command is then used to generate a curve along these points. This curve is then divided into 40 points
with the input of a number slider and the divide commands. The Polygon command is used to generate
triangles from these division points by controlling the number of edges to 3, the size of the triangles is
then controlled through a number slider inputted into the R component. The rotation command is then
used to spiral these points around the curvature of the form, however, a series command is required to
inform the gradual rotation of the form. The series has the same input value as the divide component
and generates a rotation along the same plane.

ornella altobelli
587754

11

experimentation

## The rotation of these triangles is lofted. The

domain component is used to define numerical
range from 0-360. This numerical range
divided by a range component into 10 parts
and the result is used as angle factors for a
rotate component, whereby the elements are
distributed all around the base circle.
Mirror is used in the XY plane to generate the
helical shape. Select the components which
generated the composition and bake them into
rhino.

ornella altobelli
587754

12

experimentation

## Experimentation - Swiss Re Building

ornella altobelli
587754

13

## a point was inputted in rhino and then

moved with the move command. This
function retains the original point as
grasshopper requires an original reference
point. The point is moved along the Y-axis
at a length of 20. These points are then
used to generate a line by inputting the
reference point and the moved point. This
line is then moved along the X-axis at an
offset value of 8. These two lines are then
divided into 8 points through the divide
curve command and the use of a number
slider to determine the quantity of points.
In the display menu the draw commands
option depicts the symbols on the
commands which denote their action.
In the edit menu select group which enables
you to select a particular compont(s) to
group them and label them as such.

ornella altobelli
587754

14

## Data matching is used when a component has access

to differently sized lists of inputs. Using the points
generated through the task on the previous page, the 3
algorithms used to approach this were investigated.

## Trim End command takes the shortest list

and stops generating at
the final point.

## Repeat Last commandtakes the last point in the

shortest list and repeats
until longest list runs out.

## Hollistic Command- the

idea of cross refrencing.
the command creates
every connection possible
from the lists.

ornella altobelli
587754

15

## points, lists & data matching

Here the generation of a grid in order to explore the idea of lists being the data structure
of an ordered set of elements.

## Understanding the lines/wires in grasshopper:

Orange line = no data
Solid single line = one piece of data (ie: 1 point)
Double solid lines= list of data(ie: multiple points)
Dotted/stroked line= multiple lists of data (output is lists of lists)

ornella altobelli
587754

16

## creating a gridshell: shift list &

explode tree

Input a set of curves the divide curve command is used to generate points along these
curves. The explode tree command is used to separate data into points which are then fed
into the arc through 3 points command generating a arc through these derived points. The
surface is then lofted and the contours are edited through shift commands and number
sliders as well as geodesic curve commands.

ornella altobelli
587754

17

## controlling the algorithm: sets menu

This exploration looked at patterning lists, cull patterns, list lengths, series, list item, jitter, partition list
Commands:
Subdivide
Flatten Tree
Cull
Voronoi
Item
Partition

ornella altobelli
587754

18

creating a pattern

## Creating pattern with the

use of the series command, pts command and cull
command. Cull was used to
enable the weave command
which generated the crisscrossing pattern. Polyline and
loft where used to close the
form.

ornella altobelli
587754

19

A surface pattern was
generated through the
techniques explored in the
tutorial videos and previous
algorithmic activities
composed in this journal. A
surface was also generated
using the methods from the
gridshell tutorial.
The Map to Surface tool was
used to reflect this generated
pattern into the form
generated by the surface.

The algorithmic sketchbook has been a great tool in exploring and discussing
the algorithmic experiments we have made. The opportunity to investigate
the menu options, in conjunction with video tutorials and personal exploration,
has enabled me to gain a familiarity with the design tools available. The
experiments within this journal highlight a common theme of computational
design, that being that form is generated by design parameters void of
compositional intent on the part of the designer.
A limitation that continues to impact upon my ability to generate these
algorithmic experiments is that design through computation is limited to what
we know with regard to parametric design and algorithmic coding. Thus it is
essential to develop upon this sketchbook with further experimentation to
enable a greater knowledge base to further assist in the final design.

ornella altobelli
587754

20

spiraling

## Vector, point, point polar

Pi
Golden ratio
Range command

ornella altobelli
587754

21

## Range constructor - create a sequence of numbers equally spaced inside a numeric

domain - creating lists
Numeric domain is the space defined by 2 numeric extremes (min (floor) & max
(ceiling))
Points represented by an ordered set of numbers called coordinates
Math menu - Trig- Sine and Cosine
Playing with planes and directionality

ornella altobelli
587754

22

## Introducing parameter space, data types and functions

Charges and field
Vector- field
Point charge- generated a field (differentiate does not create values, enables evaluation
of the object)
Line charge- tensor display- tensor vectors
Point charge - direction display - displays forces directions in color

TENSOR DISPLAY

DIRECTION DISPLAY

ornella altobelli
587754

23

phyllotaxis

## SERIES, BOOLEANS AND COMPOSING ALGORITHMS

SERIES- (SETS-SEQUENCE-SERIES)
CREATES A SET OF DISCRETE NUMBERS BASED ON A START VALUE, STEP SIZE AND
THE NUMBER OF VALUES IN THE SERIES
C-INPUT REQUIRES INTEGERS
FUNCTION- ASSOCIATES MEMBERS OF ONE SET TO A MEMBER OF ANOTHER SET
MATH- SCRIPT- EXPRESSION
Sequence Manipulation
Boolean- property of a statement being true or false
List culling
Gates and dispatching (list dropdown) - look for certain coordinates
Voronoi command used to generate patterning

ornella altobelli
587754

24

expressions method 1

The curves are inputted and lofted. The brep is then deconstruct and then subdivide to
generate a set of points.

ornella altobelli
587754

25

expressions method 2

Using the input of an attractor point

ornella altobelli
587754

26

expressions method 3

## Script menu- creating an expression

ornella altobelli
587754

27

fractels

## A 3 sided polygon is generated through a polygon command,

and extruded through an expression along the z axis through an
extrusion command.

ornella altobelli
587754

28

fractels

## Capping is used to seal the pyramid. A deconstruct brep

command is used to divide the pyramid which is then scaled
and trimmed, followed by capping. This process is repeated in
order to generat the second form.

ornella altobelli
587754

29

fractels

Input the brep surface into the grasshopper script to generate a variety of patterns.

ornella altobelli
587754

30

experimenting

ornella altobelli
587754

31

evaluating fields

Field components
Point charge command
Vector -> fields -> point charge
Reference curves through set multiple curves
Divide curve- flatten output
Field line - iterative process - going to run algorithm over and over
Merge field - multiple fields into one
Fline needs a reference point
Spin force - rotational push on charge
*Move points along z-axis (original points on curve) to add complexity

ornella altobelli
587754

32

evaluating fields

ornella altobelli
587754

33

evaluating fields

## Using graph mappers to alter and manipulate the profile of the

curves.

ornella altobelli
587754

34

evaluating fields

## Manipulating height of the polylines through a number slider.

ornella altobelli
587754

35

ornella altobelli
587754

36

## VERTICAL PUSH - CREATING 3D FORMS

Divide curves into points with divide curve component
Graph mapper >Bezier
Computes values - works within parameter space
Range component plugged into number slider
Graph controls curves
Move- interpolates curve

ornella altobelli
587754

37

graph controllers

## Set of circles - manipulating their radii

Range between 0 and 1 as default -- change to 0.1 to 1(circles can not have a radius of 0)
Circles controlled by graph mapper
Bezier - graph mapper style
Voronoi pattern distributed along divide surface
Divide component flattened so that the Voronoi component divides the whole circle not
each individual circle
Cull pattern with panel input voronoi

ornella altobelli
587754

38

graph controllers

ornella altobelli
587754

39

graph controllers

## Changing geometry type to polygons and changing

the graph configuration

ornella altobelli
587754

40

Using the Polygon geometry and the graph mapper (set to Bezier
graph type/style).
The pattern was culled using the panel input set to False, True,
False.

ornella altobelli
587754

41

image sampling

## Reparamertize - all points will reside within

domains set by surface
Set image sampler to clamp
Use color brightness feature
0.0 to 0.1 - parameter space
Subdivide surface - using an image sampler
distribute circles through an expression.

ornella altobelli
587754

42

image sampling

Overlapping patterns through the input of two image samplers. Controlling the radius through a number slider.

ornella altobelli
587754

43

image sampling

## Move circles along the z-axis.

ornella altobelli
587754

44

image sampling

## Lofting between the offset

circles. Create cones through
the vertically translated axis.

ornella altobelli
587754

45

reverse engineering

## 1- curves plotted and manipulated

in Rhino
2- Multiple curves set in
Grasshopper and lofted
3- contours created in X and Y
direction at even spacing
4- Tight contouring, small distance
input
5- Uniform contouring, average
distance input
6- Loose contouring, large distance
input
7- Tight contouring with
rectangular box geometry in the Z
direction
8- Uniform contouring with
rectangular box geometry in the Z
direction, wide rectangles
9- Uniform contouring with
rectangular box geometry in the Z
direction, narrow rectangles

ornella altobelli
587754

46

reverse engineering

The initial surface that was generated for the reverse engineering task was created through the points manipulation on 4 curves
in rhino. These curves were then lofted using grasshopper after defining the curves. By dividing the surface a grid of points were
created, this output was flattened to create one list of points. The lofted surface was then contoured in both the x and y axis in
order to create an even grid across the surface. These contours were then piped to replicate the metal pipe construction of the
synaesthetic pavilion. A number slider was used to control the radius of this piped geometry. The grid of points were then used to
distribute rectangular geometry across the surface of the loft, with number sliders controlling their dimensions. A rectangular box
geometry was used to extrude the 3Dimensional forms extruding in the Z-direction.

ornella altobelli
587754

47

ornella altobelli
587754

48

## Curves plotted and manipulated in Rhino

Multiple curves set in Grasshopper and lofted
Contours created in X and Y direction at even
spacing
Divide surface, project points at 30 degrees from
original points. Field line created with projected
points using point charge off original surface
divide.
Field lines divided into 4 segments
Curves translated in the Z-axis using a graph
mapper to create interpolated curves
Offset interpolated curves at a distance of 0.3
Curves piped at a radius of 0.2
Ruled surfaces created between interpolated
curves and offset curves

ornella altobelli
587754

49

ornella altobelli
587754

50

## Predefined data trees

Surface points - lists of lists
Data tree - display of data structure

ornella altobelli
587754

51

## Longest data matching

Data tree can change directionality
Graft tree command
Param viewer - branches
Tree display (double click) - provides a visual representation
Tree statistics (tree tab under sets)
Flatten collapse all paths into 1
Path mapper - lexical operations on data trees

ornella altobelli
587754

52

Visualizing an ordering system
Tree statistics

Paths as lists

Length as lists

Count number of paths
Simplify tree

Gets rid of all common/shared data

ornella altobelli
587754

53

2 components/indexs to the path object to describe where those points are in the data structure
1st component - which path
2nd component- which index within the list
Row/column/height (z-axis location)
Tree item- select a particular component through a panel
Flip matrix- swaps order of points
ie. Rows to columns/ columns tor rows

ornella altobelli
587754

54

Shift path component
Relative item component

Used in patterning
Offsetting through panel
Polyline -->planar surface

## Points stored as a hierarchy

Data trees grow incrementally and linear
Each level represents and action taken
Malleable

## Create null mapping -- not changing data

structure
Item index
Grafting - takes every index/item of a list makes the index a new branch

ornella altobelli
587754

55
1

B4 Matrix

ornella altobelli
587754

56

B4 Matrix

1
A

## Using the Biothing Serrourssi Pavilion Grasshopper definition as

a starting point. Projecting the
pipe and rectangular box geometry from the base curves. Pipes
take directionality determined by
graph mapper from

## The Box Rectangle output from

the original definition is input
into the box corners input from
the Voxelizator Project definition
(co-ed-it.com).

## Using the Panels dispatch

Project (co-ed-it.com) definition and surface as a starting
point. Surface is populated using
the box geometry from original
definition.

## Using the Panels dispatch Project (co-ed-it.com) definition as a

starting point the original curves
were inputted. Point Surface
grid is culled through the random
sorting through number sliders.

## The box geometry is projected

off the Biothing base curves
using original definition directionality.

## Distribution of panels is reduced

through number sliders.

## Pipe geometry projected using

Biothing base curves and graph
mapper.

## The box geometry is projected

off the Biothing base curves
manipulating original graph
mapper.

## Pipe and box geometry input

into Biothing definition but not
projected into the Z direction.

## Curves of the reverse engineered definition were plugged

into the second series of Office
dAs Banq Restaurant definition.
Translate planes in x axis and
loft between to create panels.

## Plugged new surface points

into Skylar Tibbets VoltDom
definition.

## Cone subsurface divided into

points. Delaunay mesh and
Delaunay edges applied to the
points.

## Panels are distributed through

original surface subdivision.

## Cull pattern placed on translation vecotr of surface points.

Perpendicular frames rotated in
XZ plane.

cone height.

## Cull faces removes mesh faces

according to rule True False False.

## Surface grid is culled through the

random sorting through number
sliders.

## All faces are culled through the

number slider (set to 0) of the
random sorting components.

## Change input surface to an

organic shape built from curves.

## Increase input surface points,

Increased cone surface division.

## Surface CP and Inside Brep is

grafted. Divide Length is input
into the one list length and out
put into 3 series components.

## Panel distribution is generated through the original divide

surface grid generated by the
Panels Dispatch Project.

## Panels are distributed through

original surface subdivision.

## Cull pattern to points, increased

multiplication of movement,
changed angle of rotation of
perpendicular frames, increased
surface points and reduced
number of frames.

## Cone height inverted. Cone radius

and opening increased.

to 32 x 27.

## Graft the Brep input for the

Brep area component.

## Graft the Brep input for the

Brep area component.

## Changed rotation of perpendicular frames, further increased

number of surface points.

## Increase in cone radius and

height in the negative plane

## Decrease input surface divisions.

ornella altobelli
587754

57

successful iteration

ornella altobelli
587754

58

iteration 1D

## Employing the forces employed in the Biothing to direct

the panels created through rectangular box geometry.

ornella altobelli
587754

59

iteration 2D

ornella altobelli
587754

59

iteration 4E

## Area component is flattened in order

to create waffle structure.

ornella altobelli
587754

61

iteration 5D

## Rotate Component used to generate variation in

the contours. Frames move below the ground plain.

ornella altobelli
587754

62

## Number slider value decreased in order to reduce the

number of PFrames.

design exploration

## Loft is offset by a value governed by the number

slider in order to increase the thickness of the
frames.

ornella altobelli
587754

63

## Traveling salesman - shortest route between many points

Recursive algorithms - critical to development of complex patterns and
fabrication
Evaluating data

## Cluster inputs and outputs, then Cluster all by

right clicking selected objects.

## Repeat clustered component in a linear

fashion in order to replicate the algorithm recursive system.

ornella altobelli
587754

64

## Traveling salesman- clusters & history

To edit clusters just double click it and it will open in a separate file

## Adding components to the original definition by double

clicking the cluster. This history is applied to all copies of
the cluster.

PYTHON

## Encapsulating a set of code and running it a set number of times

Python component not present in Grasshopper?
Creating scripts to write code
Recursive function
Enables the repetition of components without manually copying
them - defines the whole algorithm

## By connecting the clustered components a polyline is able to be

formed between the points

ornella altobelli
587754

65

## embedding material logic- Kangaroo introduction

Spring physics
Demonstrating simple forces
Using forces to replicate real world material performance
Linear elements - points- straight line connections between points
Cant work with curves nurbs
Kangaroo Physics engine
not running in my plugin. The
spring output should be an
input as well as the toggle.
The timer then connects and
controls the process

## Jitter in the engine - not necessarily reversible

Rest length= 0 = tension

## Kangaroo Physics engine

not running in my plugin. The
spring output should be an
input as well as the toggle.
The timer then connects and
controls the process

ornella altobelli
587754

66

## Tensile and rigid bodies- Kangaroo introduction

Not simulating a real world representation of these forces - providing a sugestion of how materials will
react in real world situations.
Weaver Bird Plugin
Join Meshes and weld = merges duplicate edges
Convert edges of mesh to springs
Anchor all the naked edges of the mesh

## Kangaroo Physics engine

should be present here.

## Kangaroo Physics engine

should be present here.

ornella altobelli
587754

67

eml bending and hinges
Hinge forces = Starling plugin - mesh typology components
bend force component to simulate uncurling of a linear material

## Kangaroo Physics engine

should be present here.

The Kangaroo physics engine component was not present in the plugin download which
prevented me from further exploring the potential of the ideas presented in this set of
videos.
Can begin to stimulate real world material performance
need to get rid of start and end points so that bending does not occur at these points
Shift list component (set to 2) is used - point 3
Shift list component (set to -2) used to create point 1
to get rid of 1st and last point - shift by 1 and shift by -1 (point 2)
these points establish bending force

ornella altobelli
587754

68

Voussoir cloud input
no mesh weld component

## Using Voronoi component to divide the

surface the offset of three points are
moved and lofted in order to create
a tubular structure. Anchor points
are then established Crv CP defined
by number sliders to determine the
spacing between each point.

ornella altobelli
587754

69

Voussoir Form Finding

## Force driven simulation to develop vaults

Timer determines how often the form reacts
Attempt failed due to absence of Kangaroo physics engine

ornella altobelli
587754

70

AA driftwood

ornella altobelli
587754

71

## Recursive pattern=- effects of gravity applied

Demonstrates a gradient descent algorithm and a variation using clusters and
copy-paste iteration.
Creating a cluster:

Step One

Step Two

Step Three

ornella altobelli
587754

72

ornella altobelli
587754

73

## Manipulating the base Algorithm through

vectors.

ornella altobelli
587754

74

design proposal experimentation

## with lunchbox plugin

ornella altobelli
587754

75
Panel 1
-Diamond panels distributed onto surface > u & v = 8
-Random split list- creates two random surfaces (seed value= 6)
-One surface offset by distance of 1

design proposal experimentation

## with lunchbox plugin

Panel 2
-Random split list- creates two random surfaces (seed value= 6)
-One surface offset by distance of 1

ornella altobelli
587754

76

design proposal experimentation

## with lunchbox plugin

Panel 3
-Triangle panels
-panel frame - creates offset frame using panel
panels offset

Panel 4
-Hexagonal structure
-u & v = 10
-Pipes-cap holes

ornella altobelli
587754

77
Panel 5
-Hexagonal structure
-u & v = 10
-pipes-cap holes
- patch surface- returns a patch surface using a list of edge curves

design proposal experimentation

## with lunchbox plugin

Panel 6
- Braced grid 2D structure

creates 2-direction braced grid structure
-lines a and b piped, radius=0.1
-cap holes

ornella altobelli
587754

78
Panel 7
-Space truss structure 1
-Lines a and b piped

design proposal experimentation

## with lunchbox plugin

Panel 7_03
-space truss structure 1
-lines a, b and web piped

ornella altobelli
587754

79
Panel 8
-Space truss 1
-Web (centre lines of the web structure) piped

design proposal experimentation

## with lunchbox plugin

Panel 9
-Space truss 1
-Piped geometry run through panel frame

ornella altobelli
587754

80

## L-Systems and Loops with Hoopsnake

ornella altobelli
587754

81

## L-Systems and Loops with Hoopsnake

ornella altobelli
587754

82

## L-Systems and Loops with Hoopsnake

ornella altobelli
587754

83

## Extracting Open Street Map Data with Elk

ornella altobelli
587754

84

## Particle Trajectories and Loops with Anenome

ornella altobelli
587754

85

## Particle Trajectories and Loops with Anenome

ornella altobelli
587754

86

## Live Data Feeds and Responsive Geometry

with Firefly

ornella altobelli
587754

87

## Live Data Feeds and Responsive Geometry

with Firefly

ornella altobelli
587754

88

## Live Data Feeds and Responsive Geometry

with Firefly

ornella altobelli
587754

89

## Live Data Feeds and Responsive Geometry

with Firefly

ornella altobelli
587754

90

## Live Data Feeds and Responsive Geometry

with Firefly

ornella altobelli
587754

91

Structural Analysis with Galapagos

ornella altobelli
587754

92

Structural Analysis with Galapagos

ornella altobelli
587754

93

Structural Analysis with Galapagos

ornella altobelli
587754

94

ornella altobelli
587754

95

ornella altobelli
587754

96

ornella altobelli
587754

97

ornella altobelli
587754

98

## Sizes of extrusions is directly proportional to the annual record radiation at this

point as defined by the weather data
input through landybug. The extrusions
are developed through the WeaverBird
Plugin.

ornella altobelli
587754

99

sun responsive patterns

ornella altobelli
587754

100

sun responsive patterns

## Closest point, visualized through line geometry

ornella altobelli
587754

101

sun responsive patterns

ornella altobelli
587754

102

sun responsive patterns

ornella altobelli
587754

103

## Isosurfacing and Minimising with Millipede: Mark

Fornes - Under Tension

ornella altobelli
587754

104

## Isosurfacing and Minimising with Millipede: Mark

Fornes - Under Tension

ornella altobelli
587754

105

## Isosurfacing and Minimising with Millipede: Mark

Fornes - Under Tension

ornella altobelli
587754

106