tibballs algorithmic sketchbook 638803

31
STUDIO AIR ALGORITHMIC SKETCHBOOK MATTHEW TIBBALLS 638803

Upload: matthew-tibballs

Post on 24-Jul-2016

229 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

STUDIO AIR ALGORITHMIC SKETCHBOOK

MATTHEW TIBBALLS 638803

2 ALGORITHMIC SKETCHBOOK

WEEK 1To begin to understand algorithms and scripting in grasshopper, it is necessary to understand the principles behind form-generation.

NURBS:Through intitial experimentation in lofting, the conceptualisation of the NURBS surface came to the surface. NURBS Curves (Non-Uniform Rational B-Splines) are mathematical representation of 3d geometry that can accurately describe any shape from a simple 2D line, circle, arc or curve to the most complex 3D organic free-form surface or solid. It is an undeveloppable surface during to the fact that it is always curved at every scale. Intrinsic to NURBS formation and surface creation in Rhino are control points and curves which define the paramters for the NURBS surface to be created. In grasshopper, NURBS surfaces are referenced through surface parameters, or can be created in grasshopper itself by referencing the curves that exist in Rhino and then lofting.

POINT:Virtual space is not an actual world inside the computer but rather a 3-dimensional grid reference system organised in the X, Y and Z Plane. The World coordinate system is the structure of this virtual world, which is based around the centre (0,0,0). Depending on which direction one goes is a certain point in this coordinate system, which when moved up, down, left or right, will simply move to another point (grid coordinate).

VECTORA Vector is a direction or magnitude within algorithmic process. It is utilised for specifying direction or force of direction for points, curves and surfaces. Further down the track, vectors are utilised to create rythms and patterns through field charges and more. Technically, as it is a force it is not visible, but can be showed diagrammatically through components such as ‘vector display’. These vectors can also be utilised to orient, rotate and move objects/geometries within the world coordinate system.

PLANEA plane in Rhino is a reference axis from which one can draw geometries. Planes exist automatically in the X, Y and Z plane when drawing from top view, side view and front view. Planes are necessary as when drawing in perspective it becomes very difficult to reference in the Z Plane, hence the need to be able to set planes (C-Planes)to objects and surfaces.

ALGORITHMIC SKETCHBOOK 3

“While the attributes of the graphic/digital

primitives [...] are fully determined and

fixed at any time, within the parametric

diagram they remain variable. This

variability might be constrained within a

defined range on the basis of associative

functions that imbue the diagrammatic

process with an in-built intelligence”

p. Schumacher, the autopoeisis of architecture, A new framework of Architecture (John Wiley & Sons, 2010), vol. 1, p. 352

6 ALGORITHMIC SKETCHBOOK

ALGORITHMIC SKETCHBOOK 7

WEEK 1 MODELING TASKMy first task in grasshopper was to model sea sponges and various other reef creatures. To achieve this involved various components including ‘pipe’, ‘loft’ as well as ‘repeat data’ to create ripples along surfaces. I also looked into smoothening mesh geometries to create interesting reef-like forms. I also looked into the weaver-bird plug-in which was extremely useful in creating very smooths meshes via subdivision modeling.

8 ALGORITHMIC SKETCHBOOK

LISTS AND DATAIn Grasshopper, the algorithmic generative process relies on the manipulation and controlling of data rather than the actual digitral object as it is done in Rhino. Controlling the flow of this data is impetus to a succesful end result as Grasshopper structures the data into paths which are then put into a hierarchical list format.

The process in which the data inputs and outputs are organised into a manner which provides for an unambiguous set of properly defined instructions, is what constitutes the notion of algorithm [Tedeschi 2014].

There are various ways in which to control the data:1. List Item component is used to select a specific index item, i.e. a point along a divided curve.2. Cull Index component performs the reverse function of the list component and deletes specified index items from a list.3. Boolean Toggle can be used to define culling patterns.4. Shift list shifts the index numbers upwards of downwards.5. Split List splits a single input list as a specific index into two lists A and B.6. Reverse List (Sets> List) used to reverse order of a list of data. I..e connecting the last point on one curve to the opposite end of another curve (that is divided with points).

Here are examples of data matching through ‘cross reference’, ‘short list’ and ‘longest list’ which control how inputs relate to one another. Furthermore, by redefining domains and ranges of data by basing it on actual geometries within Rhino, one can actually make a point or a curve a determinant of data flow based on their distance to other geometries. These are commonly referred to as attractor points/curves and are but one example of a feedback loop in dataflow between Grasshopper and Rhino.

ALGORITHMIC SKETCHBOOK 9

10 ALGORITHMIC SKETCHBOOK

WEEK 2 - DATA TREEData and lists can be stored in hierarchical structures which can be visualised like a tree, with various branches spreading out in disparate directions. A data tree, thus, is the process of creating a ‘path’ for each list within a component. The structure of these paths are what constitute a data tree.Data trees are necessary to precisely define algorithms, and ensure that the data flowing between two components when linked together are organised so that they have matching paths or ‘branches’.

Data components that are not on the same level of hierarchy (path/branch) will not interact as expected, which can sometimes be a good or bad thing. To help manipulate the flow of data, tree editing is possible through ‘Flatten’, ‘Graft’, ‘Simplify’, ‘Flip Matrix’.

Flatten Tree component will restructure the data tree structure by assembling all the various paths into one whole. Graft tree will do the opposite and restructure the data tree by dispersing a group of data into separate paths. It can be very useful for creating a branch structure which is similar to another data tree.Simplify Tree will get rid of any overlapping in shared branches, leading to a simplified data tree structure.

Various other components exist for the purpose of modifying data tree structures, including ‘flip matrix’ whic swaps rows and columns in the data tree. Essentially it swaps items with branches and branches with items.

Cross reference

Longest List

Shortest List

ALGORITHMIC SKETCHBOOK 11

Thinking mathematically is an important component to working in Grasshopper. The algorithmic process is about establishing conceptual relationships between mathematical logic and geometry. This is evident in how Range and Domain can be used to define parameters of a geometry. The Range creates a sequence of numbers equally spaced inside a numerical domain. As for the domain, it is the space defined by two numeric extremes which are essentailly the minimum and maximum accessible indices within a list.

The Domain and Range can be applied for curves, surfaces and more. For a ‘surface domain’, one can utilsie it to find points along a surface if combined with ‘list item’. Sometimes, however, the domain of the input data does not correspond with the geometry, which necessitates ‘reparameterize’ to redefine the domain between 0 and 1, 0 being the beginning of the geometry (i.e. the starting point of a curve), and 1 being the end point.

The mathematical and logical functions are certainly becoming seen as a new part of design language in the 21st century. It seems logical since mathematical language has alwauys been a fundamental generator of shape and geometry.

On the left here are some modeling using trigonometry in Grasshopper, as well as mathematical concepts like the golden ratio.

12 ALGORITHMIC SKETCHBOOK

WEEK 2 MODELING TASKAs a study of biodiveristy as a source of natural inspiration, I looked into how algorithms as a creative process of relations and logic could be used to recreate patterns found in nature.

To do this involved paneling through the box morph logic which is essentially a manner of subdividing a surface into a grid with boxes, and then planting a pre-determined geometry or BREP (Boundary representation) into each box. This enables for beautiful patterning along a smooth flowing surface.

I recreated animal skins such as that of scales upon a reptile, and the honeycomb pattern found on a beehive. Amongst these I attempted to recreate other non-descript patterns such as boxes, circles to really push the possibilities of the box-morph as a method for orienting geometries to a surface.

ALGORITHMIC SKETCHBOOK 13

14 ALGORITHMIC SKETCHBOOK

ALGORITHMIC SKETCHBOOK 15

16 ALGORITHMIC SKETCHBOOK

WEEK 3 MODELING TASK Following the box morph technique, I applied a multiple layered box shape and looked at how I could use the box morph as a method of transformation in height, scale, width and form.

ALGORITHMIC SKETCHBOOK 17

18 ALGORITHMIC SKETCHBOOK

WEEK 3

ALGORITHMIC SKETCHBOOK 19

20 ALGORITHMIC SKETCHBOOK

ALGORITHMIC SKETCHBOOK 21

22 ALGORITHMIC SKETCHBOOK

ALGORITHMIC SKETCHBOOK 23

WEEK 4

ONCLUSIONC

24 ALGORITHMIC SKETCHBOOK

ALGORITHMIC SKETCHBOOK 25

26 ALGORITHMIC SKETCHBOOK

WEEK 5

ALGORITHMIC SKETCHBOOK 27

28 ALGORITHMIC SKETCHBOOK

ALGORITHMIC SKETCHBOOK 29

30 ALGORITHMIC SKETCHBOOK

WEEK 9

WEEK 7

ALGORITHMIC SKETCHBOOK 31