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