Algorithmic design is not simply the use of computer to design architecture and objects. Algorithms allow designers to overcome the limitations of traditional CAD software and 3D modelers, reaching a level of complexity and control which is beyond the human manual ability. Algorithms-Aided Design presents design methods based on the use of Grasshopperά a visual algorithm editor tightly integrated with Rhinocerosά the 3D modeling software by McNeel & Associates allowing users to explore accurate freeform shapes. The book provides computational techniques to develop and control complex geometries, covering parametric modeling, digital fabrication techniques, form-finding strategies, environmental analysis and structural optimization. It also features case studies and contributions by researchers and designers from world's most influential universities and leading architecture firms.
- Grasshopper environment and plug-in software;
- Parametric modeling and advanced data management;
- NURBS curves and surfaces;
- Meshes and Subdivision Surfaces;
- Digital fabrication techniques;
- Form-finding strategies;
- Particle-spring systems;
- Topology Optimization;
- Evolutionary solvers;
- Environment-informed design.
Foreword by Fulvio Wirz (Zaha Hadid Architects)
Introduction; AAD Algorithms-Aided Design from traditional drawings to the parametric diagram; An Additive Process; From conventional drawing to the analogue (smart) apparatus; Parameters: from additive to associative logic; Algorithmic modeling; The parametric diagram as a smart medium
1_Algorithmic modeling with Grasshopper; 1.1 Prerequisites and installation; 1.2 Grasshopper user interface; 1.2.1 Component tabs; 1.2.2 Working area: canvas; 1.3 Components and data; 1.3.1 Local setting of data; 1.3.2 Wired connection; 1.3.3 Warning and errors; 1.3.4 Setting from Rhino; 1.4 Save and bake; 1.5 Display and control; 1.6 Grasshopper flow; 1.7 Basic concepts and operations.
2_data | how to manage data in Grasshopper; 2.1 Filters; 2.1.1 List Item: select one item from a list; 2.1.2 Cull Index: select all data except one item; 2.1.3 Cull Pattern: select items using a repeating model; 2.1.4 Shift List: offset Data in a list; 2.1.5 Split List/List Length; 2.1.6 Reverse List; 2.2 Numerical sequences; 2.2.1 Series; 2.2.2 Data Matching; 2.2.3 Repeat Data; 2.2.4 Random/Construct Domain; 2.2.5 Range; 2.3 Mathematical Functions; 2.3.1 Functions of one variable; 2.3.2 Functions of two variables; 2.4 Conditions; 2.4.1 Logical operators/Boolean values; 2.4.2 Conditional: If/Then; 2.4.3 Other operators: Contains; 2.5 Remapping numbers/Attractors; 2.5.1 Attractors.
3_control | curves and surfaces in Grasshopper; 3.1 NURBS curves; 3.2 Parametric representation of a curve; 3.3 Analysis of curves in Grasshopper; 3.3.1 Finding points on a curve: Evaluate Curve component; 3.3.2 Inverting direction: Flip Curve component; 3.3.3 Finding points on a curve: World to Local conversion; 3.3.4 Finding points on a curve: Point on Curve component; 3.3.5 Finding points on a curve: Evaluate Length component; 3.3.6 Dividing a curve: Divide Curve component; 3.3.7 Dividing a curve: Divide Length component; 3.3.8 Dividing a curve: Divide Distance component; 3.3.9 Dividing a curve: Contour component; 3.3.10 Splitting a Curve: Shatter component; 3.4 Notion of Curvature for planar curves; 3.5 Parametric representation of a surface; 3.6 Surface creation; 3.7 Analysis of surfaces using Grasshopper; 3.7.1 Finding points on a surface: Evaluate Surface component; 3.7.2 Finding points on a surface: World to Local conversion; 3.7.3. Inverting direction: Reverse Surface Direction component; 3.7.4 Extracting Isocurves: Isocurve component; 3.7.5 Dividing a surface: Divide Surface component; 3.7.6 Splitting a surface: Isotrim component; 3.7.7 Strategy: uneven splitting; 3.7.8 Decomposing a surface: Deconstruct Brep component; 3.7.9 Splitting a surface using generic curves: Surface Split component; 3.7.10 Diagrid; 3.7.11 space frame; 3.7.12 Grid of equidistant points on a generic surface: the Chebyshev net method; 3.8 Notion of Curvature for surfaces; 3.8.1 Gaussian Curvature/developable surfaces; 3.8.2 Sign of Gaussian Curvature; 3.8.3 Mean Curvature; 3.8.4 Strategy: developable test; 3.8.5 curvature pattern
4_transformations; 4.1 Vectors; 4.2 Euclidean transformations; 4.2.1 Translations: Move component; 4.2.2 Rotations: Rotate and Rotate Axis; 4.2.3 Orient component; 4.3 Affine transformations; 4.3.1 Scale component: uniform scaling; 4.3.2 Graph Mapper component; 4.3.3 Image Sampler component; 4.4 Other transformations: Box Morph; 4.4.1 Paneling.
5_skins | advanced data management; 5.1 Manipulating the Data Tree; 5.1.1 Flatten Tree; 5.1.2 Unflatten Tree; 5.1.3 Graft Tree; 5.1.4 Flip Matrix; 5.2 Skins; 5.2.1 Rectangular based pattern; 5.2.2 Hexagonal based pattern; 5.2.3 Further study: responsive facade (Aedas ADIC headquarter); 5.2.4 Weaving; 5.3 Sorting strategies using Data Tree
6_smoothness; 6.1 NURBS and Polygon Meshes; 6.2 Polygon meshes_6.2.1 Geometry and topology; 6.3 Creating meshes in Grasshopper; 6.3.1 Creating meshes by topology; 6.3.2 Creating meshes by triangulation: Delaunay algorithm; 6.3.3 Creating meshes by a NURBS to mesh conversion; 6.4 SubD in Grasshopper: Weaverbird plug-in; 6.5 Subdivision of triangular meshes: Loop algorithm; 6.6 Subdivision of quadrangular meshes: Catmull-Clark algorithm6.6.1 Voronoi skin; 6.6.2 Fading pattern; 6.6.3 Strategy: cull adjacent faces. Digital informing creativity by Ludovico Lombardi (Zaha Hadid Architects).
7_loops; 7.1 Loops in Grasshopper: HoopSnake component; 7.2 Fractals; 7.2.1 Serpentine Pavilion iteration; 7.2.2 Tridimensional fractals; 7.3 Loops in Grasshopper: Loop component (text by Antonio Turiello).
8_digital fabrication | make ideas come true; 8.1 Fabrication Techniques; 8.1.1 Bidimensional cutting; 8.1.2 Subtractive techniques; 8.1.3 Additive techniques; 8.2 Modeling Printable Objects; 8.2.1 Main characteristics of a printable object; 8.2.2 Parametric modeling of a freeform vase; 8.3 Modeling objects for cutting based operations; 8.3.1 Sectioning and waffling; 8.4 NU:S Installation (text by Antonella Buono); 8.5 Large-scale objects. Over the material, Past the Digital: Back to Cities by Stefano Andreani (Harvard University)
(Digital) Form-finding by Alberto Pugnale (University of Melbourne).
9_digital simulation | particle-spring systems; 9.1 Kangaroo plug-in; 9.2 Kangaroo workflow; 9.3 Cable simulation; 9.3.1 Continuity; 9.4 Elastic behavior: Hookes law; 9.5 Catenary simulation; 9.6 Membrane simulation; 9.7 Shell behavior. Form as Unknown ֠Computational Methodology and Material Form Generation in the AA Rome Visiting School Workshops by Lawrence Friesen and Lorenzo Vianello.
10_evolutive structures | topology optimization (text by Davide Lombardi); 10.1 Shape Optimization; 10.2 Topology; 10.3 Topology optimization; 10.4 Works; 10.4.1 Akutagawa office building; 10.4.2 TAV station in Florence; 10.4.3 Qatar Education City; 10.4.4 Radiolaria; 10.5 Examples; 10.6 Optimization: finding solutions with Grasshopper; 10.6.1 Optimization problems; 10.2 Exact solvers: Goat plug-in; 10.6.3 Evolutionary solvers: Galapagos.
11_environmental analysis (text by Maurizio Degni); 11.1 Tools; 11.2 GECO and Ecotect; 11.2.1 Interface; 11.2.2 Link and export; 11.2.3 Analysis grid and mesh analysis; 11.2.4 Calculations; 11.2.5 Feedback/import; 11.3 About GECOӳ components _11.4 Solar diagram and shadows_11.4.1 Responsive skin; 11.5 Exporting geometries and importing data; 11.5.1 Exporting geometries from Grasshopper to Ecotect; 11.5.2 Importing data from Ecotect; 11.6 Insolation analysis; 11.6.1 Positioning of photovoltaic panels; 11.7 Analysis Grids; 11.8 Light Control; 11.8.1 Visual comfort of a room; 11.8.2 GECO + Galapagos, visual comfort optimization.
Afterword_Post Digital Strategies Pragmatic computation in Grasshopper by Brian Vesely
I am City, we are City by Francesco Lipari (OFL Architecture)
Parametric Urbanism: a New Frontier for Smart Cities by Paolo Fusero, Lorenzo Massimiano, Arturo Tedeschi, Sara Lepidi
Tools and methods for parametric urbanism by Andrea Galli (Carlo ratti Associati)
Playful computation How Grasshopper3D & its Plugins increased my creativity with five project examples by Arthur Mamou Mani (Mamou-Mani Architects)
Decoded QR list