Dario Cesare Parigi – Curriculum Vitae et Studiorumraussen/INSB/AD17-2/LECT/GH2_2_rid.pdfAalborg...
Transcript of Dario Cesare Parigi – Curriculum Vitae et Studiorumraussen/INSB/AD17-2/LECT/GH2_2_rid.pdfAalborg...
-
Aalborg University – Architektur og Design - Exercise by Dario Parigi
1
FREEFORM GRID
What you will learn
1. How to handle grasshopper “trees
data structure”
2. To parametrically define a freeform
grid of points
List of relevant components used
Merge
Interpolate Curve
Divide
LineSDL
Cross product
Flip matrix
Move
-
Aalborg University – Architektur og Design - Exercise by Dario Parigi
2
This exercise will get you through the procedures to create a grid that adapt curved surfaces, with the
application of vector operations and the careful handling of tree data structure.
1- Create four separate points in Rhino canvas in the xy plane
2- Now open the grasshopper canvas and reference the four points into four separate points
grasshopper components (params>geometry) by right clicking on the component, select set
one point, and then selecting the point in the rhino interface
3- Now collect the four points into a single list with a merge component (Sets>tree) connecting
each one into a different input. Inputs will be created automatically the more you add points.
4- Create a curve through the points (curve>spline>interpolate)
5- Create points along the curve (curve>division>divide curve) and set in the input N the number
of divisions (>10) with a slider of type “integer” (right click for options).
6- Use a panel component (params>input) and a param viewer (params>util) to visualize how
the data is organized. Points are organized in a single list, or branch which path is {0;0}
7- To find the perpendicular vector to the curve at each point, use a cross product component
(vector>vector), and visualize the result with vector display (vector>vector).
’
-
Aalborg University – Architektur og Design - Exercise by Dario Parigi
3
8- Create vertical lines from the points with a component lineSDL (curve>primitive), using the
points in the input S as (the starting point of the lines), a unitz for the direction vector
(vector>vector) and a slider for the L length.
9- Create points on the lines with a divide component, similarly as what you made previously in
step 5
10- Our goal is to create a grid of curves across the points in two directions. Before doing so we
need to learn how data is organized by grasshopper. Preview off the LineSDL and the divide
component (right click on the components to find this option) and examine how the points are
organized with a both a Panel and a Param Viewer component (Params>Util). The Param
viewer pane tells us that the points are organized in 6 branches, each branch is characterized
by a numeric path on the left column (example:{0;0;0}) and contains a list of 4 points (N=4).
(If you double click on the panel a graphic rendition of the data structure is also provided).
The component point list (vector>point) plot the point indexes in the viewport.
If we use an interpolate curve component a different curve will be created for each branch,
spanning the point list that the branch contains.
-
Aalborg University – Architektur og Design - Exercise by Dario Parigi
4
11- With the component flip matrix (sets>tree) it is possible to "flip" the tree data structure. The
data structure changes from ‘X’ points in ‘Y’ branches to ‘Y’ points in ‘X’ branches). Please
note that the points’ location and the points’ number remains unchanged. It is only the data
structure that changes. If we use now an interpolate curve, the curves will be created in the
other direction.
Branch 2 Branch 1
Point 1
Point 2
Branch 4 Branch 3
Branch 6 Branch 5
Point 3
Point 4
-
Aalborg University – Architektur og Design - Exercise by Dario Parigi
5
12- You can remove the unnecessary components to have a cleaner canvas as below, and visualize
the grid of curves.
13- Now we want to create a three-dimensional geometry out of this grid. We start by taking the
points contained in the flip component and we move them perpendicularly to the surface with
the perpendicular vectors that we created in step 7 with the cross product. So we´ll use a
Branch 2
Branch 1
Branch 4
Branch 3
Point 2 Point 1
Point 4 Point 3
Point 6 Point 5
-
Aalborg University – Architektur og Design - Exercise by Dario Parigi
6
move component (transform>euclidean) . Because there are 4 branches containing the
points, the vectors will be applied to the points in each of the 4 branches by the move
component.
14- Now we create curves with the displaced points and create surfaces between the original
curves and the displaced ones with the loft component (surface>freeform)
15- Let´s create the curves in the other direction after flipping the data structure of the displaced
points, and then loft with the correspondent original curves.
-
Aalborg University – Architektur og Design - Exercise by Dario Parigi
7
The geometries in the two loft components constitute your final freeform geometry. By moving the
four original points in Rhino, the 3d grid will adapt and modify in real time.