
Install Rhinoceros and enable Grasshopper, the Rhino plug-in, to start working. Rhino 6 for Windows includes Grasshopper; Mac is in development, and Rhino 5 users may need a separate install.
Explore grasshopper’s node-based, parametric workflow where inputs feed processing nodes to produce outputs with no data reduction, while changes on inputs instantly update the geometry.
Discover the grasshopper interface and its link to Rhino, including the canvas, hosting program, and plugins, while learning to manage projects and navigate commands.
Create a point in Grasshopper with the construct point component, wiring x y z inputs from panels and using curly-bracket formatting. Explore containers and naming to manage coordinates.
Save and open Grasshopper projects with the proprietary .gh file, via save, open, or drag-and-drop; customize display to show icons or text and full input names like x, y, z.
learn to compute the average point among multiple points in Grasshopper by deconstructing coordinates, summing them, and dividing by the point count, using both manual and built-in average methods.
Reference and manipulate points between Grasshopper and Rhino to construct coordinates, deconstruct points, project them onto the x y, x z, and y z planes, and build dynamic lines.
Build a dynamic sine wave in Grasshopper by generating a list of points, applying sine and cosine to coordinates, and drawing a poly line with controllable wavelength, amplitude, and sliders.
Create a traveling sine wave along a curve using vector-based move operations in grasshopper, generating points on the curve, applying a sine-based vertical displacement, and adjusting amplitude.
Learn to build a helix in Grasshopper by forming points and lines, moving them vertically, and rotating around a vertical axis with incremental angles to create boundary spirals.
Create a Möbius project in Grasshopper by rotating lines along a curve to achieve 180-degree and 360-degree relationships, using planes, domains, and list operations.
Explore grasshopper planes as coordinate systems by setting an origin and the x and y axes to control orientation, then place circles on these custom planes.
Define one-dimensional domains and subdivide them with the range component to generate multiple values. Use domain-driven angles to rotate geometry around 360 degrees, creating points and a polygon.
Learn to generate perpendicular frames along curves in Grasshopper using domain and length concepts, and compare dividing curves by domain versus by distance.
Explore Grasshopper curve creation from reference points, comparing polyline and interpolate methods, and using busier curves with degree control to shape smoothness and point order effects.
Explore Grasshopper data trees, distinguish singular items, lists, and lists of lists with branch depth, and visualize flattening and simplification shaping data into polylines.
Explore a Grasshopper workflow where circles on a grid adjust their radii based on distance to an attractor point, with cell size and curve proximity driving size.
Compare surface, brep, and mesh representations in Grasshopper, create plain and curved surfaces, and convert to meshes; follow best practice to model as a surface or brep before meshing.
Explore two bridge designs in Grasshopper, from a Parliament-style, strictly controlled model to a more complex geometry, and learn how algorithms drive two design strategies.
Create two supports in Grasshopper using center and rectangle box primitives on a chosen plane, manipulating x y z domains and mirroring to build a dynamic, symmetric bridge structure.
Create a road by placing points on a box, forming a line between them, mirroring it, and lofting curves into a smooth surface with Grasshopper loft components and options.
Create pillars by moving starting points vertically, connect them with lines, then pipe the curves with a chosen radius and flat caps to complete the parametric suspension structure.
Organize a growing grasshopper script by grouping components, naming groups, and labeling with scribble, then align and distribute controls for clear, centralized, readable workflows.
Generate vertical cables in Grasshopper by dividing curves, removing endpoints, projecting points onto the road plane, and linking bottom and top points with lines, controlled by a slider.
Build diagonal cables in Grasshopper by organizing pillar and road points with data trees, partition lists, and flip matrix, then use cross-reference to connect all points.
Identify diagonal cables that overrun the category, evaluate points on the curves to check above or below, then keep the ones below via a dispatch.
Learn to create and control bridge guide ropes, or guy ropes, by modeling top points, translating vectors, organizing data trees, and wiring cables and controllers to steady the structure.
Explore building a second bridge in Grasshopper by turning road edges into arc supports, selecting edges, and generating correctly directed start arcs using data trees.
Control tunnel arcs in Grasshopper by manipulating tangent vectors and a graph mapper; explore parabola, domain, and step-based outputs to shape multiple arcs.
Divide lofted surfaces into panels using domain subdivision, curve splicing, and subsurface extraction in Grasshopper, with sliders controlling UV domains and evaluation of surface points.
Master triangular panels by partitioning data into chunks, selecting by branch and index, and validating planarity with a data tree-guided, triangle-based surface construction.
Learn to manage data trees and offset curves in Grasshopper, using merge, sets, and text concatenation to drive per-panel offset operations with proper planes, ensuring input-output tree alignment.
Explore random offset for curve offsetting using a range domain and seed, generating per-branch values with a flattened data tree, then use tree and match tree to align branches.
Move offset planes along their normal vectors and loft the resulting curves to form surfaces. Learn to use data trees, sliders, and fillets while optimizing performance by toggling loft.
Learn to build voronoi diagrams in grasshopper by using circle intersections, points, and midlines to create 2d cellular divisions, and extend to 3d with triangulation, population, and convex hull boundaries.
Discover a flexible algorithm that converts any form into a waffle structure by interlocking perpendicular plane cutouts, which you can assemble with cardboard or a laser cutter.
Create a bureau up object, set real-world units, build a bounding box, deconstruct domains, and generate planes to cut the model into panels in Grasshopper step 1.
Feed the box center as the reference position by averaging domain coordinates, then generate planes in two separate, direction-specific flows that execute the same operations.
Copy the object, cut it with planes using intersection. Use the cup holes component to close open curves, then feed the planes into surfaces to form the final faces.
Learn how to compute intersection lines between vertical and horizontal surfaces in Grasshopper, manage data trees, and simplify results by shifting paths to produce two cohesive intersection sets.
Split the intersection curves into two subcurves using the sub curve component with domains 0 to 0.5 and 0.5 to 1, then copy the pieces while preserving the tree structure.
Extrude horizontal and vertical planes to form solids, using a 5 millimeters thickness for cardboard. Align the center by moving along the y-axis with a minus half-thickness expression.
Students convert curves into rectangular tubes, place perpendicular frames at start and end, loft the tubes to form recesses, and extend curves to guarantee clean cuts from the planes.
Align tubes with planes in Grasshopper to ensure clean solid difference and consistent hole placement, by matching curve directions and trimming tree structures.
Extract curves by intersecting planes with a cone to create printable laser-cut curves, using dispatch patterns and precision tolerance to ensure accurate results.
In this step, learn to orient and distribute 15 closed curves on a floor grid, compute centers, generate vectors to position them, and add labeled 3d text for print-ready assembly.
Apply rigorous quality checks to a grasshopper waffle algorithm by testing with varied inputs, diagnosing intersection issues, and adjusting planes and steps to ensure robust results.
Explore how the cluster object is configured in the willful structure algorithm, including area filtering, extension options, plane handling, and saving a custom component with proper input/output naming.
Explore the final review of the algorithm in Grasshopper, examining clusters, plane-based coordinates, curve and surface generation, and text placement with quality checks.
Learn Grasshopper from scratch and develop your skills in algorithmic modelling through step-by-step detailed explanations of the logic and practice behind the powerful platform.
The structure of the course is not by components (one lecture per GH node or function) but instead it's a continuous flow where you will gradually gain knowledge about the interface, functions and best-practices.
This course is a consolidation of theory and practice that are both required for making strong and useful algorithms.
New interesting projects will be added to the course over time so stay tuned and welcome to the magnificent world of Grasshopper.
Music credits: Bensound
Image credits: Freepik