The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Parametric Design for Landscape Architects

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by EGO Education - LandBooks, 2023-03-19 05:36:30

Parametric Design for Landscape Architects

Parametric Design for Landscape Architects

topographic change, to provide a base to the construction of the physical model.The thickness of the base, the set interval of the contours, and the thickness of the material to be used for the model determine the depth of the profle of the model. This aspect can be adjusted by combining and connecting the output of the script from section 05.01_Construct base on mesh terrain model for 3D printing to the beginning of this workfow. _Connect the reference mesh to the Contour component. Set the direction of the contouring, input “N”, on contour to Unit Z.This allows for the mesh to be contoured vertically, depicting the typical representation of elevation. Connect a Number Slider to the “D” input to defne the interval. _The following step provides a simple function to generate a base distance value to move the contours away from the location of the model to facilitate laser cutter fle preparation.To create this value, the area of the input mesh geometry is calculated, and the square root of that value is generated in order to not displace the geometry too far in model space from the position of the model.This quick number generation is generic but is relative to the scale of input model, allowing for continued use of the script in changing scenarios. Connect the output mesh from Mesh to the Area component.The output area measurement, “ A”, is then connected to the input “X” on the Square Root component.This outputs the square root value of the geometry’s area. Through having generated the contour curves and the square root value of the input geometry’s area, a list of numbers can be generated to provide the magnitude of a vector that will translate the individual closed contour curves apart from the model and lay them out in a line.The curve geometries from the contour process are their own lists, rather than all being part of one list. This allows the curves to maintain their identities and order, meaning that they can each have an individual value for their translation. _To generate a list of sequential values for the translation of the contours, the Series component can be utilized.The starting value of the series is the output square root of the geometry’s area. Connect the output “Y” on Square Root to the input “S” on Series. To provide Figure 5.3.3 Produce a series of numbers to move contours from position on the model in the x-axis the count or number of values to be produced, Figure 5.3.2 Contoured closed mesh model 05.03.01: Produce a series of numbers to move and layout the contour curves 88 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 05: DIGITAL FABRICATION


List Length will be used to fnd the number of contour curves.As the output contours maintain themselves as separate lists, the input on List Length needs to be fattened. Plug in the output “C” from Contour to the fattened input “L” on List Length.The output number from List Length provides the number of values to create—connect to the “C” input on Series. For the step size between each generated value, input “N” on Series, use a Number Slider. The set value is to be adjusted as the script progresses to allow for adequate spacing between the layout of contour curves. _Now having a list of numbers based on the square root value and number of contour curves, the produced values output from Series can be used to create the magnitudes of a specif ed vector to translate the curves.The curves will be moved in the x-axis away from their original locations on the mesh geometry. Place the Move component on the canvas and connect the output contour curves to the “G” input.The translation vector is specifed through the use of Unit X, with the “F” input or factor being the output list of values from Series. Prior to connecting the output vectors from Unit X, the “T” parameter on Move must be grafted, as the output curves from contour are individual lists and the data must be matched to perform the operation properly. As the moved contour curves are previewed in model space, they maintain their z value from their cut on the mesh geometry. Connect the output “G” from Move to a Project component.This will project all of the contours to the cplane elevation. Figure 5.3.4 Moved and organized contour curves projected to the cplane CHAPTER 05: DIGITAL FABRICATION PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 89


05.03.02: Number and label contour curves in order Figure 5.3.5 Generated center points of contour curve collections and labeling assembly order Moving left to right, the contour curve geometries are organized from the contour depicting the lowest elevation to the highest elevation. This sequence is also the order in which the laser cut contour model will be constructed.To add a bit more intelligence to the script as well as further facilitate the fabrication fle preparation process, the output curves to be cut are going to be labeled based on their order of construction, starting with the lowest elevation curve and ending on the highest elevation curve. The area of each contour grouping will be calculated to generate the centroid of the geometry grouping. A list of values starting at 1 and terminating at the fnal count value of the last contour will be produced. _As each contour list might contain multiple curves of the same elevation value, the center point of the collective curve geometries must be found.The Bounding Box component can be used to union the geometries through placing a box geometry that is the xyz extent of the group of geometry. Right click the center of Bounding Box and select Union Box from the drop-down menu. Plug in the output geometry from Project to the input “C” on Bounding Box. This provides a closed, fat box geometry around each contour curve list. The center point of each box can be produced by using the Area component. Connect the top output “B” from Bounding Box to“G” on Area. The centroids are now calculated and previewed. _To create the numerical sequence, labeling the contours in their order of elevation and assembly, the Series component can be used to generate a list of numbers that corresponds to the list length of the output contour curves.This enables the ability to simultaneously adjust the contour interval, which will create fewer or more contours based on the characteristics of the base geometry being Figure 5.3.6 Output of script presenting ordered and labeled contours for laser cutting contoured as well as the labeling of the curves. 90 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 05: DIGITAL FABRICATION


Using the existing List Length component in the script, connect the output to the “C” parameter on a new Series component. With the amount of numbers needed to be generated determined by the output value from List Length, the starting value and step for consecutive values can be added. For the function of this workfow, the contour curves are to be numbered as pieces of an assembly for the fabrication method.The starting value as well as the step size for the created numbers will both be 1. A Panel containing the value of 1 will be used for the input parameters for both the “S” and “N” input on Series. _The fnal step of the workfow is to label the contours with the output values from Series. The Text Tag component will be used as it allows for text data to be placed at a point location.The “L” parameter on Text Tag, the location(s) for the text to appear, will be fattened before connecting to the output centroids from Area. Flattening is necessary prior to connection as the center points calculated by the Area component maintain themselves as separate lists, while the text values from Series are in a singular list. Plug in the output number list from Series to the “T” input on Text Tag.The aligned contour curve geometries will be previewed with their assembly number.The output of the Text Tag component can be baked and will appear as text dot geometry in the model. The presented workfow aids in geometry creation and fle set up for creating a physical terrain model representative of the contours within the landscape of investigation.The script can be altered and furthered to provide a sectional model that contours the digital landscape model in either the x or y axes. Attention should be paid in balancing the number of contours needed in correlation with the material intended to be used for the model, so as to derive and achieve the desired thickness of the model. 05.04_CONTEXT The scripting of this chapter seeks to further automate and expedite the process for digital fabrication.These strategies not only provide assembly methods for scaled models relative to academic practices or professional study models, but also provide reference on how computational workfows can be utilized to assess assembly methods for full-scale site objects. The same fabrication methods, or variations of them, addressed by the fle preparation scripts can be used for full-scale fabrication of various materials.The ability to 3D print at large scale, along with CNC routing and automated machine cutting, provides the means to rapidly create custom parts for subsequent custom objects.The materials to be used in correlation to the fabrication methods allow for varied cost, performance, and lifespan.Arguably, there is an inherent aesthetic to digitally fabricated objects and geometries that is relative to, and a by-product of, the method, as well as the allowed assemblies. Rather than the aesthetic of such constructed objects, what should be assessed is the fexibility allowed by digitally fabricated objects through their modularity and means to be replicated. CHAPTER 05: DIGITAL FABRICATION PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 91


CHAPTER 06 URBAN MORPHOLOGY AND ANALYSIS As the scope of work in the feld of landscape architecture expands, it becomes necessary to address the landscape as terrain.Tools of creation and assessment have become common practice in the design process for traditional landscape proposals, and, as landscape architects move toward interventions in the urban realm, extensions of such tool palettes can be generated.The approach to urbanism as landscape provokes a shared understanding among what can arguably be held as separate studies of planning, architecture, and landscape architecture.This combination of metric, logic, and aesthetic-based conceits can fnd confuence and aid through computational modeling.The ability of rapid iteration and assessment provokes speculation on organizational systems, block typologies, land allocation, etc.This chapter introduces the automation of analyzing and creating urbanistic characteristics in model creation through evolutionary solving, allocated randomization, and expression of experiential metrics.The presented tools look to representative characteristics of urban situations inherent to proposals of singular to multiple block manipulations. 06.01_ EVOLUTIONARY SOLVING FOR FAR CALCULATION Process overview A typical analysis and metric involved with urbanism propositions is the calculation of Floor Area Ratio (FAR). FAR is calculated through the division of the total f oor area of a building by the total buildable area of the parcel in which the building is located.The automation of this calculation is a simple process through scripting. As seen in previous workfows, the ability to calculate the area of input geometry is a quick operation.To further the automation and output of this equation as a design consideration or parameter, the following workfow will utilize the ability of an evolutionary solver. Such mathematical methods use the principles that surround the Theory of Natural Selection.The operation seeks to optimize a result that has been predetermined. In the case of its application for this workfow, the input geometry of a generic building and parcel geometry will provide the base parameters for the solving of a specifed FAR value, updating and iterating the building geometry’s total foor area in comparison to the parcel area. The original referenced geometries will undergo the basic division calculation for FAR, which will fuel an output FAR value that will be optimized to meet a specifc input FAR value.The scale calculation of the building will be iterated to self-solve for a total foor area value that will provide the desired input FAR value as the parcel area is divided. 92 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS


06.01.00: Creation of input geometry and scaling parameters for building mass Create a rectangular surface geometry in model space and a box that is of the same x and y dimensions of the surface, with a z value of 10 feet. The created planar surface will serve as the land parcel, and the box will serve to be the base for the building mass.The box occupies the entirety of the parcel at set-up with the intention of scaling to a smaller footprint based on the operations for the FAR iteration.The z value of the box is set to 10 feet as this is a typical foor height and will allow for scaling in the z-axis to iterate multiple foors and overall building height. Reference the parcel surface into a Geometry component and the box into another Geometry component. The Geometry component will be used versus a Surface and/or Brep component as the script can work with meshes as well. _The box geometry will have the ability to be scaled by the script to provide parameters to iterate the calculated foor area in solving for the specifed FAR value. To generate the point that will determine the center of the scaling operation, connect the output referenced box from Geometry to a Volume component. The volume metric of the geometry is output as well as the center point,“ C”. If the box is scaled from the center point as is, when scaled in the z-axis the box will cut through the parcel as it will scale in the negative z-axis as well.To allow for the box to remain in position and scale in the positive z-axis, the center point will be projected to the parcel surface as the starting point of the operation. Place a Project component on the canvas and connect the output centroid from Volume to the“G” input on Project. Connect the output referenced parcel surface from Geometry to the “P” input on Project. The center point of the box geometry will now be previewed on the parcel surface. _To create the scaling operation for the box geometry, Scale NU will be utilized. The box geometry will provide the “G” input and the base plane of the scaling, “P”, will be the output “G” from Project. When suppling the Number Sliders to present values for the xyz scaling factors, a bit of authorship is needed. If the intention is that the box will no longer occupy the full length and width of the parcel, either based on design process, setback regulations, etc., then the values for the Number Sliders input into “X” and “Y” can range from 0.1 to 0.9.This allows for Figure 6.1.1 Referenced geometry and scaling operations Figure 6.1.2 Previewed input geometries and scaling in model space CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 93


06.01.01: Floor representation and FAR calculation Figure 6.1.3 FAR calculation operations Figure 6.1.4 Preview of foors as represented by contours in model space the scaling of the object to be less than the input extents and not become null at 0.0.The Number Slider for the “Z” input on Scale NU can have values of 1 and larger.The values will be integers for this Number Slider so as to allow for output scaling that maintains increments of the set foor height. Upon the connection and manipulation of the Number Sliders, the box geometry will preview the scaling operation in model space. As the input geometries have been referenced and base manipulations and parameters have been generated, the FAR calculation can be automated for the current state.To fnd the area of the f oor(s) of the building mass, the Contour component will be used.This will allow not only for the area calculation of each foor from the generated geometry, but also represent the placement of each foor. Connect the output scaled geometry,“ G”, to the input “S” on Contour.The direction of the contouring will be in the z-axis. Plug in a Unit Z component to the “N” input.The distance between each contour, or the interval, will be set to “10” using a Panel. A Panel component is used because this value will not change, as the input box geometry specif ed a value of 10 units in the z-axis for one f oor height. Upon completion of these connections, the f oors will be represented as contour curves running along the scaled building mass. _The produced contour curves will serve as the geometries to calculate the total foor area for the calculation. The output curves will be connected to an Area component.To calculate the total area of the output curves, the output values from Area will be added together through the use of the Mass Addition component. As each contour curve is its own list, and subsequently the area values remain as separate lists, the input “I” on Mass Addition must be f attened. Right click and select “Flatten” from the drop-down menu. This produces the total foor area value. _In a similar process, an Area component will be attached to the output referenced parcel surface. The total foor area value and the parcel area value can now be divided to produce the current FAR calculation based on the state of the scaled building mass. Place a Division component in the workspace and connect the output “R” from Mass Addition to the “A” input, and place the output “A” from the Area component corresponding to the parcel surface to the “B” input. The current FAR is now calculated. 94 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS


06.01.02: Evolutionary solving for specifed FAR value _The parameters and operations have been set up to allow for the input building mass geometry to be scaled in the x, y, and z axes, so as to iterate total foor area scenarios to meet a specifed FAR value.This iteration and automated solving will be generated through the use of the Galapagos Evolutionary Solver component.This component allows for the input of a Genome, in the format of Number Sliders, to be augmented and tested to match a provided Fitness value, as relative to the manipulation by the Number Sliders.The component provides the ability to maximize, minimize, or set a strict value for which the output ftness will be matched. In the case of this example, a set value will be chosen to be solved for based on the area of the parcel and the scaling of the building mass geometry. _The Galapagos Evolutionary Solver functions similarly to other components where it is supplied inputs, however the output is generated through the prior operations. The output for the workfow will be the scaled building mass geometry and the generated FAR value. Drag connectors from the input “Genome” to the Number Sliders, inputting the scale factor to Scale NU (hold shift while dragging for multiple connections). The values of the Number Sliders will be cycled through to fnd a scaling scenario that matches the defned FAR value.The input “Fitness” of the Galapagos Evolutionary Solver will be the output value from Division, which is supplying the current FAR value. Connect “Fitness” to the result of Division by dragging a connector out from “Fitness” and attaching to the “R” output.This output value will be constantly updated based on the cycling of the scaling scenarios to ultimately match the input FAR value in Galapagos Evolutionary Solver. _To set the desired FAR value to be calculated and to produce a building mass with a viable total foor area, double click on the Galapagos Evolutionary Solver to pull up the editor. Under the “Options” tab, click into “Fitness” and type a value to specify the FAR to match and solve for through iterating the scale of building mass. For this example, “0.5” will be used. As the value for the FAR to solve to match has been set, click on the “Solvers” tab in the editor. To have all possible iterations that the Solver is generating previewed in model space, click the leftmost “gauge” button. The middle “gauge” will only Figure 6.1.5 Evolutionary Solver operation Figure 6.1.6 Galapagos Evolutionary Solver editor in the process of solving CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 95


Figure 6.1.7 Output of iterations as previewed in model space 06.02_ GENERATING AN URBAN SCENARIO preview the most closely aligned geometries to the matching set value.To run the Solver, click the “Start Solver” button. As the Solver runs, iterations of the output geometry from the scaling operation will be previewed in model space. The Solver may take a few minutes to run and produce the most optimal output for specifed “Fitness”. Upon completion, the solver will stop and the output previewed geometry can be baked as an iteration to match the desired FAR. The presented workfow provides an instance where evolutionary solving can aid in providing outcome scenarios for metric-based facets of design proposals that can continue to undergo evaluation corresponding to the design performance. While FAR calculation is semi-simplistic in its performance for driving urban assessment, the workfow provokes the use of such computational methods to allow for a degree of controlled uncertainty. Process overview As with the previous script, the presented workfow is generic in manner as it presents a series of operations that can be expanded upon through providing more site and design intent parameters. Using a simple surface geometry, pre-modeled urban block typologies will be dispersed on generated land parcels by percentage distribution.The workfow may, arguably, produce a reductive output, but provides the basis for iteration and further intelligence to be built into the script. Such furthering of the script could include the use of proximity, where certain blocks are denoted to have an input typology based on their distance from a proposed or existing site condition, which can govern urban patterning.The script outputs an urban scenario that can be used as an iteration for further evaluation and augmentation. 96 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS


06.02.00: Generating a base grid for the distribution of block typologies _A fat surface or plane geometry will provide the base input for the creation and manipulation of a grid to be populated with block typologies. Reference the surface or plane to a Surface component.The input referenced surface will be connected to a Divide Surface component to Figure 6.2.1 Grid creation and transformation operations allow segmentation into a grid of points. Number Sliders can be used to adjust the “U” and “V” inputs to determine the number of points to be created. _As the surface has been divided into a point grid, the output points and specifed number value for division can be utilized to create a point grid through the use of Compose Grid Number, using the plugin Paneling Tools. Connect the output points from Divide Surface to the “P” input on Compose Grid Number. The “N” input is the number of rows in the grid, which will be the output value that is determining the “V” number for the surface division. Prior to connecting the value from the “V” Number Slider, right click on the “N” input, select “Expression”, and type “x+1”. This allows for the proper number relative to the point count to be specifed, as there is one more point value generated from the surface divisions. _The component Point Attraction, from Paneling Tools, will be used to apply a Cartesian grid deformation to the produced grid from Compose Grid Number. Plug in the output grid, “Gd”, from Compose Grid Number to the “Gd” input on Point Attraction. Create a point geometry in model space to act as the point of deformation/attraction for the grid. Reference the point geometry to a Point component and connect to the “A” input on Point Attraction. A Number Slider will be used to set the strength or magnitude of the attraction operation by connecting to the “M” input. In model space, the produced points from the attraction operation will be previewed comparative to the original divided surface points. 06.02.01: Grid visualization and randomly splitting cell list based on percentage _To better visualize and derive the geometry that accompanies the grid creation, the Cellulate component from Paneling Tools will be used to output the grid cells as meshes. Connect the output “Gd” from Point Attraction to the input on Cellulate. The output “M” will provide individual mesh geometries that are the extents of each grid cell. Figure 6.2.2 Created point grid previewed in model space Figure 6.2.3 Grid cell creation and splitting based on percentage CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 97


Figure 6.2.4 Previewed set of split cells in model space 06.02.02: Morphing block typologies to cell zones Figure 6.2.5 Box morphing operation of the input block typology geometry _With the output grid represented and constructed as meshes, this list of geometries can be randomly divided based on a set percentage to the length of the list.This workfow is presenting the ability to divide a grid into zones of cells, based on a percentage of the overall number of cells, in order to provide the basic notion of populating the urban scenario with multiple building and parcel occupations.To split the produced meshes from Cellulate, the LunchBox component Random Split List will be used. Attach the output “M” from Cellulate to the input “L” on Random Split List.The input list of meshes will need to be fattened, as each cell mesh is registering as its own list. Right click the “L” on Random Split List and selected “Flatten” from the menu.To specify the percentage of the list division, connect a Number Slider containing values between 0.0 and 1.0. A set value of “0.5” will provide a 50 percent division of the list.This operation can be repeated through the continued addition of Random Split List components to continually break down the grid. For the purposes of this workfow, the already split list will be split once more. This operation will allow for three zones of cells to be generated from the grid, which three typologies of parcel occupation will be morphed to. _Now that the cells have been divided into zones, input geometries modeling block typologies can be moved to the desired zones. Prior to this translation and manipulation, the generated cells will be scaled so as to allow roadways in between. The frst zone of cells to be scaled will be the output list of mesh cells from the frst Random Split List component.The center of the scaling will be the centroid of the mesh cells. Connect the output list “A” to an Area component to calculate the center points of the cells. Place a Scale component in the workspace and connect the output centroids from Area to the“C” input. The geometry to be scaled will be the mesh cells 98 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS


from the “A” output. A specifed value for the scaling factor will be input to“F” with a Number Slider. This will produce scaled cells in model space that allows for a void in between the cells. _Reference in a modeled block typology to a Geometry component to be morphed to the current cell zone.A Bounding Box component will be used to generate the x, y, and z extents of the input geometry.Attach the output referenced geometry to a Bounding Box component, right click the center of the component, and select “Union Box”. The setting “Union Box” allows for one box to be generated around multiple items. _With the mesh cells scaled and the block typology geometry input, twisted boxes can be generated on each of the mesh cells that will allow for the block typologies to be transformed to. The generation of these boxes on the cells will be carried out through the use of a component from the plugin Pufferf sh, Twisted Box Mesh.The frst input on the component requires the base meshes from which the boxes will be constructed. The output geometries from the Scale component will supply the scaled mesh cells as the bases for the box creation—connect the output “G” from Scale to the input “M” on Twisted Box Mesh. The “ W” input on Twisted Box Mesh will be set to a value of “1.0”, as this will provide the thickness or height of the mesh box.This thickness value will be attached to the “T” input and will provide the desired height of the block typology. Connect a Number Slider with the desired height value to the “T” input. Figure 6.2.6 Completed script replicating the morphing operation for other block typologies CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 99


_The Bounding Box of the input block typology, and the boxes as generated from the scale and portions of the grid cells, will be used to morph block geometry to the cell locations.This operation will function through the component Box Morph.The frst input on Box Morph is asking for the input geometry to morph, which will be the output referenced block geometry. The second input,“ R”, will connect to the output Bounding Box, the frst “B” output.This provides a reference or starting box for the morph of the associated geometry.The fnal input “T”, the target box, will be the output from Twisted Box Mesh. With the conclusion of this operation, the input block typology will be repeated and morphed to the cells that fall within the specifed zone.This set of operations will be repeated for the remaining block typologies. Figure 6.2.7 Output urban scenario in model space The presented workfow, while a bit simplistic in its proposition for an urban scenario, provides basic operations that can be furthered to facilitate large-scale assessment of spatial conditions and applications. 06.03_ CREATION OF A 3D VIEWSHED/ISOVIST ANALYSIS Process overview As a means to analyze proposed buildings and urban schemes, viewsheds are often evaluated.These forms of analysis can provide the preservation of historic views, as well as promote general design performance assessment.The computational operation to carry out such spatial investigation is the notion of an isovist. Isovists provide the calculation of a volume of space given from a specifed point as visible among set obstacles.This form of analysis can be conducted in either 2D or 3D.The following workfow will present a means to generate a 3D viewshed analysis.The script will provide an output of a viewshed analysis in the format of 3D arrayed lines that intersect with provided obstacle geometries—a base input of an urban scenario. 100 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS


06.03.00: Referencing of scenario geometry and creation of viewshed vectors _The base inputs for the workfow will consist of a point geometry that specifes the view location/ height as well as building/block mass geometries on a planar surface. Reference the point geometry of the viewer or coordinates for analysis to a Point component, and the collection of the building/block masses and ground plane to a Geometry component. This allows for either using meshes or breps. In the case of referencing breps, the geometries will be converted to meshes. Connect the output from Geometry (if breps) to a Mesh component. _With the base geometries referenced, further operations preparing the viewshed parameters can be generated. To provide the 3D extents of the viewshed, a Mesh Sphere component will be used.The center point of the sphere will be the input point geometry. When setting the “R” or radius input of the sphere, more abstract parameters can help to generate this number, such as visibility extents for the atmospheric qualities of the day. Specify the extent that is visible in the scenario with a Number Slider to provide value to the radius measurement of the sphere.The provided input(s) for “U” and“V” will ultimately output the number of curves representative of the view. Connect a Number Slider to the “U” and “V” that allows the ability to add more lines, up to 100 for instance.A mesh sphere geometry will now be previewed in model space based on the set metrics. Figure 6.3.1 Base view directions and extents operations _As the sphere intersects and provides an extent that moves through the specifed ground plane of the urban scenario, the sphere can be split based on a specifed plane input. The “plane” used to split the mesh sphere will be the input point geometry from which the view analysis will be conducted. Place a Mesh Split Plane component on the canvas and connect the output mesh from Mesh Sphere to the “M” input, and the output referenced point geometry to the “P” input. The output, “A”, of the splitting operation will provide the upper half of the sphere that is in line with the input urban scenario geometries. _To generate all possible directions that can be viewed from the point, as well as generate the sample rays/vectors for the isovist calculation, line geometries will be drawn from the viewing point geometry and the points/vertices that comprise the half of the mesh sphere.To isolate the vertices Figure 6.3.2 Previewed line geometries, top half of mesh sphere, and input geometries in model space CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 101


of the mesh sphere half, the Deconstruct Mesh component will be used. Connect the output mesh from “A” on Mesh Split Plane to the input “M” on Deconstruct Mesh. The output “V”, or vertices, which embody the mesh will be connected to the input viewer point geometry. Using a Line component, plug in the output referenced viewer point to the “A” input, and the output vertices from Deconstruct Mesh to the “B” input on Line. This process generates lines starting from the viewer point and ending at the vertices of the half of the mesh sphere that is generating the view extents. 06.03.01: Isovist calculation and line creation depicting viewshed based on obstacles _Building from the input geometries and view direction/extents setup, the isovist calculation can be generated. This calculation will provide instances of blockages of the view based on the input building/block massings. Place an IsoVist Ray component on the canvas. The frst input, “S”, will provide the sample rays for the view directions. Connect the output lines from Line to “S”, as they provide the directions to sample from for intersection with obstacle geometries. The second input is the radius, which will be supplied by connecting the output value from the Number Slider that is specifying the radius of the Mesh Sphere. The fnal input on IsoVist Ray is the obstacles to test the viewshed against to fnd interruptions. Plug in the output referenced building/block masses and ground plane from the Mesh component. Figure 6.3.3 Isovist calculation operation Figure 6.3.4 Output viewshed lines previewed in model space _The output of the isovist provides intersection points from the sampled ray/line geometries, as well as distances from the starting point to the intersections. The output “P” from IsoVist Ray provides the intersection points with the obstacle geometry as well as the unobstructed points. These output points can be connected to the starting viewpoint to provide a modeled output that is representative of the 3D viewshed from that coordinate location. Connect the output “P” to the “B” input on a Line component, and connect the output referenced point geometry, from which to test the view, to the “A” input. Lines depicting the collisions with the obstacle geometry, and those that are not obstructed, are generated. 102 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS


06.03.02:Added representation of the viewshed by coloring lines based on distance/length Figure 6.3.5 Operation coloring generated isovist lines based on length/distance from starting point _As presented in previous workfows, the length values of a set of curves can be used to provide an added layer of representation and clarity to the output analysis. In this case, the length of the lines presents the distance from the viewpoint, providing an understanding of closed collisions and the longest sight lines. Connect the output line geometries from Line to a Length component. With the length values produced, the domain of the list of numbers will be identifed to provide the parameters for aligning to a gradient of colors depicting the values. Place a Bounds component on the canvas and connect the output from Length. The calculated domain will be further deconstructed to fnd the lower and upper limits through the use of Deconstruct Domain. The lines will be color-based length values, as provided by the domain parameters. Connect the output lower limit of the domain to the “L0” input and the upper limit to the “L1” input.The parameter, “t”, for the Gradient, will be the list of length values being output from Length.To apply the color to the lines, a Custom Preview component will be utilized, with the output from Gradient connecting to the “M” input and the output lines from Line plugging in to the “G” input. Upon the completion of these fnal operations the viewshed lines will be colored based on their distance relative to their intersection to the obstacles, or to their identity of being unobstructed.The referenced point geometry can be moved throughout the scenario to evaluate the view conditions as set forth by the spatial confguration. The provided workfow allows for the ability to address spatial considerations relative to the human experience of view based on a spatial composition.The script can be furthered to allow for automation and animation of a point moving throughout the space with the viewshed constantly being adjusted based on the confrontation of obstacles.This ability provides negotiation of addressing the scales of iteration and evaluation. Figure 6.3.6 Previewed viewshed analysis in model space CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 103


The overall model of the isovist can be redeployed to more abstract conditions relative to data convergence, where the obstacles can be conficting data portrayed by the landscape. 06.04 _CONTEXT The workfows of this chapter provide instances where computation operations can engage and help direct urbanistic proposals.While the scripts work with generic situations and associated logic, they supply foundational operations that can be expanded and speculated upon.The integration of other workfows throughout the book, especially relative to landform creation and analysis, can provide further direction in the organization, placement, and consideration of urban scenarios.The combination of typical evaluation methods used in urban planning and those held to be common practice in landscape architecture provide confuence of metrics that embody the spatialization of the landscape.The balance of such metrics allows for interpolating the governance of landscape through performative measures of natural systems and interventions.Though the tools depicted in the chapter display semi-reductive and hypermetric-based approaches to confguring urbanisms, they evoke a sense of comparative metric dialogues that extend beyond the norm of landscape architecture and provide interdisciplinary function. 104 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 06: URBAN MORPHOLOGY AND ANALYSIS


CHAPTER 07 CARTOGRAPHIC REPRESENTATION AND DATA-DRIVEN VISUALIZATION In alignment with the progression of the feld, addressing investigation of urban conditions and the scale of territorial data representation has become a key practice through the use of geospatial data and created metric data. In academic settings, and increasingly in professional practice, the use of data as aligned to landscape conditions is being utilized not only to represent values and locations, but also to provide validation and speculation on larger systems that govern the landscape. In using data as a key element for design, it extends beyond what can be considered typical cartography, where geospatial data is represented with its attributes in fxed locations and projections.Through the post-processing of data, an increase in legibility as well as a more specifed/directed output can be achieved. Further organization and analysis of the data can allow for such representations that provoke parameter connections and continued deconstruction of the overall systems the data embodies. Data visualizations have become a normal practice to supplement the conveyance of design proposals, through providing metric-based data in a format that aligns to spatial conditions of the landscape, as well as in supplementary graphics. Geometric creation that embodies values and metrics will be generated to represent data in a manner that is more spatially dynamic through location at aligned coordinates. It can be understood that data is perceived through its representation, where agency is presented via authorship. Data can provide not only validated claims but also allow for speculation, through providing positioning on intangible landscape systems.The workfows of the chapter provide computational operations to facilitate the creation of such representations as well as incite discourse on how these means provide an extension and further depiction of cartography. 07.01_ INDEX GEOMETRY BASED ON AREA METRIC Process overview As a means to comparatively look at spatial objects, the following workfow provides the ability of using spatial data to create metric-based data that informs its representation through organization. Using a land parcel dataset, the areas of the parcels will be calculated and used to arrange the geometry in ascending order.The output of the script will be a gridded index of the geometry ordered based on area value.This approach to processing spatial data allows for indexing of current conditions, with the aspiration to further evaluate given more in-depth parameters. Upon fnding the area calculation of each parcel geometry, the center point of each will be used to create a translation vector to move the parcel geometry based on the area value to a grid of points.The grid of points will be generated through the division of an input surface geometry to a number of points that is more than the total number of parcel geometries.The point grid will be reduced based on the amount of the parcel geometries and will match the number of points to the number of parcels.The area values and the matching parcel geometries will be sorted and ordered to start with the smallest parcel.Through using the created vectors between the reduced point grid and the centers of the parcel geometries, the parcels will be moved to the appropriate point location based on their re-ordering relative to their area value. CHAPTER 07: CARTOGRAPHIC AND DATA VISUALIZATION PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 105


07.01.00: Calculate area of input closed curves and re-order the data list from lowest to highest area value Figure 7.1.1 Closed curve geometries to be ordered based on area in model space The input geometries to be ordered must be closed curves, as this will allow for the area calculation. Reference in a collection of curves to a Curve component. Place an Area component on the canvas and connect the output referenced curves. _With the output area values of the geometries calculated as a list, the values can now be ordered in ascending value, starting with the lowest value and ending the newly ordered list with the highest.This operation will be completed through the use of the Sort List component. The sorting operation will not only sort the value list but also the list of the corresponding geometries. Connect the output “A” from Area to the input “K” on Sort List.This provides the list of numbers to be sorted. The referenced curves will be connected to the “A” input, which will sort a data list synchronously with the provided numeric values to the “K” input.The output “A” of Sort List will provide the curve geometries ordered from smallest to largest based on the sorted area values. Figure 7.1.2 Area calculation and ordering operation of curve geometries Figure 7.1.3 Square root value of input curves utilized to divide surface into points 07.01.01: Creation of point grid to move and represent ordered curve geometries To generate the point grid, a planar surface is to be created in model space.The surface should be large enough that all the closed curve geometries can ft within, as they will be placed at points created that match the extent of the surface. The surface can always be scaled to help address spacing aesthetics for the fnal output. Reference the surface to a Surface component.The surface will be divided into points based on an input integer for the UV and counts.This value will be created from the number of input curves.To calculate the number of input curves, the component List Length will be used. Plug in the output referenced curves to the List Length component. As this value will provide divisions and point numbers for both U and V, the square root of the output number will be calculated. Connect the output of List Length to the input on the Square Root component. 106 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 07: CARTOGRAPHIC AND DATA VISUALIZATION


_With the square root of the total number of input curves that are to be ordered and represented calculated, the surface can now be divided into a point grid.The previous operations were conducted to generate a point grid that provides enough points to match or exceed the number of the input curves.To create the grid of points on the surface, place a Divide Surface component on the canvas. Connect the output value from Square Root to the “U” and “V” inputs on Divide Surface.The output grid of points will be represented in model space. Figure 7.1.4 Previewed grid of points on surface in model space 07.01.02:Translation of order curve geometries to point grid As the created point grid may have more points than needed based on the number of curve geometries, the list of points can be reduced to match the number of curve geometries.This operation is necessary as vectors will be generated between the center points of the ordered curves geometries and the points of the grid.To reduce the point grid to the same number of points as there are curve geometries, the Series component will be used. This component allows for the generation of a list of numbers starting at 0, incrementally increased by one value to match the length of the curve geometry list. Place a Series component on the canvas and connect the output from List Length to the “C” input to provide the number of values to be created.The frst input,“ S”, specifes the frst number of the series.This will be set to “0” using a Panel, as this is the starting index value for any list. The “N” input will be set to “1” with a Panel to allow for each number in the series to increase by 1. _The previous operation provides a generated list of values that will be used to specify the list indices of the list of points that embody the point grid. Place a List Item component on the canvas.The input “L”, or list, from which to extract indices will be the output points from Divide Surface. Right click over “L” and select “Flatten” from the drop-down menu.The points are now provided as one list, rather than each point maintaining itself as its own list. Connect the output value list from Series to the “i” input on List Item to extract all of the point indices that match the values.This selects points starting from the frst point and ending at the value specifed by the number of the input curve geometries. Figure 7.1.5 Extracted points from grid to match curve geometries list length and translation of curves to extracted points Figure 7.1.6 Preview of ordered curve geometries in model space CHAPTER 07: CARTOGRAPHIC AND DATA VISUALIZATION PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 107


_Now, having reduced the point grid down to match the number of curve geometries, vectors can be generated for the translation of the curve geometries to the points. The vectors will be created between the center points of the curve geometry and the output points from List Item. As the curves have been ordered based on area, the order of the originally created center points has changed. Because of this, the area of the reordered curves must be calculated to fnd the center points to match the new list. Connect the output “A” from Sort List to the input on a new Area component. Use Vector 2Pt to produce the vectors. Plug in the output centroids “C” from Area to “A”, and the output “i” from List Item to “B”.The vectors are now created and can be used to move the curve geometries to the points. Place a Move component within the script and connect the output vectors from Vector 2Pt to the “T” input, and the output curves from “A” on Sort List to the “G” on Move. With this fnal operation, the curve geometries will be moved to the grid of points in ascending order based on their area values. The above workfow promotes a representation of geometry ordered by an associated value. This script can be altered to achieve further complexity through the use of associated values to the original geospatial data, as provided by attributes rather than created base metrics from the physical geometry.The script can be repurposed to provide a more complex comparison of geometry through abstracted values regarding the need for fueling the project of investigation. 07.02_ VISUALIZE POINT DATAVALUES AS AN EXTENSION OF THE LANDSCAPE Process overview Through the utilization of point geometry that has associated data values, the geometry will be augmented to provide a 3D representation of the associated value. By matching the data values to the geometry, the points will be moved in the z-axis based on a factor of the values. Between the original location of the point geometries as they lie within the landscape, and the moved, copied points to a z value revelatory of the data value, lines will be created.The lines will be colored based on their length, which is associated to the data value. At the location of the moved points, the values associated with the point data will be labeled. As a secondary output representation that stems from the original operation of moving to points based on their associated data, a mesh will be created.This mesh embodies the geospatial data as a new topography representative of the values and the adjacency of the point geometries to one another. 108 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 07: CARTOGRAPHIC AND DATA VISUALIZATION


07.02.00: Importing a list of values from a spreadsheet into Grasshopper and referencing base point geometries Using point geometry data either created in model space or from a geospatial data set, a list of data values provided from Microsoft Excel will be matched to the geometries. For the case of this example, point geometries will be used. Place a Point component on the canvas and reference the geometry from model space. _Open the Excel spreadsheet containing the data and leave the program operating in the background. The plug in Lunchbox will be used to allow for the data to connect to Grasshopper. The component Excel Reader LEGACY will be utilized to import a column of data from the spreadsheet. Connect a Boolean Toggle to the “Read” input and leave set to “False”. The “Worksheet” input can be left to the default “1” value if the worksheet supplying the data is the only one in the Excel fle, or if that is the desired worksheet number from which to supply data. A Number Slider component can be added to further specify the worksheet number. Using Number Slider components, set the values for the “Column”, “Row Start”, and “Row End” inputs to specify the column and cells of the spreadsheet that hold the data to be imported. With all of the inputs set to the appropriate values and the Excel spreadsheet open, doubleclick over “False” on the Boolean Toggle to set to “True”. Upon setting the Boolean value to “True”, the Excel Reader LEGACY component will be functioning and outputting the associated data from the spreadsheet from the “Data” output. 07.02.01: Leveraging imported data to generate line geometry Depending on the scale of the model, as well as the imported data values from the spreadsheet, the values may need to be adjusted, as they will be used to move the point geometries in the z-axis as a means of depicting the associated data value. In the scenario in which the values need to be adjusted, the components Multiplication or Division can be used to manipulate the values based on a set factor. Once the values have been mathematically altered to match the scale of representation needed, the output values (either from Multiplication, Division, or Figure 7.2.1 Referenced point geometries and imported spreadsheet data Figure 7.2.2 Image of imported spreadsheet and matching output data list in Grasshopper Figure 7.2.3 Point translation operations CHAPTER 07: CARTOGRAPHIC AND DATA VISUALIZATION PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 109


Figure 7.2.4 Moved points connected to original point locations in model space 07.02.02:Applying color and text labels to line geometry relative to data value “Data”) can be connected to the “F” input on a Unit Z component, as the values will supply the magnitude for the axis translation. Connect the output vectors from Unit Z to the “T” input on a Move component.The geometry to be moved will be the output referenced points from Point. With the completion of this series of operations the points have been moved based on their value indices provided by the spreadsheet data. _To further the representation of the geospatial data geometries’ associated values, line geometry will be drawn to connect the moved points to the original locations in model space.Attach the output of the referenced points to the “A” input on Line, and the output moved geometry “G” from Move to “B”. Lines connecting the two-point collections will now be previewed in model space. Figure 7.2.5 Creation of color values responding to the domain of the length values to color the geometry, and labeling values at moved points The length of the generated lines between the points will be calculated as a metric to further display the values of the points through a gradation of color. Place a Length component on the canvas and connect the output line geometries. The output length values provide a domain that can be used to align color values that fall along a gradient to metric values. _Connect the output data list from Length to the input on a Bounds component. Flatten the “N” input by right clicking and selecting “Flatten” from the menu. This operation provides the domain of the length values to which color values will be matched. The exposed domain will be deconstructed to isolate the lower and upper limits of the domain through the use of the Deconstruct Domain component. _Having deconstructed the domain to fnd the lower and upper limits, these values, along with 110 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 07: CARTOGRAPHIC AND DATA VISUALIZATION


the list of the overall values of the domain, can be utilized to apply a gradient of colors to the line geometries. Place a Gradient component on the canvas and connect the output “S” from Deconstruct Domain to the “L0” input, and the output “E” to the “L1” input.The parameters, or “t”, input on Gradient will be the output list of values from Length.The output colors from Gradient will be connected to the “M” input on a Custom Preview component, with the geometry being previewed with the assigned colors being the output lines from Line. The lines will now be previewed with color corresponding to their data value in model space. _To label the output data values from the spreadsheet at the location of the moved points, place a Text Tag 3D component on the canvas. The location, “L”, input for where the text is to be positioned is the output points from Move. The text, “T”, to be displayed is the output “Data” from Excel Reader LEGACY.The size of the text, “ S”, can be adjusted with a Number Slider based on the scale of the model.The output values from the Gradient component can be used to align the color of the text values with the color of the corresponding line color. Connect the output of Gradient to “ C”.The previous operations provide representation of the point data through depicting line geometries of various heights and colors based on the associated data value, while labeling the specifc data value of each. Figure 7.2.6 Previewed output—colored and labeled line geometries 07.02.03: Creating mesh geometry to visualize data values Figure 7.2.7 Mesh generation from moved points based on data values As an added representational output to the script, the moved points based off the associated spreadsheet data can quickly generate a mesh that depicts its elevation qualities relative to the point data values. Place a Delaunay Mesh component in the workspace. Right click the “P” input and select “Flatten” from the menu. Upon completing this operation, connect the output points, CHAPTER 07: CARTOGRAPHIC AND DATA VISUALIZATION PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 111


“G” from Move to the “P” input on Delaunay Mesh. A mesh geometry that is generated from the moved points as an elevation input is created. This output data surface can serve as another depiction of the same data, facilitating and provoking comparison to the underlying landscape terrain model. The presented workfow, while arguably reductive in sense, promotes the ability to evaluate data in multiple spatial projects to further speculative analysis between data and landscape.The operations of the process can be utilized in other formats that may facilitate such modeling as urban base model generating, where the input building footprints can be extruded based on associated height values from spreadsheet data.The output representations provide instances of data as an extension of landscape modeling and analysis. Process overview Rather than the use of input geospatial geometries, the following presented workfow will provide an output data visualization that is of generated geometry purely from the input of a value list. A circular graph that depicts values as imported from an Excel spreadsheet will be created.The script allows for a live feed from the spreadsheet and will update the model as it is adjusted.The data will be presented through a radial collection of vectors with magnitudes that are based on the data values. Each value will be labeled along the circular graph at the base point of the vectors as represented by line geometries. 07.03.00: Importing data from spreadsheet and generating base geometry for graph Following the steps presented in section 07.02.00, import data from a Microsoft Excel Spreadsheet to be represented by the output data representation. _Once the data import is functioning, the next step of the workfow will be the creation of a base circle from which the data values will be represented. Place a point geometry in model space and reference into a Point component.To create a circle from the input point, Circle CNR will be used.This component allows for the specifcation of a center point of the circle geometry as well as the radius. Connect the Point to the“C” input to provide the center of the circle, and a Number Slider to the “R” input to provide the value for Figure 7.3.1 Referenced data values from Excel, and divided circle geometry operations the radius of the circle. Figure 7.2.8 Produced data mesh as previewed in model space 07.03_ CIRCULAR GRAPH DEPICTING METRIC DATA 112 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 07: CARTOGRAPHIC AND DATA VISUALIZATION


_The provided data values from the spreadsheet will ultimately stem from the circle and move outward based on their value. To provide the start point of the data translation, the circle will be divided into a number of points that matches the length of the data list. Connect the output data from Excel Reader LEGACY, “data”, to a List Length component.The output value of List Length will be used to set the number of points into which the circle is to be divided. Place a Divide Curve component on the canvas and connect the output from List Length to the “N” input, and the output circle geometry from Circle CNR to the“C” input.The circle will now be previewed, divided into the number of points specifed by the length of the referenced data from Excel. Figure 7.3.2 Previewed divide curve in model space 07.03.01: Moving the divided curve points radially from the center of the circle with created vectors, and depicting data trends Figure 7.3.3 Created vector/amplitude operations to move points, and created trends As the circle is now divided into points acting as the starting locations of the data value representation, vectors can be generated between the center point of the circle and the divided points. These vectors will allow for the divided points to be moved radially outward based on the associated data from the spreadsheet.The center point of the circle is the original input point from model space, but the Area component can be used to fnd the centroid of the circle and help to organize the script progression. Plug in the CHAPTER 07: CARTOGRAPHIC AND DATA VISUALIZATION PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 113


Figure 7.3.4 Previewed data representation output circle from Circle CNR to the input on Area. To compose the vector creation, use Vector 2Pt and connect the output centroid from Area to the “A” input.The second point list of the vectors, “B”, will be the output points from Divide Curve.This is done as the vector movement of the divide points to represent the data values will move outward from the center of the circle. _With the vectors produced, providing the direction of movement, the amplitude or length of each vector will be allocated.The amplitude values corresponding to the vectors will be that of the data values. Using an Amplitude component, connect the output “V” vectors from Vector 2Pt to the “V” input.The output “Data”, from Excel Reader LEGACY, will be connected to the “A” input on Amplitude, aligning the referenced data values as the length of the vectors. _The points from Divide Curve will now be translated based on the created vectors and associated amplitude through using the Move component. The output points from Divide Curve will be input into “G”, and the output vectors from Amplitude will be connected to the “T” input.With this operation, the points are moved outward from the center of the circle based on their data values from the spreadsheets. _The moved points will provide visualization of the data in multiple fashions. One will be the creation of line geometries between the original point positions and the moved point positions. The output points from Divide Curve will supply the “A”, and the output points from Move will provide the “B” input on the Line component. Lines between the two point lists are now created, representing the paired data referenced from the spreadsheet. _The moved points can also be visualized through the creation of a trend curve. Using the Interpolate component, the moved points will be connected to generate a continuous closed line that embodies the fuctuation of the data values. Import the moved points,“ G” from Move, to the “V” input on Interpolate. The degree of the output curve can be set through connecting a Number Slider to the “D” input.To follow the moved data points with a tighter curve, set the Number Slider to a value of “1”. A Boolean Toggle will be connected to the “P” input to output a closed curve. 114 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 07: CARTOGRAPHIC AND DATA VISUALIZATION


07.03.02: Further annotation of the data visualization, labeling values and coloring lines based on values The lines that are generated between the moved points and the original point locations can be colored based on length, as shown in section 07.02.02. _To label the data values and orient them to the radial presentation of the curves, the component Horizontal Frames can be utilized.The output lines from Line will be input into “C”, with a Figure 7.3.5 Script in entirety showing all operations Figure 7.3.6 Output data representation graphic CHAPTER 07: CARTOGRAPHIC AND DATA VISUALIZATION PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 115


Number Slider providing the positioning on the curve“t”.A value of “ 0” places the text at the starting point of the curve, while increasing the value moves the frame location farther up each curve. _The created frames from Horizontal Frames provide the location for the text of the data values.To annotate the locations with text, Text Tag 3D will be used. Connect the output “F” from Horizontal Frames to the input “L”, and the output“Data” from Excel Legacy Reader to the “T” input to supply the text. A Number Slider can be used to specify the text size based on the scale of the model, as well as Colour Swatch to set the text color. The output data visualization provides multiple representation techniques to portray numeric data and allow analysis of trends and values. 07.04 _CONTEXT With larger territories and urbanistic scenarios increasingly becoming core to the research and production work of the feld of landscape architecture, data is an unavoidably necessary product. Such scales and situations provoke the use of data not only for modeling, but for analysis and conjecture in addressing scenario-based proposals. The interpretation of data should align to a process that leverages the data as a means to interpret the landscape and its associated systems through various lenses, to promote a holistic approach to positioning the landscape relative to correlations and contradictions. While metrics and validated data of a specifc landscape condition provide the ability for decision making, the conceptual performance of the landscape should promote an understanding of how such rigid data can be adjusted and speculated on, so as to provide a multifaceted approach to addressing landscape function. 116 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 07: CARTOGRAPHIC AND DATA VISUALIZATION


CHAPTER 08 CELLULAR MODELS, AGENT-BASED BEHAVIORS, AND SIMULATION Speculation With the feld looking toward larger territories of investigation that are governed by complex systems of fuctuation and uncertainty, it becomes necessary to expand the tools associated with the feld to those that border on associated disciplines.This chapter will provide example uses of computational models that allow for iterated scenarios based on orchestrated parameters, so as to promote a result that provides a possibility aligned to uncertainty. Cellular and agent-based models of simulation are typical to such felds as engineering, biology, and ecology. Such models provide intelligence to geometries that allows for responses based on set rules and behaviors.These rules and behaviors can echo those of the landscape through application to ecological and urban dynamics. These modeled systems also allow for self-organization and adaption through the provided parameters.They can work as analytical tools prior to intervention, as well as devices for continued elevation that respond to the alterations of the base parameters. Forms of cellular and agent-based models will be presented to provide an alignment of utilization for dynamics that are considered within the feld upon investigating complex systems.A cellular model, in its most basic terms, can be understood to be a grid of cells that have certain “state” characteristics applied to them. For instance, the “states” can be “alive” or “dead”. If a “dead” cell is in close enough proximity to an “alive” cell, the “alive” cell will change “states” to become “dead”. Such models use rule sets of percentage and proximity to predict the organization and decay of a system. More complexity can be added to a model that allows for a “birth rate”, by including the representation of a variable that allows for the “alive” cells to reproduce after a certain time period of being “alive”.This enables the model to represent and play out the population dynamics of a given system, providing insight into trends as well as the possibility of meeting equilibrium.A variation of such a model will be presented that allows for a disturbance to impact a landscape and show the refractory response of succession.An agent-based model can be understood to provide the interaction of geometries or representations that hold behavioral attributes, which allow for them to respond to one another or to certain occurrences in the model environment.This type of computational model can be deployed to investigate animal and human behaviors, as provided by an environmental scenario to test. 08.01_ CELLULAR MODELING THE DISTURBANCE OF A FOREST FIRE Process overview The presented workfow utilizes a facet of cellular modeling known as an excitable medium.This model of simulation provides the use of a system that responds to a continuously generated disturbance.This repeated disturbance is generated from the same starting points/cells and affects the surrounding cells.The surrounding cells respond to the disturbance based on the time steps of simulation, creating a changing of cell states based on a refractory time.As a certain amount of steps or time has passed since the disturbance has augmented the affected cells, they will revert to their original state until being disturbed again. Based on this description of the model, it becomes easy to understand the possible alignment of such investigations to ecology. As the feld is promoting the use of natural systems to govern the maintenance, phasing, CHAPTER 08: CELLULAR AND AGENT-BASED MODELS PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 117


and function of landscapes of disturbance, it becomes imperative to be able to further investigate and understand such phenomena through modeling practices.The provided scripting operations are utilized to generate a generic scenario of vegetation undergoing the disturbance of a fre ecology, and outputting a simulation that provides a 3D representation of plant regrowth and establishment. Specif ed starting points of the fre will be provided through the referencing of point geometry and will affect a generated grid of points to change their state of being burned and refracting/regenerating.A color value will be specifed for each point that is representative of the state change each point is undergoing.The points will be isolated based on their assigned color value and will be moved in the z-axis at varied heights based on the associated phase of vegetation regeneration. 08.01.00: Generation of cells, cell types, and cell states Figure 8.1.1 Component confgurations providing the base parameters for the cellular model The example workfow utilizes the plugin, Rabbit. The plugin provides a family of components that facilitate the recursive operations necessary for the model. Scripting in Grasshopper without the use of plugins generally creates computational approaches that do not provide the ability for complete automation in generating and then using the generated data to repeat and iterate upon itself.The heavy lifting for the operations of this script is held within the Rabbit components. To a degree this masks the operations being deployed, but does provide a more user-friendly approach to experimenting with such computational models.To generate the geometry that will act as the cells, a Square (SqGrid) component will be used. Set the dimensions/number of points for the grid of cells through attaching Number Sliders to the Square (SqGrid) component. The “Ex” and “Ey” inputs will be set to the same value, 50, for the purposes of this workfow.The “S” input, or the size of the cells, will be set to a value of “10” with a Number Slider. _To further the set-up parameters of the model, all possible cell states and their representational color values will be initialized. The Excitable Cell component from Rabbit will be utilized for this operation. Set a value of “3” for the threshold, “T”, input.The remaining inputs will provide the associated colors that depict the current cell states. “R” provides the resting state of the cell, meaning that the cell is not excited or in a refractory state. Connect a Colour Swatch to the input “R” and double click on the preview color to alter a desired value.The remaining two inputs, “E” and“R”, provide the other possible cell states, “Excited” or “Refractory”. For each input, fve Colour Swatch components containing values that provide a gradient from light to dark will be connected. For the “E” input, the example uses color swatches ranging from a lighter orange to a darker orange.The refractory state,“ R”, is utilizing a range of colors from green to grey. 118 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 08: CELLULAR AND AGENT-BASED MODELS


_Now that all possible cell states and their colors have been outlined, the starting points of the disturbance and their color value will be created. Continuing to use the plugin, Rabbit, the component Custom State Conf guration will be used to set the associated values. Place a Custom State Conf guration component on the canvas. The frst input, “P”, requires the referencing of input point geometries from model space that fall within the boundary of the produced grid cell points. In model space, create a closely clustered arrangement of three point geometries. Reference the point geometries to a Point component and connect to the “P” input. The second input on Custom State Conf guration will be a Colour Swatch providing the same value as the frst input Colour Swatch on the “E” input on Excitable Cell.With this fnal input, the initial parameters of the simulation have been declared. 08.01.01:Application of cell parameters and running of model The input geometries and associated state characteristics can now be further aligned to set up the cellular model using the component Regular 2D Cellular Automaton Model from Rabbit. Connect the output “EC” from Excitable Cell to the “C” input, the output “P” from Square (SqGrid) to the “P” input, and the output “SC” from Custom State Conf guration to the “SC” input on Regular 2D Cellular Automaton Model.With these connections, the model is set up to be solved and iterated based on the input parameters. _The solving of the evolution of the model will be carried out by a further composition of Rabbit components.The CA Evolver will allow for the input cellular model to “run”, providing the evolution of the disturbance that will affect the cells. Connect the output “CA” from Regular 2D Cellular Automaton Model to the CA Evolver.As mentioned previously, the cell states are based on the time over which the evolution is occurring. To provide the time for evolution, the component Discrete Time (from Rabbit) will be used. The Discrete Time component continuously counts up from 0, allowing for each time step to further the evolution of the model. For Discrete Time to be engaged, connect a Boolean Toggle to the “r” input to allow for the simulation to be reset.A Timer component will be connected through dragging out a wire to Figure 8.1.2 Represented grid of cells and input disturbance point geometries in model space Figure 8.1.3 Component operations to align, run, and visualize model parameters Figure 8.1.4 Output simulation during evolution CHAPTER 08: CELLULAR AND AGENT-BASED MODELS PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 119


connect to Discrete Time, to dictate the speed at which the time will progress. The output “t” will be connected to the input “t” on the CA Evolver. _The CA Evolver will output the model confguration at each time step. To visualize the evolution of the model, the output “CA conf guration”, “C”, will be connected to the input “C” on a Rabbit Cell Components. This component produces the output point cells and their current states based on the parameters as evolved by the time step.To represent the point cell states in model space, a Custom Preview will be used to align the output points with their associated color based on the state that they are experiencing. Connect the output “P” from Cell Components to the “G” input on Custom Preview and the output “CS”, Cell State, will provide the colors for the input “M”. With the operations of this section complete, the model can be run by double clicking the Timer component.To reset the simulation, double click the Boolean Toggle to True. 08.01.02: 3D representation of vegetal growth dynamics Figure 8.1.5 Isolation of point geometries of a specifc cell date and derived 3d representation of associated plant dynamics The script thus far produces a 2D representation of the cell states with the output visualization providing a gradation of color based on whether the cell is excited or in a refractory state.The aligned color values of the geometry can be used to isolate the point geometries that correspond. This operation will be completed through outputting the color values to a number component, converting them to integers and generating a binary to fnd all matching values.This output binary will be applied to the list of points that compose the grid and act as the cells. The produced culled points will be 120 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 08: CELLULAR AND AGENT-BASED MODELS


representative of the cells that maintain the same state as found through their coloring. Connect the output “CS” from Cell Components to the “A” on an Equality component.This will allow for an input color value as an integer to be set and compared to in order to fnd all equivalent values. Connect the output from the resting state Colour Swatch, the frst “R” input on Excitable Cell, to a Number component. The color value is now an integer and will be compared to the list of all color values/cell states to fnd those of the same value.The Number component will now be connected to the “B” input on Equality. _With the specifed cell state to isolate, as defned by its color value, the output “=” of Equality will be connected to the “P” input on a Cull Pattern.The list to apply the pattern/binary to will be the output“P” from Cell Components. The output culled list of points can now be manipulated to produce an abstracted representation of vegetation through creating line geometries of various heights. _To generate a visualization relative to a vegetal community, the isolated points corresponding to the specifed cell state will be randomly moved in the z-axis by a set domain of values.This domain can correspond to the stratifcation of a specifc vegetation community where the approximate heights of the vegetation that embody the community can be represented. The Random component will be used for this function through identifying the number of culled points via the use of a List Length component, specifying the number of values to generate for an input domain as supplied by a Panel component.The output values from Random provide the factor for the vertical translation of the points to generate the end points of the line geometry. Place the components, Unit Z and Move, on the canvas.The output “R” from Random will be connected to the “F” on Unit Z, with the output vectors from Unit Z connecting to the “T” input on Move. The geometry that will be moved is the output list of points from Cull Pattern—connect to “G” on the Move component.The culled points will be previewed at their new z coordinates.The fnal operation will be connecting the original culled points to the copied and moved points. Connect the output list of points from Cull Pattern to the “A” input, and the output “G” from Move to the “B” input on a Line component.This cluster Figure 8.1.6 Output Representation of Responsive Vegetal Growth to Cell States CHAPTER 08: CELLULAR AND AGENT-BASED MODELS PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 121


of components and its operations will be applied to all colour swatch values for all states, with the domain being adjusted so as to show how vegetation is regenerating based on the disturbance. The provided workfow provokes the use of modes of computational modeling in allied felds to provide insight on how landscape phenomena can play out and be leveraged through scenariobased designs, which pull from notions of pragmatism and speculation.The output is one that provides a 2D and 3D representational strategy for investigating fuctuating spatial dynamics as relative to modal spatial conditions. 08.02_ AGENT-BASED MODEL USING ATTRACTOR POINTS TO PROVIDE SEEKING BEHAVIOR Process overview The use of agent-based models can provide investigation into actors that participate within the landscape, whether human or animal. Parameters that can defne simple to complex behavioral traits for the instances of the agents provoke how they move and interact with a given environment.The presented workfow provides a simple take on agent-based modeling, which can be developed based on the complexity of the given environment as well as the intelligence of the agents. A simple scenario is presented that can align to a basic notion of how a particular animal species can navigate the landscape in search of food or other necessary resources. A simple surface geometry representative of a terrain will be used as the basis of the environment for the simulation. Point geometries projected to the terrain provide areas of substance for the species and act as attractors within the landscape.The population size, the speed of movement, and the level of attraction to each point can be adjusted and initialized as the parameters that govern the system.While this model conceit is relatively simple, its application can be used at multiple scales and instances of landscape, ranging from an urban plaza to the territorial and beyond.The output of the script provides an understanding of the impacts of spatial organization and the subsequent occupational trends of the landscape. 08.02.00: Generating agent movement on an input surface To defne the environment of the simulation, a surface terrain and a collection of projected points will be referenced in from model space. The terrain will be referenced to a Surface component and the projected points to a Point component. Created agents as point geometries will move throughout the terrain model in search of the projected points, which will act as attractors.The model dynamics will be enacted through the use of the plugin Nudibranch. _The component, Walkers, from the component collection associated with Nudibranch, will provide the input settings of the agents and allows for the simulation to run. Connect the output referenced surface terrain model to the input “S” on Walkers.The number of agents/“walkers” to be placed in the environment will be specifed through use of a Number Slider connecting Figure 8.2.1 Environment set up confguration for simulation to the “N” input.To provide a velocity factor of 122 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 08: CELLULAR AND AGENT-BASED MODELS


the agents, connect another Number Slider component to the “F” input.The velocity of the agents can be randomized so that not all agents are moving at the same speed, but instead move with varied velocities that reach the max velocity as specifed by the input Number Slider. To allow for this randomization, connect a Boolean Toggle component to the “Ra” input and set to “True”. _With the basic environmental parameters set, the simulation can be run to see the current agent movement. Connect a Boolean Toggle component to the “R” input and set to “True”. Place a Timer component in the workspace and connect to the Walkers component. For this workfow, set the timer value to 20ms by right clicking, selecting “Interval”, and choosing 20ms.The simulation will now run, previewing the agents moving about the confnes of the terrain model in model space. 08.02.01: Creating attractor behavior for the agents to move toward the input projected points To provide the attractor behavior for the autonomous agents, the Nudibranch plugin component PointHicking will be utilized. Connect the referenced surface to the “S” input, and the output points “P” from Walkers to “P”, to provide the list of points to be affected by the attraction.The attractors, “At”, will be the output referenced projected points on the surface terrain.To provide the range or radius in which the attractor points will gain the attention of the agents, use a Number Slider to set a desired value.This value determines at what proximity to the attractor point geometry the agent points will intersect and move toward the point. The attractor geometries can also provide repulsion and can be toggled on demand. To enable this function, connect a Boolean Toggle to the “Re” input. The f nal input to provide all necessary attraction dynamics will be setting the force of the attraction. Connect a Number Slider to the “F” input to provide the value—this will be adjusted as needed to provide the desired outcome of the simulation. _With the completion of the aforementioned operations, the agents will now move toward the points when they intersect the radius in recognition of the point attraction geometry.As an added representation and investigative product, the paths which the agents are generating and leaving behind will be visualized.The output “ P”, or the points that Figure 8.2.2 Previewed agent movement on surface in model space Figure 8.2.3 Operations creating attraction points and agent trails CHAPTER 08: CELLULAR AND AGENT-BASED MODELS PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 123


Figure 8.2.4 Output simulation of agent points moving to attractor points and leaving behind trails in model space are depicting the updated agent locations based on their attraction behaviors, will be used to generate the trails.The past positions of moving agent point geometries can be documented through recording and “saving” the past point locations.The past point locations will remain in place while current positions are continuously updated.The past and present point locations will be connected via a polyline that will continue to grow and represent the overall paths the agents are taking in their journeys. Connect a Point component to the output “P” from PointHicking. This component will be “Grafted” so as to allow for each agent point to maintain itself as a list, meaning that each list will encompass all previous and current locations per each agent point.The output point positions will be recorded through use of the Data Recorder component. Attach the output from Point to the Data Recorder. The “X” on the Data Recorder can be clicked to reset the data and clear past recorded geometries.The output point lists from the Data Recorder will be connected to the “V” input on an Interpolate component.This operation allows for the recorded past and present point locations per each agent to be connected and output a polyline depicting the movement of the agents.As the script is reset and run with all component clusters in alignment, the agents will move about the surface and become attracted to the specifed points, leaving behind a trail of their past movements. The generated simulation provokes the use of such computational techniques to address uncertainties in the landscape with more than an assumption. A 3D environment is generated in which autonomous agents inhabit and interact based on given traits and behaviors. Such a tool can be used to assess the current systems as well as any proposed systems of a landscape. As spatial organizations and inhabitants that occupy the landscape scenario are altered, it becomes a consequence to play out the interactions and evaluate the positioning of the work or project. While the provided example model is a simple one, there is still signifcant specifcity provided through the factors of the radius for attraction. These can be aligned to the vision or other sensory traits of a specifc species as well as through the placement of the attractor points, which can be based on geospatial data referencing previous research that deconstructs the species down to its habit parameters.The presentation of the model intends to evoke pragmatic and speculative use when representing and investigating site systems. 124 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 08: CELLULAR AND AGENT-BASED MODELS


08.03_CONTEXT The provided workfows of the chapter showcase model types of associated disciplines and suggest the need for them to become more commonly practiced and integrated into the workfows of landscape architecture. Such a tool set can provide a means to investigate these systems with more specifcity while allowing for unpredictability.This allows for a more informed design process and evaluation of proposed conditions. While the theory of such models is not explicitly addressed in the chapter, the tools provided promote a user-friendly approach to harnessing the capabilities of these mathematical approaches to disambiguate complex systems and their potential outcomes. CHAPTER 08: CELLULAR AND AGENT-BASED MODELS PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 125


CHAPTER 09 CASE STUDIES Deconstructing the use of computational tools in professional landscape architecture projects The fnal chapter of the book will express and validate the expanding presence of computational tools in the feld of landscape architecture as a driver of form and function.The deconstruction of workfows utilized in two realized professional projects will be provided to showcase the potential of such approaches for designed landscapes. The presented workfows are not one-to-one methods as employed by the designers, but rather exemplify operations that provide outputs of a similar composition.This chapter leverages the previously examined operations of other chapters as well as additional functions to provoke the use of computational tools and their relevance in the feld.The presented case studies focus on two material uses and their representational performance for landscapes, paving systems, and landforms. As these material practices are common protagonists of project concepts, it becomes necessary to supply means to further the performance and break the mundanity of the presence and the positioning of these in the landscape.The presented scripts provide speculation on the possibilities of these tools to yield growth in the feld in terms of theory and professional practice, as grounded through the application in built works. 09.01_ POCKET PARK ROCHEAREAL KAISERAUGST: BRYUM LANDSCAPE ARCHITECTS Process overview A workfow will be presented that emulates the paving organization of the project, which provides the lattice of use for the space—dictating voids for planting, corridors for passage, and places for gathering users.The pavers, in their organization and scaling, provide these uses of the site through orchestrating a varying width in the jointing based on the size of each paver.The zones that encompass the smaller pavers provide grounds for vegetation while those of larger pavers and smaller joints allow for uninterrupted pathways through the plaza and gathering areas to be occupied by space users.The operations to complete a scenario model of similar spatial considerations relies on the use of grid deformation through input attractor geometry.The attractor geometries, points in this case, will not only deform the grid cells, but will provide a scaling function for the pavers based on their distance from the attractor points.The output of the script presents the scaled paver geometries as extruded meshes, formulating the paving and joint pattern as presented by the precedent project. 09.01.00: Grid and attractor vector set up The base geometry for the script will be supplied by a Square (SqGrid) component. Place a Square (SqGrid) on the canvas and connect Number Sliders to input the 126 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 09: CASE STUDIES


number of cells in the x- and y-axis, as well as the cell size. The coordinates at which the grid will be deformed will be provided by referenced point geometries from model space. Create point geometries that fall within the extents of the generated grid and reference into a Point component. _Having established the grid for deformation and the points at which the deformation will occur, the vector movements of the deforming of the grid will now be calculated. The Point Charge component will provide the initial vector feld of the movement of the grid points. Connect the output referenced point geometries to the “P” input on Point Charge. To supply the Charge of the points,“ C”, as well as the Decay, “D”, of the points, connect Number Sliders to the inputs.These values will be adjusted as needed to allow for the desired strength of deforming the grid. The output of Point Charge provides felds of charges per point. These felds will be combined into one feld with three elements. Place a Merge Fields component in the workspace and connect the output point felds to the input “F”. With the felds of charge merged, the combined feld can now be evaluated based on its alignment to the output “P” from Square (SqGrid). Upon completion of the previous functions, the initial set-up of the vectors to move the grid of points has been generated. 09.01.01: Point charge vector manipulation and translation of grid points From evaluating the feld of the point charges, the output vectors can be manipulated to control their length through providing a radius of deformation relative to each point for the grid point movement. The output vectors, “T”, from Evaluate Field, will be attached to the “V” input on Vector Length component.This component generates the length of all of the vectors that encompass the vector feld. With the isolation of these values, they will be adjusted to match a value that allows for shortened lengths, while maintaining the direction of the vectors, to compose a system that allows for the points of the grid that fall within the given radius to be adjusted.The output length values from Vector Length will be input to the “A” on a Minimum component and compared to a second Figure 9.1.1 Components scripting the input grid for deformation and attractor operations Figure 9.1.2 Previewed grid and point charges in model space Figure 9.1.3 Manipulation of vector lengths to adjust radius of affected grid points to be moved CHAPTER 09: CASE STUDIES PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 127


Figure 9.1.4 Generated deformed grid previewed in model space 09.01.02: Attractor dynamics for paver gradient value, “B”, as provided by a Number Slider. The resultant values of this compose the radius of the grid deformation.To apply the values back to the generated vectors from Evaluate Field, the Amplitude component will be used, as it will supply the output from Minimum as the amplitude values,“ A”, to the input vectors. _The translation of the grid points will now occur through the use of the generated vectors specifying the directions and extent to affect the grid. Connect the output“P” from Square (SqGrid) to the input“G” on Move, and plug in the output vectors, “ V”, from Amplitude, to “T”. The point geometries that compose the grid will now be affected based on the vector feld settings. _The points of the original grid will now be converted into a grid as recognized by the plugin Paneling Tools. The component Compose Grid Number will be used to provide output cell geometries for further manipulation. Connect the output Move geometry, “G”, to the “P” input on Compose Grid Number.To specify the number of rows of the grid to be produced, the “N” input will receive the set value from the input Number Slider providing the “ Ey” value for the original grid. An expression for the “N” input will be written by right clicking the input, selecting “Expression”, and typing “x+1”.This step is necessary to provide the correct number of points, as one more point is generated based on the grid cell number. Upon completion of these operations, the deformed point geometries will be converted to a Paneling Tools grid instance.The output grid will now be visualized and produce meshes as the cells. Connect the output grid from Compose Grid Number to another Paneling Tools component, Cellulate. The grid will now be previewed as mesh grid panels with the outline boundaries in model space. Figure 9.1.5 Attractor confguration for scaling pavers based on distance from attractor points 128 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 09: CASE STUDIES


The produced meshes that embody the deformed grid cells will be used as the geometries for the pavers. These geometries will be scaled based on their distance from the original attractor points that deform the grid.The plugin Nudibranch will be used to facilitate the construction of the attractor operation, generating values for scaling based on adjacencies to the attractor points. The Nudibranch component, Attractor Values, will be used to calculate and adjust the values for scaling the paver geometries.The point list to be affected, the “P” input on Attractor Values, will be provided through the isolation of the center points of each paver when utilizing the Area component. The Attractors, “At”, will be connected to the output referenced point geometries from model space so as to allow for their coordinates to be used as a second layer of attraction beyond that of the grid deformation operations. A radius or range value can be input to “R” with a Number Slider to provide the extent in which the attractor values will be distributed to the input grid point list.A value of “0” as input by a Panel component will specify the distribution type to “Linear”.This input can be adjusted to other values as specifed by the input (place mouse over the top for information) to distribute the attractor values to other distribution types, such as “Parabola” or “Sine”. Connect a Boolean Toggle to the “As” input and set to “True” by double clicking.This allows for the ability to switch between increasing or decreasing the attractor values to ultimately scale the paver geometry, either larger or smaller, based on its proximity to the attractor points.The fnal parameter to be initialized on Attractor Values will provide the force or strength of the attractor. Connect a Number Slider with a decimal value to fne tune the strength as desired based on the eventual scaled output. _With the attractor values generated, this will supply the factors for scaling the paver geometries. The Scale component will be used for this operation with the geometry to be scaled being the output meshes from the “M” output on Cellulate.The center of the scaling will be the output centroids or center points from the Area component.The fnal input on Scale “F” will be the output value list from Attractor Values.The mesh pavers will now be previewed with their scaled appearance as based on their proximity to the attractor points. CHAPTER 09: CASE STUDIES PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 129


The presented workfow negotiates replicating the general conceit of the case study project through deploying a common computational logic through attractors.As the script is presented in a manner aligning to the technical portrayal of the project, the logic of using the ground plane in authoring the organization of occupation of the space can be utilized at multiple scales, and can provide an understanding of landscapes, whether urban or more natural. 09.02_ MAX IV LABORATORY: SNØHETTA Process overview The presented case study project utilizes landform as a performative facet of the landscape for not only hydrological and ecological purposes, but also to ensure the performance needed by the associated built structure. At the center of the intervened landscape is a laboratory building that requires a reduction in ground vibrations to carry out the intended experimental uses.The site of the project lies between two highways, which provide ground vibration disturbance that would affect the research being conducted in the laboratory building.The agency of landscape is used as an infrastructure to mitigate the ground vibrations through providing an undulating series of mounding landforms that aid in the dispersal of the vibrations.The provided landform strategy utilizes a repetitive grading pattern based on a radial extension of curved line geometries extending outward from the cylindrical shaped building.The process stems from the generation of circle geometry that is offset multiple times to provide the extents of the radial curves’ generation.The created circle geometries are deconstructed into points and, from the point lists, certain points are selected to produce an arc geometry that will be rotated around the site and then mirrored.The output curves will be used to displace the input ground geometry to create the intended landform pattern. 09.02.00: Central base organizing geometry creation The generation of the landform pattern stems from the radial formal expression of the building on site. Ultimately, arcing curve geometries will extend outward from the center of the site, allowing for the resulting void/cellular spaces to formulate the mounding pattern. For the purposes of this example process of the project, a surface will be referenced and the center point will serve as the center of the generation of circular geometry. Reference a planar surface geometry from model space into a Surface component. Connect an Area component to the output referenced surface to generate the center point. _From the center point of the surface, three circles of varying radii will be produced. Place a Circle CNR component on the canvas and Figure 9.2.1 Circle creation from center point of referenced surface and curve division into point geometries plugin the output “C”, from Area, to the “C” Figure 9.1.6 Completed model output previewed in model space 130 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 09: CASE STUDIES


input to provide the center of the circle creation. Three Number Sliders will be connected to the “R” input to produce three circle geometries of increasing radii. Start by connecting the Number Slider with the lowest value and continue in increasing order. Hold shift while dragging the wires to add multiple values to the “R” input. Three separate circle geometries of increasing size will be previewed in model space. _The created circles around the center point of the surface will now be divided into point geometries.These points will provide the coordinate construction of a curved line geometry that will be rotated around the center of the surface. Connect the output circle geometries to a Divide Curve component. The number of divisions will be set using a Number Slider. Each circle has the same number of points, but the spacing between them is varied, as the radii are different and the division is not segmenting each curve based on a set length.This variation in point positioning will aid in the creation of the intended arcing geometry. 09.02.01: Generation of radial curve to be rotated The points from the curve division of the circles will be utilized to compose the radial curve through the strategic selection of points from each circle. This operation will use the Series component to create three progressive values that are a set step size apart. The frst point in the list associated with the smallest circle will be selected, with selection of points from the other circles’ lists having index values increasing by a value of four. Place a Series component on the canvas and connect a Number Slider with the value of “4” to the “N” input.The “S” input can be left with the default value of “0”. No Panel or Number Slider is necessary.The count,“ C”, is the number of values to be generated at the set step, and this value will be the number of circle geometries, as one point will be selected from each curve based on the produced index values. List Length will be used to provide the number of output circle geometries. Connect the output “C” from Circle CNR to List Length, and connect the output value of List Length to the “C” input on Series. _Based on the set starting value and step size of the series of numbers to output for the example, the Series component is outputting three values, 0, 4, and 8.This list of values will be used to extract Figure 9.2.2 Previewed circles divided into points in model space Figure 9.2.3 Generation of radial curve from indexed points of the divided circles Figure 9.2.4 Output curve geometry previewed in model space CHAPTER 09: CASE STUDIES PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 131


the frst point from the list of points associated with the smallest circle, the fourth point in the list of the second circle, and the eighth point from the point list of the largest circle.To apply these values to output the corresponding point to the index value, List Item will be used.The list to be extracted from will be the output points from Divide Curve. As there are three input circle geometries to Divide Curve, there are three separate lists of points.The output list of values to be used as the indexes from Series are in one list.To apply these values individually to each list of points associated with the circles, with the intent to extract one point from each list, the “i” input on List Item will be “grafted”. Right click the “i” input and select “Graft” from the menu. This added operation allows for the values from Series to be maintained as their own individual lists rather than a collective. Connect the output “S” from Series to the “i” input on List Item. With this connection, the selected points based on index will be previewed in model space.The points will be connected to create an arcing curve geometry through the use of Interpolate. The input “V” on Interpolate will be fattened, as the output points from List Item are separate lists, but need to be a single list for the curve to be generated properly. Right click “V” and select “Flatten” from the menu, then connect the output points from List Item. 09.02.02: Rotation and mirroring of radial curve to provide organizational pattern for the landform Figure 9.2.5 Rotational and mirroring operations producing radial curve pattern The created radial curve will be rotated around the center point of the surface. A series of rotational degrees will be generated with a list length that matches the points dividing a single circle. Another Series component will be used for this operation through inputting the output value from the Number Slider providing the number 132 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 09: CASE STUDIES


of divisions on the circles to the“C” input. Place a Number Slider component on the canvas and set a value for the steps in the progression of the produced degree values. A value of “18” is used for this example. _The rotation operation will be carried out through the Rotate 3D component. Connect the output list of values from Series to the “A” input on Rotate 3D.The default for the angle values is in radians. Right click the “A” and select “Degrees”.The geometry to be rotated is the output curve from Interpolate, with the center of the rotation being the center of the surface. Plug in the output “C” from Area to the “C” on Rotate 3D.The curve will now be rotated and repeated around the center of the surface. _To generate the pattern based on the case study, the rotated curves will be mirrored to move in the opposite direction. Connect the output geometry from Rotate 3D to “G” on Mirror. A plane is required to determine the direction of the mirroring. For this workfow, the XZ plane will be used. Using the component XZ Plane, connect the output “C” from Area to the “O” input, to allow for the origin of the plane to be set at the center of the surface.The output plane can now be connected to the “P” input on Mirror. Two sets of the rotated curves moving in two directions will now be previewed in model space. _The produced curve pattern can then be used to alter the referenced surface geometry through connecting the curves and surface to the script presented in section 02.04_Translating mesh vertices based on point, curve, and surface attractors. This instance of a workfow to replicate the project of study leverages the use of curve-based geometries to compose a pattern that augments the ground plane to provide a series of mounding typologies as a means to perform an infrastructural extension of the encompassed structure. While the pattern and output landform are representative of somewhat simple techniques, its positioning as a means to further the agency of landscape performing in multifaceted ways, engaging ecological and built systems, urges the use of such techniques in professional practice as an iterative method to achieve a highly functional landscape proposition. Figure 9.2.6 Resultant landform model previewed in model space with contours CHAPTER 09: CASE STUDIES PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS 133


09.03 _CONTEXT While the presented workf ows may not necessarily represent the exact operations utilized by the authors of the case studies, they portray outcomes that are analogous to the formal and performative goals of the case studies.These instances of computational modeling move past the notion that such scripting is merely a modeling exercise and instead become a means of investigation for spatial performance based on organization strategies.While there is an inherent aesthetic associated with each case study project, which perpetuates the view of parametrically designed landscapes to present a sense of generic representational embodiment, these projects offer that the output scenarios are resultant not of the tools of creation, but rather through the spatialization of parameters and considerations.The previous chapters explore the use of computational tools as means to generate, augment, calculate, and evaluate.Through the understanding that computational design has the ability to aid and align to traditional design processes, with the ability to further evaluate and validate, the output expressed formalization of performance negates the sense of generics. Computational processes and functions have the capacity to further the feld’s reach of addressing landscape phenomena that extend the traditional scope of the feld while strengthening typical modes of operation. 134 PARAMETRIC DESIGN FOR LANDSCAPE ARCHITECTS CHAPTER 09: CASE STUDIES


IMAGE AND CASE STUDY PROJECT CREDITS Imagery_Cover and chapters: 01–09 Andrew Madl Discussed projects_Chapter: 09 09.01_Pocket Park Rocheareal Kaiseraugst Designer: BRYUM Landscape Architects www.bryum.org/projekte/pocket-park/ 09.02_MAX IV Laboratory Designer: Snøhetta https://snohetta.com/projects/70-max-iv-laboratory-landscape _Software Rhinoceros www.rhino3d.com/ Grasshopper www.grasshopper3d.com/ ArcMap https://desktop.arcgis.com/en/arcmap/ _Plugin @it www.food4rhino.com/app/it Ladybug Tools www.food4rhino.com/app/ladybug-tools LunchBox www.food4rhino.com/app/lunchbox Nudibranch www.food4rhino.com/app/nudibranch Paneling Tools www.food4rhino.com/app/panelingtools-rhino-and-grasshopper Pufferf sh www.food4rhino.com/app/pufferf sh Weaverbird www.giuliopiacentino.com/weaverbird/ The publication presents the amazing above tools for educational and academic purposes.


INDEX Note: italic page numbers indicate fgures. A aesthetics 13, 66, 75, 84, 91, 92, 106, 134 agent-based models 117, 122–125; and creating attractor behavior 122–123, 122, 123; and generating agent movement 122–123, 122 Amplitude component 114, 127, 128 Angle component 55, 55 animal species 54, 57, 117, 122 annotation 1, 66, 67, 69–72, 71, 75, 78 arc geometry 130 Arc Toolbox 17 arc-seconds 16, 17 ArcMap 16–21;Attribute Table 18, 18, 22, 22; Boolean Toggle 19, 19; and CAD format 22; and contour data 22, 22; DataVis@ it component see Datavis@it component; GetValueofFeature input 20, 21; gridcode column 18, 20, 20, 21, 21; Imp@It component 19, 19, 20, 23; loading DEM data into 17, 17; point shapefles see point shapefles;Table of Contents 18 area calculations 59–60, 59 Area component 129, 130, 130, 132, 133; and cartographic representation 106, 106, 107, 108, 113, 113, 114; and FAR calculations 94, 94; and laser cutting 88, 88, 89, 90; and paving 77, 78; and runoff calculations 59, 60; and solar analysis 62, 62, 63; and urban morphology 98, 98 area metric 44, 59, 105–108 attractor algorithms see point/line attractors attractor dynamics 128–129, 128 attractor points 30, 31, 32, 37, 40, 41, 44, 44, 47 Attractor Values component 128, 129 Attribute Table (ArcMap) 18, 18 AutoCAD 78 Average component 59 B Bake (export) command 5, 21, 33 base geometry 16, 43, 58, 67, 69, 73, 84, 90, 126; creating 28, 28, 112–113, 112; mesh sub- 77–78, 77; and randomly populated points see randomly populated geometry; referencing 11, 43, 46, 101 base modeling 16–21; and constructing triangulated mesh 21, 21; and contour data 22; and DEM see DEM data; from contour data to surface see contour data to surface geometry, converting; and morphing geometry see morphing geometry to create feld condition; and point shapefles see point shapefles; and point/line attractors see point/line attractors; and translating mesh vertices see mesh vertices, translating base topographic models 16–21 block geometry 12, 100, 101 block typologies 92, 96, 97–100, 97, 98, 99; creating base grid for 97, 97; and grid visualization/ random split cell list 97–98, 97, 98; morphing to cell zones 98–100, 98, 99, 100 Boolean Toggle 19, 19, 109, 109, 113, 114, 129; and agent-based models 122, 123; and cellular modeling 119, 119, 120 boundary representation objects see breps Boundary Surfaces component 45, 45, 46 Bounding Box component 12–13, 24–26; creating 24–25, 24; and laser cutting 89, 90; scaling 25–26, 25; splitting surface with 26–27, 26, 27; and urban morphology 99, 99, 100 Bounds component 30, 31, 48, 48, 52, 52, 53, 53, 56; and cartographic representation 110, 110; and viewsheds 103, 103 Box geometry 2–5, 2, 3, 4, 5, 12 Box Morph component 100 Brep component 9 Brep Mesh component 77, 77, 78 breps (boundary representation objects) 2, 9, 11, 12, 34, 77, 83, 101; see also Split Brep component Bryum Landscape Architects see Pocket Park Rocheareal Kaiseraugst case study building information modeling 66, 75 C CA Evolver component 119, 119, 120 CAD 22, 51 Cap Holes component 83, 83 Cartesian coordinate system 1, 7 cartographic representation 105–116; and circular graphs see circular graphs; and index


geometry see index geometry; and point data values see point data values, visualizing Cell Components 120, 120, 121 Cell State component 120, 120 cell zones 98–100, 98, 99, 100 cellular modeling 117–122; application of parameters/running model 119–120, 119; and color values 118, 120; and “dead"/"alive” cells 117; and excitable medium 117; and generation of cells/cell types/states 118–119, 118; and vegetal growth dynamics 120–122, 120, 121 Cellulate component 43, 44, 47, 128, 129; and urban morphology 97, 97, 98 centroid point geometry 3 Circle CNR component 73, 73, 130, 130, 131; and circular graphs 112, 112, 113, 113, 114 circle geometry 73–74, 73, 74, 130–131 circular graphs 112–116; annoting/labeling/coloring 115–116, 115; importing data/generating base geometry for 112–113, 112, 113; and moving curve points/depicting data trends 113–114, 113, 114 clipping data 17, 22 Closest Point component 34, 37, 37, 41; and distance value calculations 30, 30, 47, 47, 48, 48; and slope 70, 71 CNC routing 80–81, 91 color gradient 53, 53 color ramps 16, 52 color values 51, 52, 56, 118, 120 coloring distance/length lines 103–104, 103, 108, 110–111, 110, 111, 116 Colour Swatch component 116, 118, 119, 121, 122 complex systems 117, 125 Compose Grid Number component 127, 128; and morphing geometry 43, 43, 44, 46, 47; and urban morphology 97, 97 Construct Domain component 30 Construct Mesh component 39, 39, 40, 53, 56 construction 66–79; and labeling of data 66, 67–68, 71–72, 71, 72, 74, 78; and planting plans see planting plans; and slope percentage 54, 55–56, 55, 56, 57, 69–72; and spot elevation see spot elevation Contour component 32–33, 67, 67; and digital fabrication 85, 85, 86, 88; and FAR calculations 94, 94 contour data 22–23; labeling 66–69, 67, 68 contour data to surface geometry, converting 22–27, 27; and attribute table 22, 22; bounding box, creating 24–25, 24; bounding box, scaling 25–26, 25; bounding box, splitting surface with 26–27, 26; creating surface 24, 24; dividing polylines into points 23, 23; importing shapefle/data into Rhino/ Grasshopper 23, 23 contour landform models 87–91, 87, 88, 89, 90 Control Points component 41, 42 cplane 3, 3, 11, 85, 89, 89 Cull Pattern component 57–58, 120, 121 cull slope values 56–58, 56, 57 Curve component 23, 33, 34, 40, 44–45, 87, 106 curve geometries 7, 7, 33, 43, 44, 67, 88, 91; and Control Points 42; fnding centre point of 90; and radial curves 130, 131–132, 131, 132, 133; and translation to point grid 106, 106–108, 106, 107 Custom Preview component 103, 103, 111, 120, 120 Custom State Confguration component 118, 119, 119 custom vectors 1–5; calculating 4, 4; and randomly populated points 12, 13; and translation to multiple points see translation operation D Data Recorder component 123, 124 data visualizations 51, 105, 108–112, see also cartographic representation DataVis@it component 19, 19, 21, 23, 23; PLine output 23;Va output 23 Decay component 127, 127 Deconstruct component 67, 68, 81 Deconstruct Domain component 53, 53, 56, 103, 103; and cartographic representation 110, 110, 111 Deconstruct Mesh component 36, 36, 37, 37, 38, 39, 39, 41; and 3D printing 81; and elevation values 52, 52; and slope values 54, 54, 55, 55, 56, 58; and sunlight 64, 64; and viewsheds 102 Degrees command 14 Delauney Mesh component 21, 111–112, 111 DEM (Digital Elevation Model) data 16–19, 24; converting to point shapefles 17–18, 17, 18; loading into ArcMap 17, 17; metrics 16 depressions 27, 33, 39, 40 digital fabrication 80–91; equipment/materials 80–81; large-scale 91, see also 3D printing; laser cutting Discrete Time component 119, 119, 120 distance values 30, 30, 37, 37, 38, 38, 47, 47; remapping 48, 48 Divide Curve component 23, 24, 33, 34, 40–41, 131, 132; and circular graphs 112, 113 Divide Length component 67 Divide Surface component 6, 7, 8, 47, 47; and block typologies 97, 97; and creating grid from INDEX 137


Click to View FlipBook Version