“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”.

AAD Grasshopper Parametric Manual Algorithms Aided Design ArturoTedeschi_book cover___________________________________________________________________________________________________________________

AAD_Algorithms-Aided Design  

Parametric Strategies Using Grasshopper®

Author: Arturo Tedeschi
Foreword: Fulvio Wirz (Zaha Hadid Architects)

2014 English Edition  –  ISBN 978-88-95315-30-0  Edizioni Le Penseur
17 x 24 cm – 496 Pages – Illustrated – Full Colour Book

amazon-buy-button-pngThe Book can be purchased on AMAZON.CO.UK which provides a worldwide shipping (select Le Penseur Publisher among sellers). The book is also available on Amazon.it, Amazon.de, Amazon.esAmazon.fr., Amazon.com. >SEE CUSTOMER REVIEWS<

The book “Algorithms-Aided Design” by Arturo Tedeschi 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.

Main topics:

  • Grasshopper environment and plug-in software
  • Parametric modeling and advanced data management
  • NURBS curves and surfaces
  • Meshes and Subdivision Surfaces
  • Digital fabrication techniques
  • Recursions
  • Form-finding strategies
  • Particle-spring systems
  • Topology Optimization
  • Evolutionary solvers
  • Environment-informed design


The book features step by step procedures relying on complete Grasshopper’s definitions, graphics and images. QR Codes allow readers to access complex Grasshopper algorithms via tablet/smartphone for a better visualization.

AAD Grasshopper Parametric Manual Algorithms Aided Design ArturoTedeschi_book cover 05___________________________________________________________________________________________________________________


  • 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: Hooke’s 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’s 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
  • Appendix
  • 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)
  • The CloudBridge
  • References
  • Decoded QR list



AAD Grasshopper Parametric Manual Algorithms Aided Design ArturoTedeschi_book cover 03

AAD Grasshopper Parametric Manual Algorithms Aided Design ArturoTedeschi_book cover 07b

About the author

Arturo Tedeschi is an architect and computational designer. Since 2004 he has complemented his professional career with an independent research on parametric design, focusing on relationships between architecture and digital design tools. He is the author of Parametric Architecture with Grasshopper, a best-selling book on parametric design, originally published in Italy and translated into English in 2011. He has taught at many universities, companies and institutions and from 2012 he is the co-director of the AA Rome Visiting School for the Architectural Association School (London). His work has been featured on a series of international magazines and exhibited in Rome, Milan, Venice, London and Paris. He has collaborated with leading architecture firms, including Zaha Hadid Architects, before setting up his consulting company A>T.

 AAD Grasshopper Parametric Manual Algorithms Aided Design ArturoTedeschi_book cover 02AAD Grasshopper Parametric Manual Algorithms Aided Design ArturoTedeschi_book cover 08b


Stefano Andreani (Harvard University), Antonella Buono (UARC University)Maurizio Degni (A>T), Lawrence Friesen(AA School, Oxford Brookes University), Andrea Galli (Carlo Ratti Associati), Francesco Lipari (OFL Architecture), Davide Lombardi (A>T, University of Pescara), Ludovico Lombardi (Zaha Hadid Architects), Arthur Mamou-Mani(Mamou-Mani architects), Alberto Pugnale (University of Melbourne), Antonio Turiello, Brian Vesely, Lorenzo Vianello (AA School, Oxford Brookes), Fulvio Wirz (Zaha Hadid Architects).


Hang With Us