You are on page 1of 107

ALGORITHMIC

S K ETC H B O O K
ornella altobelli
587754

01

ALGORITHMIC TASK 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

ALGORITHMIC TASK 01

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

ALGORITHMIC TASK 01

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

ALGORITHMIC TASK 02
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

ALGORITHMIC TASK 02

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

ALGORITHMIC TASK 02

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

ALGORITHMIC TASK 02

vector addition

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

Addition of vectors

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

ALGORITHMIC TASK 02

tutorial task

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.

Tutorial task 2
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

ALGORITHMIC TASK 02

tutorial task

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

ALGORITHMIC TASK 03

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

ALGORITHMIC TASK 03

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

ALGORITHMIC TASK 03

experimentation

Experimentation - Swiss Re Building

ornella altobelli
587754

13

ALGORITHMIC TASK 03

move command & data matching

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.

ALGORITHMIC TASK 03

move command & data matching

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

ALGORITHMIC TASK 03

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

ALGORITHMIC TASK 03

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

ALGORITHMIC TASK 03

controlling the algorithm: sets menu

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

ornella altobelli
587754

18

ALGORITHMIC TASK 03

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

ALGORITHMIC TASK 03
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

ALGORITHMIC TASK 04

spiraling

Vector, point, point polar


Pi
Golden ratio
Range command

ornella altobelli
587754

21

ALGORITHMIC TASK 04

sine and cosine

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


domain - creating lists
Sequence menu in sets
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

ALGORITHMIC TASK 04

field fundamentals and charges

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

ALGORITHMIC TASK 04

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

ALGORITHMIC TASK 04

expressions method 1

Script menu evaluate


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

ornella altobelli
587754

25

ALGORITHMIC TASK 04

expressions method 2

Script menu- evaluate


Using the input of an attractor point

ornella altobelli
587754

26

ALGORITHMIC TASK 04

expressions method 3

Script menu- creating an expression

ornella altobelli
587754

27

ALGORITHMIC TASK 04

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

ALGORITHMIC TASK 04

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

ALGORITHMIC TASK 04

fractels

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

ornella altobelli
587754

30

ALGORITHMIC TASK 04

experimenting

ornella altobelli
587754

31

ALGORITHMIC TASK 05

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

ALGORITHMIC TASK 05

evaluating fields

ornella altobelli
587754

33

ALGORITHMIC TASK 05

evaluating fields

Using graph mappers to alter and manipulate the profile of the


curves.

ornella altobelli
587754

34

ALGORITHMIC TASK 05

evaluating fields

Manipulating height of the polylines through a number slider.

ornella altobelli
587754

35

ALGORITHMIC TASK 05

ornella altobelli
587754

36

ALGORITHMIC TASK 05

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

ALGORITHMIC TASK 05

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

ALGORITHMIC TASK 05

graph controllers

ornella altobelli
587754

39

ALGORITHMIC TASK 05

graph controllers

Changing geometry type to polygons and changing


the graph configuration

ornella altobelli
587754

40

ALGORITHMIC TASK 05

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

ALGORITHMIC TASK 05

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

ALGORITHMIC TASK 05

image sampling

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

ornella altobelli
587754

43

ALGORITHMIC TASK 05

image sampling

Move circles along the z-axis.

ornella altobelli
587754

44

ALGORITHMIC TASK 05

image sampling

Lofting between the offset


circles. Create cones through
by changing the radius of
the vertically translated axis.

ornella altobelli
587754

45

ALGORITHMIC TASK 05

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

ALGORITHMIC TASK 05

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

ALGORITHMIC TASK 05

ornella altobelli
587754

48

ALGORITHMIC TASK 05

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

ALGORITHMIC TASK 05

ornella altobelli
587754

50

ALGORITHMIC TASK 06

Predefined data trees


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

ornella altobelli
587754

51

ALGORITHMIC TASK 06

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

ALGORITHMIC TASK 06
Tree menu
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

ALGORITHMIC TASK 06

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

ALGORITHMIC TASK 06
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

ALGORITHMIC TASK 06

B4 Matrix

ornella altobelli
587754

56

ALGORITHMIC TASK 06

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.

The Voxel size is reduced to 3.

Distribution of panels is reduced


through number sliders.

Pipe geometry projected using


Biothing base curves and graph
mapper.

The Voxel size is reduced to 1.

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.

Increased cone radius, increased


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.

Cull Pattern applied to grid

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.

Increase input surface divisions


to 32 x 27.

List length is grafted which rotates the rectangular geometry.

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

ALGORITHMIC TASK 06

successful iteration

ornella altobelli
587754

58

ALGORITHMIC TASK 06

iteration 1D

Employing the forces employed in the Biothing to direct


the panels created through rectangular box geometry.

ornella altobelli
587754

59

ALGORITHMIC TASK 06

iteration 2D

ornella altobelli
587754

59

ALGORITHMIC TASK 06

iteration 4E

Area component is flattened in order


to create waffle structure.

ornella altobelli
587754

61

ALGORITHMIC TASK 06

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.

ALGORITHMIC TASK 06
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

ALGORITHMIC TASK 07

Traveling salesman- clusters

Traveling salesman - shortest route between many points


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

Establish the base algorithm

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

ALGORITHMIC TASK 07

Traveling salesman- clusters & history

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

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

ALGORITHMIC TASK 08

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

ALGORITHMIC TASK 08

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

ALGORITHMIC TASK 08
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

ALGORITHMIC TASK 08
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

ALGORITHMIC TASK 08
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

ALGORITHMIC TASK 08
AA driftwood

ornella altobelli
587754

71

ALGORITHMIC TASK 08
Gradient descent

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

ALGORITHMIC TASK 08
Gradient descent

ornella altobelli
587754

73

ALGORITHMIC TASK 08
Gradient descent

Manipulating the base Algorithm through


vectors.

ornella altobelli
587754

74

ALGORITHMIC TASK 09
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

ALGORITHMIC TASK 09
design proposal experimentation

with lunchbox plugin

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

ornella altobelli
587754

76

ALGORITHMIC TASK 09
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
- Lines piped, radius=0.11
-Pipes-cap holes

ornella altobelli
587754

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

ALGORITHMIC TASK 09
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

ALGORITHMIC TASK 09
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

ALGORITHMIC TASK 09
design proposal experimentation

with lunchbox plugin

Panel 9
-Space truss 1
-Lines a&b piped radius=0.03
-Web lines piped, radius= 0.1
-Piped geometry run through panel frame

ornella altobelli
587754

80

ALGORITHMIC TASK 09

L-Systems and Loops with Hoopsnake

ornella altobelli
587754

81

ALGORITHMIC TASK 09

L-Systems and Loops with Hoopsnake

ornella altobelli
587754

82

ALGORITHMIC TASK 09

L-Systems and Loops with Hoopsnake

ornella altobelli
587754

83

ALGORITHMIC TASK 09

Extracting Open Street Map Data with Elk

ornella altobelli
587754

84

ALGORITHMIC TASK 09

Particle Trajectories and Loops with Anenome

ornella altobelli
587754

85

ALGORITHMIC TASK 09

Particle Trajectories and Loops with Anenome

ornella altobelli
587754

86

ALGORITHMIC TASK 09

Live Data Feeds and Responsive Geometry


with Firefly

ornella altobelli
587754

87

ALGORITHMIC TASK 09

Live Data Feeds and Responsive Geometry


with Firefly

ornella altobelli
587754

88

ALGORITHMIC TASK 09

Live Data Feeds and Responsive Geometry


with Firefly

ornella altobelli
587754

89

ALGORITHMIC TASK 09

Live Data Feeds and Responsive Geometry


with Firefly

ornella altobelli
587754

90

ALGORITHMIC TASK 09

Live Data Feeds and Responsive Geometry


with Firefly

ornella altobelli
587754

91

ALGORITHMIC TASK 09
Structural Analysis with Galapagos

ornella altobelli
587754

92

ALGORITHMIC TASK 09
Structural Analysis with Galapagos

ornella altobelli
587754

93

ALGORITHMIC TASK 09
Structural Analysis with Galapagos

ornella altobelli
587754

94

ALGORITHMIC TASK 10

Introduction to Radiation Analysis with Ladybug

ornella altobelli
587754

95

ALGORITHMIC TASK 10

Introduction to Radiation Analysis with Ladybug

ornella altobelli
587754

96

ALGORITHMIC TASK 10

Introduction to Radiation Analysis with Ladybug

ornella altobelli
587754

97

ALGORITHMIC TASK 10

Introduction to Radiation Analysis with Ladybug

ornella altobelli
587754

98

ALGORITHMIC TASK 10

Introduction to Radiation Analysis with Ladybug

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

ALGORITHMIC TASK 11
sun responsive patterns

ornella altobelli
587754

100

ALGORITHMIC TASK 11
sun responsive patterns

Closest point, visualized through line geometry

ornella altobelli
587754

101

ALGORITHMIC TASK 11
sun responsive patterns

ornella altobelli
587754

102

ALGORITHMIC TASK 11
sun responsive patterns

ornella altobelli
587754

103

ALGORITHMIC TASK 11

Isosurfacing and Minimising with Millipede: Mark


Fornes - Under Tension

ornella altobelli
587754

104

ALGORITHMIC TASK 11

Isosurfacing and Minimising with Millipede: Mark


Fornes - Under Tension

ornella altobelli
587754

105

ALGORITHMIC TASK 11

Isosurfacing and Minimising with Millipede: Mark


Fornes - Under Tension

ornella altobelli
587754

106

ALGORITHMIC TASK 11

Isosurfacing and Minimising with Millipede: Mark


Fornes - Under Tension

ornella altobelli
587754