You are on page 1of 71

architecture

design studio
justine
2
lenkiewicz 389679
0 1 4
air

algorithmic sketchbook
WEEK 01
l ofti ng cur v e s
The first week’s online tutorials were about getting us
familiar with the Grasshopper interface and a few of the
key functions. We started off lofting curves by drawing
three separate curves in Rhino, and then referencing them
into three separate ‘curve’ components in Grasshopper,
which were then plugged into the ‘loft’ component in
order to create an undulating surface.

As a node-based editor, Grasshopper was able to first store the information about the curves
before outputting the data into the loft component; which then provided greater freedom
when transforming and altering the 3D model in Rhino via the model’s control points.

page | 2
d elauney
The videos also explored the use of prepackaged
triangulation algorithms in generate patterns across 2D
and 3D surfaces.
The delauney algorithm is a quick way of producing
triangles between points in 2D geometry, and is useful as
a quick way of generating terrain using a set of contours.

v o r o no i
The Voronoi 3D algorithm works on the same premise,
but is applied to 3D objects. Once your 3D geometry
has been referenced in Grasshopper, your baked Rhino
model is divided up into cells. which can then be adjusted
individually or deleted to create irregular and complex
geometries.

page | 3
WEEK 01
exper iment in g w ith g rid s
iteration /01

iteration /02

page | 5
WEEK 02
vector fund a m e nta ls
In week 2, we were introduced to computational methods of modelling through the use of
points and vectors. Vectors are used to specify direciton and magnitude in a Grasshopper
definition, and they can be useful for performing transformations on objects such as
movement, scaling, ratios and rotations.
Unit vectors are also used to quickly and accurately set the length of an object.
Meanwhile, points are used to specify the position of something, and planes are used to
specify orientation.

01.

02.

04.
03.

01.Panel list used for custom notes and text values 02.Unit vector component which has a value of
one 03.Transforms a unit vector so that is it parallel with the x axis 04.Vector display viewport

05.

06.

05.Projects a point or vector onto the XY plane 06.Constructs a plane along an origin input page | 6
Grasshopper also has the capacity to perform vector
summation through the addition of the x, y and z
components of each vector)

07. 08.

09.

07.Deconstructs a vector into its component parts 08.Mathematical addition of x, y, and z components of a vector 09.Creates
a vector from the x, y, and z components

page | 7
WEEK 02
mesh geom e try
Through algorithms, we can use a list of vertices and points, and connect them together to
make a mesh from scratch.
The mesh menu also provides numerous methods of analysis for surfaces, including trian-
gulation which breaks a surface up into individual triangular faces.
It is also possible to create meshes by using points and then the quad system component
to instruct how points are to be connected together.
A NURBS surface that has been created in Rhino can be referenced into Grasshopper with
the Brep (boundary representation component) and then converted into a mesh segmented
into a series of vertices and faces. This process has been optimised to run quickly by mak-
ing only an approximation of curves, so it is a particularly good alternative if you don’t need
to be precise.

page | 8
11. 12.

10.
13.

10. Component which allows you to alter a mesh with custom settings 11.Creates a mesh by approximating a
referenced Brep geometry 12.Optimises the mesh by merging together identical vertices 13. Softens the vertices of
a mesh to produce a smoother mesh

page | 9
WEEK 02
messing wi th m e s h

page | 10
page | 11
WEEK 02
creating a rc s
Through the divide and arc building functions in the curve menu, Grasshopper allows you to
create arcs from a series of points and planes that has the potential to result in complex and
intriguing geometry.
In order to do this, we first had to reference our two curves into Grasshopper and then divide
the curves by plugging them into a Divide curve component.
To create arcs along the z plane, the Arc component needed an input of referenced points
that make resulted from a division in the curves. A second z plane component then had to
be plugged in to determine the base plane of the arcs.
The lattice effect was created by then repeated the process but using the referenced arcs
as the input information. The Divide Length component includes allows you to set a unique
length between divided segments along the arcs with a second input option. A curve is
finally fed through the divisions via the Interpolate Curves component.

page | 12
14. 16. 17. 18.

15.

14.Divide curve component 15.Creates arcs along the z plane 16.Creates an arc 17.Divides arcs up into segments
with adjustable lengths 18.Interpolates a curve through the segments

page | 13
WEEK 02
transfor m m e n u - 2 D p la n e s
The transform menu is useful in the creation of 2D planes to contour surfaces, which can
then be projected as elevations of the geometry onto X and Y planes. This becomes a
useful took in the fabrication methods.
`

Loft three curves together | Reference loft as a surface which can be contoured | Use a slider to adjus
of projection plane | Loft projection to create planes

p ro jecting g e o m e try o n to c u r v e s

Divide contours | Assign a planes using the division as


origin points | Orient planes to wrap around the contours

page | 14
19.

21.

20.
19.Contour component with parameters for distance and direction 20.XY plane component 21.Projection
component

st elevation

24.
22. 23. 28.

25. 27.

26.

22.Divide component that breaks up contour into a


series of points 23.Constructs a plane at a specified
point of origin 24.Orients plane according to specified
parameters 25. Distance component to adjust
distribution distance of planes along contours 26.
Bounds component that has ‘flattened’ the data from
previous parameter into a single list 27. Remapping
component that redistributes planes along the
contours 28. Scale component that adjusts the size of
planes

page | 15
WEEK 02
curve inter se c tio n s

Input multiple curves data | Select indices and parameters of curve in


plane to intersection points | Draw

page | 16
31.

30.

29.
29.Solves intersection points for multiple curves 30.Retrieves specific items for a list 31.Deconstructs
a plane into its component parts

ntersections | Evaluate the intersection points | Assign a


geometry along plane

page | 17
WEEK 02
sp her e inte rs e ction s

Draw a sphere and set multiple radius within | Populate geometry with points to create more
intersections | Randomise placement using jitter component | Draw circle shapes through a
set of predetermined points from a list of extracted data | Loft between specified radiuses to
achieve coil-like sphere shape

page | 18
32. 33.
34. 35. 36.

32.Creates a spherical surface 33.Populates geometry with points 34.Randomly shuffles list of values 35.Extracts the data
and outputs into unique lists 36.Draws a circle using three defined points from the list of data

page | 19
WEEK 03
creating a grid s h e ll

Draw three separate cruves | Divide curves | Explode the tree data into separate branches | Create a
branch lists | Offset the lists by an integer to create diagonal arcs | Construct a geodesic surface betw
create height

page | 20
37. 38.

40.

39.

37.Using three points to create an arc 38.Rebuilds curves with a specific number of control points
39.Offsets the order of the list by a value 40.Constructs a geodesic surface from a series of points

arcs using data from three separate


ween the points | Extrude the arcs to

page | 21
WEEK 04
expr essions

page | 22
page | 23
41.

42.

41.Constructs a lofted surface from three curves, deconstructs the Brep so that the surface can be divid
extreme, and uses that as a source value to reparametrise the object 43.Script components that allow
according to set plane, and edits the attributes of the circles by adding dots, colour, and fuzz

page | 24
44.

43.

44.

ded 42.Creates a field charge from a referenced point, then extrapolates one maximum and one minimum
you to input a function and operate on a number of variables and remaps the 44.Contours the curves

page | 25
WEEK 04
fractal tetr a h e d ro n

page | 26
page | 27
WEEK 04
fractal tetr a h e d ro n

page | 28
page | 29
47.

45. 46.

45.Constructs a polygon along the XY plane using adjustable parameters 46. Uses a mathematical fun
parts to be evaluated, scaled, trimmed, and arrayed uniquely. This process is repeated several times

page | 30
nction to extrude the geometry 47. Constructs a brep, which can then be deconstructed into its constituent
to achieve the desired effects.

page | 31
WEEK 04
eva luating f ie ld s

page | 32
page | 33
Curve Divide

Point Charge Decay

page | 34
Spin Force Field and Point Charge Decay page | 35
WEEK 04
g rap hing se ction p rof ile s
Graph Mapping can be used to convert a 2D drawing into a 3D object,
and allows greater amount of control but making smalls transitions and
large vertical pushes by breaking up the 2D curves broken up into list
of points and then mapping them to a new Z coordinate.

Curve Divide

page | 36
Setting range for divisons | Remapping to unit z

Interpolate curves

Graph iterations

page | 37
WEEK 04
g rap h controlle rs
Graph mappers allow you to generate 2D and 3D geometry with great
flexibility.
In this tutorial, we simply took grid circles and manipulated their radii,
combined with the prepackaged voronoi component to produce cells
that resemble a crystal like pattern.

48.

48. Create
up the curv
curve divis

page | 38
50.

49.

es the original 2D circle geometry, using a bezier graph to determine the mapping of the range of curve 49. Divides
ves by a given number of segments, flattens the list of points so that the cull pattern operates uniformly across all
sions 50. Generates a voronoi cell pattern and interpolates it through curve divisions

page | 39
WEEK 04
g rap h controlle rs
Bezier graph and curve division iterations

True False True Cull

False True True False Cull

page | 40
Parabola graph and curve division iterations

page | 41
WEEK 04
i ma ge sa m p ling
This tutorial demonstrated who to map an input surface space using
the space of an image sample. In this example, we generated a series
of overlapping and offset grids of appertures to replicate the surface of
the Herzog and de Meuron ‘De Young Museum’

51.

52.

51. Subdiv
domain 5
Shifts the s

page | 42
53.

vides an input surface using an image sample and mathematical expression to map circles within a particular
2. Create two additional overlaying circle patterns using another image sample and mathematical expression 53.
second overlaying circle pattern up along the z vector at a given radian angle

page | 43
Adjusting angle

Using a different image sample for


overlaying grid pattern

Using a logarithmic expression to


adjust angles and heights

page | 44
es and heights

page | 45
WEEK 05
d ri ft wood fra m e s

In an earlier tutorial, we recreated a pavilion using a set of curves that were then offset
to create contours, and extruded across a brep to create a series of intersecting
planes. We then used the split face component to create a layered, driftwood-like
surface.

page | 46
54. 56.

55.

54. Brep and original inner curve are separately referenced into Grasshopper 55. Inner curve is then offset and
extruded along the z vector according to specified parameters 56. The intersection for each brep is solved, and the
deconstructed constituent faces of the contoured breps are used to split the face of the pavilion brep

page | 47
WEEK 05
d ri ft wood fra m e s

For this week’s tutorial, we took this surface and created frames which could be used
to then fabricate the structure.

57. 58

57. Both inner and outer curves are referenced into Grasshopper and then divided; where the inner curve divisions are pr
vector between the division points on the inner and outer curves, and then data is grafted to individual branches and sim
resolved to shift according to given parameters that can be altered at any time 60. The end points are identified, joined to

page | 48
59. 60.

rogrammed to occur at the closests points on the outer curve division 58. Planes are drawn along the z
mplified 59. The intersection points between both breps are solved, and the planar surfaces are algorithmically
ogether, and then booleaned to create a singular, continous frame for fabrication procedures

page | 49
WEEK 06
g rad ient d e s ce nt
Create a recursive pattern using a gradient descent algorithm over a
topologically altered surface.

61.

61. Referencing in the topological surface and


clustered to simplify the iterative process 63. Ge

page | 50
62.

63.

dividing it into a set of points to use as references for the recursive pattern 62. Customised algorithms that have been
enerating a set of nurbs curves along the surface topological surface

page | 51
Computational error
page | 52
Vector amplitude iterations

Vector rotation iterations

page | 53
WEEK 07
tensile and rig id b od ie s
65.

66.

64.

page | 54
64. Referencing mesh geometry into
Grasshopper and using Weaverbird
component to ensure all edges and
vertices are joined 65. Extracting the
edges of the mesh and referencing
them as lines to be used as springs
when computing through Kangaroo
simulation 66. Kangaroo Physics
component which applies a force to
the referenced geometry in response
to referenced springs and anchor
points, resulting in a physical mesh

page | 55
WEEK 07
L- s y stems a nd h o o p s na k e

67.

68.

69.

page | 56
67. Create parametric lines in Grasshopper from a series of parametric points 68. Reference as line geometry 69.
Deconstruct plane into component parts in order to determine vertical vector direction 70. L-system algorithm, defined by
guide vectors and points 71. Hoop snake component which creates a running loop for the L-system algorithm, conditioned
to run ‘true’ for a total of 6 iterations after which it runs ‘false’

70.

71.

page | 57
WEEK 07
voussoir clou d inp ut

page | 58
page | 59
WEEK 07
voussoir clou d f orm f in d in g

72.

page | 60
72. Inputting mesh geometry, using mesh edges as connection and rest length, and
achieving final form using the Kangaroo Physics simulation, guided by a unary force

page | 61
WEEK 07
l i ve data fe e d s a nd re s p o n s i ve g e o me t r y w i t h f i r e f l y :
d ECO i a r ch ite cts - h y p o su r f a c e

73.

page | 62
73. Creating a rectangular surface and converting into a mesh face, where
the face normals and centre points alternate in response to a referenced
point location 74. Referencing audio data from microphone and displaying
wavelengths as a series of points 75. Remapping face normals in response to
live microphone data feed

74.

75.

page | 63
WEEK 07
stru ctur a l a n a ly s is w ith ga l a p a g o s: Bo l l i n g e r a n d
Gro hmann - S k ylink

76.
77.

78.

79.

80.

page | 64
76. Reference in lines drawn in Rhino
to create prarametric structural frame
77. Using millipede components to
assign anchors as point supports
78. Referencing columns as frame
curves and assigning them with
cross section, material and material
thickness 79. Referencing trusses as
frame curves and assigning them with
cross section, material and material
thickness 80. Determing vector
direction for point load 81. Testing
deflection

81.

page | 65
82.
84.
83.

86.

82. Dividing up top and bottom trusses, and grafting and exploding data onto separate branches 83. Drawing
individual trusses in preparation for Galapagos component 84. Using Galapagos Evolutionary Solver to
determine the best structural arrangement for minimal deflection 85. Assigning a cross section and materiality
to trusses

page | 66
page | 67
87.

87. Final result after running Galapagos Evolutionary Solver

page | 68
page | 69
WEEK 07
i sosur fa cin g a n d m in im is i n g w i t h mi l l i p e d e : M a r k
Fornes - Un d e r Te ns io n

89.
88. 90.

88. Referenced curves and bounding box 89. Referencing geometry and bounding box into Millipede
Geometry Wrapper component, and then referencing as an isosurface and creating a single mesh geometry
by welding the mesh together 90. Deconstructing mesh surface and grafting to single branches to allow
minimisation of surface 91. Using referenced point locations to determine contour arrangement on surface

page | 70
91.

page | 71

You might also like