algorithmic sketchbook ARCHITECTURE design studio NICOLA LEONG 586066
:AIR
ARCHITECTURE DESIGN STUDIO: AIR ALGORITHMIC SKETCHBOOK WEEK 1 Grasshopper is a great tool that provides users with the freedom to alter surfaces and reiterate a design, when Rhino would not ordinarily allow it. Previously named ‘Explicit History’, Grasshopper remembers the history of each curve and thus allows you come up with a number of iterations from the same original set of curves, for your parametric model.
From the initial lofted surface that was created in Grasshopper, each separate curve may be altered by turning ‘control points’ on. From here, the lofted surface may be stretched and pulled till the desired form is acquired. Grasshopper then allows you to ‘bake’ the surface. This means to set the object back into Rhino, enabling you to pull the surface out as a separate object. From there you can then save that particular design, and continue to modify the surface to create different outcomes.
NICOLA LEONG 586066
EXPERIMENTING WITH A CONTINUOUS SURFACE
As suggested in the video tutorial, I experimented with a continuous surface. In the same way as I had done previously, I lofted 3 curves (this time closed) and created, and baked a number of iterations from there. The red images below show the original lofted surface, before any changes were made.
SIDE FRONT BACK TOP
From the original loft, I turned on control points, manipulated each of the curves to alter the shape, baked and extracted the forms shown above.
NICOLA LEONG 586066
TRIANGULATION ALGORITHMS DELAUNAY
VORONOI The voronoi algorithm creates cells around points, as opposed to the delaunay triangulation which draws edges across points. The screen-grab below shows the Voronoi cells in green, and the Delaunay triangulation in red. The Delaunay triangulation produces triangles between points, ensuring that the edges never overlap. This tool may be useful in order to quickly generate terrain.
After drawing a number of curves, Grasshopper allowed me to create a terrain surface over the curves that I had drawn with the Delaunay triangulation. The triangulation could be set over each of these curves separately, or I could flatten the surface, allowing the triangulation to span across the 4 drawn curves.
Both of these algorithms are often used in architecture to create patterns. Instead of using a random distribution of points, we can also use an ordered distribution of points. In the shot above, I have used a hexagonal grid, which in the Delaunay algorithm creates equilateral triangles. In contrast to this, the Vornoi component creates cells around the equilateral triangles, ordered into hexagons. NICOLA LEONG 586066
VORONOI 3D TRIANGULATION ALGORITHM
The Voronoi 3D triangulation algorithm allows us to apply points into a 3 dimensional object, in this case a rectangular box that I have drawn. First I populated the interior of the box with points, using Grid-Populate 3D. Once the points are connected up to the Voronoi component on Grasshopper, 3 dimensional cells are created around each of the points within the box. From there, I was able to ‘bake’ the form into Rhino and ‘pull’ out the shape from the original box. Once baked, I was able to modify the shape by deleting some of the cells to create this fragmented rectangle.
NICOLA LEONG 586066
ARCHITECTURE DESIGN STUDIO: AIR ALGORITHMIC SKETCHBOOK WEEK 2
CURVE
Curve-AnalysisEND POINTS
LINE REPARAMETERIZE
We can use Grasshopper to connect curves that we have drawn in Rhino into a closed surface.
CURVE
DISCONTINUITY
AVERAGE
The number slider allows us to move the point along the curve. eg/ 0.5 would place the X along the parametric midpoint of the curve. This is not necessarily the midpoint in term of length, as the control points aren’t layed out evenly.
LINE
After averaging the corner points to find the centre point, we can then break up the polyline in to triangulated chunks by adding the line tool.
NICOLA LEONG 586066
DIVISION COMPONENTS
If we choose to move the original curves, all of the arcs set in Grasshopper will update.
Division components allow us to divide curves into points or into smaller curve segments. We can use the divide tool to place points evenly along each of the curves, and connect it to the Arc component to create a series of arcs across the points.
NICOLA LEONG 586066
We can also divide the arcs by length, using the Division Component- Divide Length.
SPLINE MENU
Interpolate (under the spline menu) allows us to fit nurbs curves precisely across our set of points. Polyline fits straight lines in a grid across the points as opposed to interpolate curves which creates a curved grid.
NICOLA LEONG 586066
TRANSFORM MENU
ARCHITECTURE DESIGN STUDIO: AIR ALGORITHMIC SKETCHBOOK WEEK 3 CREATING A GRID SHELL In order to create a grid shell, I drew a number of circular curves on different levels, and created arcs between them. For some reason I wasn’t able to get smooth arcs between each of the curves, possiby because of the number of control points on each of hte oiginal curves I drew in Rhino.
Grasshopper allows you to imput a points button, which labels each of the points for you, making it easier to see where each of the arcs connect. As you can see, the numbers were very jumbled, causing the arcs to go haywire.
Although the arcs didn’t work like how they were suppposed to for me, I still continued with the loft just to see what the result would be. I thought what was produced turned out to be rather interesting, this kind of shell, trapped in another shell which is intwind in another.
I redid this exercise, this time beginning with three simple rectangles. The arcs this time worked properly, and hence when lofted, I got a smooth and fluid shape.
EXPERIMENTATION USING DIFFERENT SHAPES
By moving around the placement of the rectangles, I was able to create slightly different iterations of a similar shape.
FURTHER EXPERIMENTATION
I decided to experiment with different shapes and lofts, and how the result of the loft would change if the curves were selected in a different order. The loft that was produced as a result of this was actually quite interesting. What I managed to create was a spiral that folded in toward itself. If this were a building, the exterior facade would fold in to the interior and vice versa, basically a series of ramps.
Grasshopper became a bit messy at this stage, as I experimented with different links between imputs.
I really like how in this iteraion, the surface continues to fold in on itself. I can imagine people waking on this, as if some sort of strange and spiraling ramp.
PATTERNING LISTS
Once you have created a surface in Rhino, Grasshopper allows you to divide the surface into points, which then allows you to create patterns across it.
We can alter the amount of points on the surface to increase the density of the pattern.
Creating different iterations by changing the imputs.
Grasshopper allows you to calculate the area of each grid square.
ARCHITECTURE DESIGN STUDIO: AIR ALGORITHMIC SKETCHBOOK WEEK 4
MODELLING A PYRAMID IN GRASSHOPPER Rather than modelling a pyramid in Rhinocerous, modelling one in Grasshopper allows us to create a definition that has a lot more creative flexibility within it. We are able to play around with the shape more easily, and bake iterations back into Rhino oas we go along.
‘Drawing’ a pyramid in Grasshopper.
PYRAMID ITERATIONS
Using Grasshopper, I was able to manipulate the pyramid by adding sliders to vary the overall size of it, the width of each face, and the height of the pyramid.
PYRAMID ITERATIONS USING GRASSHOPPER COMPONENTS
RADIUS OF IMPUT POLYGON NUMBER OF SIDES EDGE LENGTH (OF CORNER TRIANGLES)
RADIUS OF IMPUT POLYGON
This slider increases the radius of the polygon, therefore increasing the overall size of the shape.
NUMBER OF SIDES
By increasing the number of sides to our polygon, we can create some interesting shapes. More sides also resulted in a much flatter shape.
EDGE LENGTH (OF CORNER TRIANGLES)
The length of the edges of the corner triangles increases, cutting into the original pyramid more and more
CREATING A FRACTAL TETRAHEDRA
CREATING A FRACTAL TETRAHEDRA
I was only able to select either the inner portion or one of the outer pieces of the pyramid to extract as a fractal for some reason, so I chose the outer bit.
CREATING A FRACTAL TETRAHEDRA
For some reason the original ‘cap’ component didn’t work, so I typed in ‘cap’, and found the cap holes component. I selected my baked shapes in Rhino, set them as ‘Brep’ components, and used the cap tool to close the gaps.
The overall Grasshopper definition.
ARCHITECTURE DESIGN STUDIO: AIR ALGORITHMIC SKETCHBOOK WEEK 5
EVALUATING FIELDS
In this Grasshopper definition, we have set multiple curves, used the divide curve button to populate each of the curves with points, and added a number slider to control the amount of points shown.
EXPERIMENTING
Turning Contol Points On, and moving points in the vertical direction in order to turn the flat object, into a 3 dimensional one.
CREATING ITERATIONS FROM THE SKYAR TIBBITS VOLTADOM DEFINITION
OPEN CONICAL
MEDIUM POPULATION, LOW HEIGHT
MEDIUM POPULATION, VARYING
ROUNDED CONICAL
MEDIUM OVERLAP, SMALL POPU-
OPEN & CLOSED CONICALS
LARGE OVERLAP, SMALL POPULATON, NO OPENING
DENSE POPULATION, LOW HEIGHT, LARGE OPENING, CLOSE PROXIM-
LARGE OVERLAP, DENSE POPULATION, ONE OPENING
DENSE POPULATION, HIGH HEIGHT, CLOSE PROXIMITY
LARGE OVERLAP, DENSE POPULATION, NO OPENINGS, INVERTED ROUNDED CONICAL
OPEN & CLOSED SPHERES
COMBINATION: SPHERES, CYLINDERS AND CONICALS
CYLINDERS & POINTED CONICALS + SPHERES & POINTED CONICALS
ARCHITECTURE DESIGN STUDIO: AIR ALGORITHMIC SKETCHBOOK WEEK 6
REVERSE ENGINEERING
We chose to reverse engineer the Atmospheric Tessellation Lighting Installation.
CREATING THE 3D TRIANGULATED PATTERN
First failed attempt to reverse engineer the ‘Atmospheric Tesselation’ Project. Couldn’t get the panels to tesselate- instead produced a surface with lots of gaps/ holes.
SURFACE TRIANGULATION
POPULATING THE SURFACE WITH A PATTERN
CAPPING THE HOLES
For some reason the patch tool kept failing to work, and would only cap the holes on one of the triangulationsspecifically the one on the very end. Connecting a cap holes component worked to cap pretty much all the holes on the top, however it caused some of the sides of the individual components to disappear.
FINAL PRODUCT
ARCHITECTURE DESIGN STUDIO: AIR ALGORITHMIC SKETCHBOOK WEEK 7
To create the matrix of 50 iterations, we began with 3 Grasshopper definitions. Although similar, they allowed us to create a number of unlike definitions after we played around with each of them.
GRASSHOPPER DEFINITION 1: CONSTANT QUAD SUBDIVIDE
GRASSHOPPER DEFINITION 2: HEXAGON CELLS
As explained on the food4rhino website, the Grasshopper Lunchbox plugin allows users to: Generate- components for generative geometry Math- create parametric surfaces and forms such as the Mobius, Klein, or 3D Supershape Panels- create paneling systems such as quad grids, diamonds, or triangles. Structure- create wire structures such as diagrids or space trusses. Utility- rationalize spline curves and reverse surfaces. Workflow- read and write Excel files and automate baking and saving. We used Lunchbox to help create a panelling system more easily, as it was otherwise rather difficult, as we discovered in the weeks prior.
GRASSHOPPER DEFINITION 3: SUBDIVIDE TRIANGLES
CREATING ITERATIONS
I started out creating iterations on this undulating surface, however because the base surface was curvy, Grasshopper was taking a long time to calculate how it would populate the surface. We decided it would be quicker to generate our 50 iterations on a smaller and simpler suface, and once we had chosen ones we liked, we could then implement these definitions on a more complex surface. To export surfaces into 2D linework, I created a named perspective view on Rhino, using command- NamedView. I saved my desired view, and from there used the command- Make2D, to flatten each of my 3D iterations into 2D linework. I had lots of trouble with Rhino freezing and crashing on me with a lot of the more complex iterations as there was a lot of linework that had to be calculated. I found that joining all of the surfaces first helped quicken the process, as well as ensuring that Rhino was running as 64 bit. After making all my 3D surfaces into 2D linework, I selected each of the iterations (in top view) and exported each as an illustrator file, where I could then change the lineweight, colour, size etc.
ITERATIONS PRODUCED FROM GRASSHOPPER DEFINITION 1:
SCALE FACTOR 1 (TOP): 1.225 Z FACTOR: 4 SCALE FACTOR 2 (BOTTOM): 0.130
SCALE FACTOR 1 (TOP): 0.325 Z FACTOR: 6 SCALE FACTOR 2 (BOTTOM): 0.900
SCALE FACTOR 1 (TOP): 0.450 Z FACTOR: 5 SCALE FACTOR 2 (BOTTOM): 0.371
U DIVISION: 4 V DIVISION: 7 SCALE FACTOR 1 (TOP): 0.795 Z FACTOR: 4 SCALE FACTOR 2 (BOTTOM): 0.914
U DIVISION: 1 V DIVISION: 3 SCALE FACTOR 1 (TOP): 0.795 Z FACTOR: 2 SCALE FACTOR 2 (BOTTOM): 0.914
TRI PANEL CONSTANT QUAD SCALE FACTOR 1 (TOP): 1 Z FACTOR: 2 SCALE FACTOR 2 (BOTTOM): 0.8 PATCH ENABLED
TRI PANEL CONSTANT QUAD SUBDIVIDE: 1 SCALE FACTOR 1 (TOP): 1 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 1
TRI PANEL CONSTANT QUAD SCALE FACTOR 1 (TOP): -0.432 Z FACTOR: 8 SCALE FACTOR 2 (BOTTOM): 2 PATCH DISABLED
TRI PANEL CONSTANT QUAD SUBDIVIDE: 3 SCALE FACTOR 1 (TOP): 0.8 Z FACTOR: 2 SCALE FACTOR 2 (BOTTOM): 0.964
U DIVISION: 1 V DIVISION: 5 SUBDIVIDE: 1 SCALE FACTOR 1 (TOP): 2.0 Z FACTOR: 2 SCALE FACTOR 2 (BOTTOM): 0.908
TRI PANEL CONSTANT QUAD SUBDIVIDE: 2 SCALE FACTOR 1 (TOP): 0.853 Z FACTOR: 6 SCALE FACTOR 2 (BOTTOM): 0.964 PATCH DISABLED
U DIVISION: 5 V DIVISION: 5 SUBDIVIDE: 1 SCALE FACTOR 1 (TOP): 1.0 SCALE FACTOR 2 (BOTTOM): 0.9 Z FACTOR: 2 X FACTOR: 2 Y FACTOR: 2
U DIVISION: 1 V DIVISION: 2 SUBDIVIDE: 2 SCALE FACTOR 1 (TOP): 0.427 Z FACTOR: 2 SCALE FACTOR 2 (BOTTOM): 0.583
TRI PANEL CONSTANT QUAD SCALE FACTOR 1 (TOP): 2.3 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 0.41
TRI PANEL CONSTANT QUAD SCALE FACTOR 1 (TOP): 0.189 Z FACTOR: 6 SCALE FACTOR 2 (BOTTOM): 0.964 PATCH DISABLED
ITERATIONS PRODUCED FROM GRASSHOPPER DEFINITION 2:
SCALE FACTOR 1 (TOP): 0.539 Z FACTOR: 3 SCALE FACTOR 2 (BOTTOM): 0.899
HEXAGON SCALE FACTOR 1 (TOP): 1 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 1 PATCH ENABLED
U DIVISION: 8 V DIVISION: 20 SCALE FACTOR 1 (TOP): 1.0 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 0.7 PARAMETER (T): 0.8
U DIVISION: 8 V DIVISION: 10 SCALE FACTOR 1 (TOP): 0.6 Z FACTOR: 5 SCALE FACTOR 2 (BOTTOM): 0.9 PARAMETER (T): 0.75 PATCH DISABLED
U DIVISION: 10 V DIVISION: 15 SCALE FACTOR 1 (TOP): 7 Z FACTOR: 3 SCALE FACTOR 2 (BOTTOM): 1.3
U DIVISION: 13 V DIVISION: 15 SCALE FACTOR 1 (TOP): 0.6 Z FACTOR: 4 SCALE FACTOR 2 (BOTTOM): 0.869 PARAMETER (T): 0.1 PATCH ENABLED
U DIVISION: 5 V DIVISION: 10 SCALE FACTOR 1 (TOP): 1.3 Z FACTOR: 5 SCALE FACTOR 2 (BOTTOM): 0.3 PARAMETER (T): 0.9, 0.7 PATCH ENABLED
U DIVISION: 6 V DIVISION: 8 SCALE FACTOR 1 (TOP): 0.6 Z FACTOR: 6 SCALE FACTOR 2 (BOTTOM): 0.9 PARAMETER (T): 0.75 PATCH ENABLED
SCALE FACTOR 1 (TOP): 1.000 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 0.908
HEXAGON SCALE FACTOR 1 (TOP): 3.40 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 0.264 PATCH ENABLED
SCALE FACTOR 1 (TOP): 0.680 Z FACTOR: 4 SCALE FACTOR 2 (BOTTOM): 0.807
HEXAGON SCALE FACTOR 1 (TOP): 0.097 Z FACTOR: 15 SCALE FACTOR 2 (BOTTOM): 0.854 PATCH ENABLED
SCALE FACTOR 1 (TOP): 1.555 Z FACTOR: 2 SCALE FACTOR 2 (BOTTOM): 0.807 PATCH DISABLED
HEXAGON SCALE FACTOR 1 (TOP): 0.417 Z FACTOR: 6 SCALE FACTOR 2 (BOTTOM): 1.316 PATCH ENABLED
U DIVISION: 13 V DIVISION: 15 SCALE FACTOR 1 (TOP): 0.6 Z FACTOR: 4 SCALE FACTOR 2 (BOTTOM): 0.869 PARAMETER (T): 0.1 PATCH ENABLED
SCALE FACTOR 1 (TOP): 1.555 Z FACTOR: 2 SCALE FACTOR 2 (BOTTOM): 0.807 PATCH ENABLED
HEXAGON SCALE FACTOR 1 (TOP): 1.48 Z FACTOR: 3 SCALE FACTOR 2 (BOTTOM): 0.8 PATCH DISABLED
U DIVISION: 13 V DIVISION: 15 SCALE FACTOR 1 (TOP): 0.6 Z FACTOR: 2 SCALE FACTOR 2 (BOTTOM): 0.9 PARAMETER (T): 0.1, 0.3 PATCH DISABLED
ITERATIONS PRODUCED FROM GRASSHOPPER DEFINITION 3:
SCALE FACTOR 1 (TOP): 1.548 Z FACTOR: 2 SCALE FACTOR 2 (BOTTOM): 0.769 PATCH ENABLED
SCALE FACTOR 1 (TOP): 1.548 Z FACTOR: 2 SCALE FACTOR 2 (BOTTOM): 0.769 PATCH DISABLED
U DIVISIONS: 24 V DIVISIONS: 25 SCALE FACTOR 1 (TOP): 0.241 Z FACTOR: 4 SCALE FACTOR 2 (BOTTOM): 0.769 LOFT COMPONENT REPLACED B EXTRUDE
TRIANGULATED SUB PANEL SCALE FACTOR 1 (TOP): 1 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 1 PATCH ENABLED
TRIANGULATED SUB PANEL SCALE FACTOR 1 (TOP): 0.533 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 1.635 PATCH DISABLED
U DIVISION: 1 V DIVISION: 3 SCALE FACTOR 1 (TOP): 0.6 SCALE FACTOR 2 (BOTTOM): 0.488 Z FACTOR: 2 X FACTOR: 6 PATCH ENABLED TRIANGULAR PANELS
SCALE FACTOR 1 (TOP): 0.928 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 0.769 PATCH DISABLED
TRIANGULATED SUB PANEL SCALE FACTOR 1 (TOP): 1.56 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 1 PATCH DISABLED
U DIVISION: 1 V DIVISION: 3 SCALE FACTOR 1 (TOP): 0.488 SCALE FACTOR 2 (BOTTOM): 0.846 Z FACTOR: 2 PATCH DISABLED TRIANGULAR PANELS
SCALE FACTOR 1 (TOP): 0.928 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 0.769 PATCH ENABLED
TRIANGULATED SUB PANEL SCALE FACTOR 1 (TOP): 1.560 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 0.162 PATCH DISABLED
U DIVISION: 5 V DIVISION: 8 SCALE FACTOR 1 (TOP): 0.488 SCALE FACTOR 2 (BOTTOM): 0.846 Z FACTOR: 2 PATCH ENABLED RANDOM QUAD PANEL S: 5
TRIANGULATED SUB PANEL SCALE FACTOR 1 (TOP): 1.560 Z FACTOR: 1 SCALE FACTOR 2 (BOTTOM): 0.1635 PATCH DISABLED
U DIVISION: 3 V DIVISION: 5 SCALE FACTOR 1 (TOP): 0.3 SCALE FACTOR 2 (BOTTOM): 0.9 Z FACTOR: 5 PATCH DISABLED RANDOM QUAD PANEL S: 1 SUBDIVIDE QUAD
SCALE FACTOR 1 (TOP): 0.241 Z FACTOR: 4 SCALE FACTOR 2 (BOTTOM): 0.769 LOFT COMPONENT REPLACED B EXTRUDE
U DIVISION: 3 V DIVISION: 3 SCALE FACTOR 1 (TOP): 0.3 SCALE FACTOR 2 (BOTTOM): 0.9 Z FACTOR: 7 PATCH ENABLED SUBDIVIDE QUAD SKEWED QUADS T: 0
REVSRF 3: REVERSE UV U DIVISION: 2 V DIVISION: 1 SCALE FACTOR 1 (TOP): 0.3 SCALE FACTOR 2 (BOTTOM): 0.9 Z FACTOR: 7 PATCH ENABLED TRIANGULAR PANELS
REVSRF 3: REVERSE UV U DIVISION: 6 V DIVISION: 2 SCALE FACTOR 1 (TOP): 0.8 SCALE FACTOR 2 (BOTTOM): 0.9 Z FACTOR: 7 PATCH ENABLED SUBDIVIDE QUAD SKEWED QUADS T: 0
ARCHITECTURE DESIGN STUDIO: AIR ALGORITHMIC SKETCHBOOK WEEK 8 ONWARD
RHINO RENDERS- NORTH, SOUTH, EAST & WEST VIEWS
RHINO RENDER - STRUCTURAL STEEL & TOP VIEW OF POD PAVILION The steel structure doesn’t connect to the pod pavilion above, so we need to figure out how this connection would work. The form is also lacking at this stage, and the square edges don’t compliment the curved inner surface.
TOP VIEW
RHINO RENDER - TRIANGULATED STEEL STRUCTURE For our final model, we hope to figure out how to create a hexagonal structure underneath our model rather than a triangulated structure, as this structure looks very seperate from the pods. Here the structure doesn’t properly connect with the pods- whereas we for our final design we would like the pods to sit within the steel structure which would act as a frame/base for each of the pods.
RHINO LASER CUTTING FILE This is the file sent into the Fab Lab for Laser cutting. Pods on our surface were unrolled in Rhino and arranged on the sheet.
FILE SET UP FOR 3D PRINTER Before sending files to the 3D printer, we had to make sure that the file was set up correctly for printing. This involved cleaning up any overlaps, extruding the thickenss to a suitable length, and proper scaling. We used MeshLab to help assist with this.
TOP VIEW
ABOVE/SIDE VIEW
UNDERSIDE
SIDE VIEW
SURFACE DEFINITION
HEXAGONAL SURFACE PATTERN DEFINITION
SOLAR ANALYSIS DEFINITION USING LADYBUG Using Ladybug, we were able to conduct a radial solar analysis of the average sun in Copenhagen. Conducting a sun study allowed us to optimize our form in regards the results, and reduce the amount of problem areas (areas which received little sun).
SOLAR ANALYSIS USING LADYBUG
SHADOW STUDY DEFINITION USING LADYBUG Using Ladybug, we were also able to carry out a shadow study- which showed us which areas of our pavilion might be overshadowed by taller areas.
STRUCTURAL ANALYSIS USING KARAMBA
1CM
4CM
2CM
7CM
We used Karamba to test the structural stability of our framework, and to see how thick we needed the steelwork to be. The different colours alerted us to problem areas which we could then find solutions to.
3CM
8CM
STRUCTURE/ PIPES DEFINITION