Groundhog

Groundhog is a plugin for Grasshopper, a visual programming and parametric design platform that runs alongside the Rhinoceros 3D modeller. As with most Grasshopper plugins, Groundhog provides a number of new components that offer users additional functionality or more convenient workflows. These new components are, for now, relatively simple methods for analysing or representing landscape features that are useful across a number of common scenarios.

In general, Groundhog provides two types of components. The first set provides components that implement common methods of landscape analysis, such as calculating slope, projecting surface water flows, or quantifying circulation metrics. These operations are able to be assembled using standard Grasshopper tools or through scripting, but offering them as discrete components makes them faster to deploy and more accessible to novice users.

The second set of components seek to extend the domain of Grasshopper into the different kinds of ‘geometry’ that underpin many landscape architectural tasks. In doing so it provides a kind of syntax that better enable parametric methods to be used to design landscapes. For instance, a series of components provide methods for creating or importing a planting palette, with the characteristics of each species then able to be passed to other components for creating planting plans or visualising species growth. As opposed to employing geometric primitives (such as circles/points) these components then allow for parametric logic to begin to be active used in planting design, such as controlling the proportions of each species or beginning to simulate the effects of each species on their surrounds (and vice-versa).

Unlike most other plugins, Groundhog also attempts to provide comprehensive background information about how to use its own components and how to use computational design methods in landscape architecture more broadly. To serve this end it provides a range of documentation (by way of its website) as both written articles and reference models/ definitions.

Most of the functionality and documentation it provided by Groundhog is not at the bleeding-edge of computational design practice. But neither is landscape architecture. While there are plenty of researchers, practices, and schools that are pushing the limits of design technology in our discipline there are few open, detailed, and accessible guides for understanding how they are doing so. Moreover, almost all online resources for learning Grasshopper assume architectural intent and impart skills or techniques that are poorly suited to the design of landscapes. Groundhog aims to address this gap and provide capabilities and an understanding of what computation is, how it works, and where it can be useful in landscape architecture.

It does so in three areas. The first, documentation, aims to thoroughly explain how its own components work and how they can be employed within a design context.

The second area — projects — details precedent landscapes that made use of computational methods during their design process. In addition to introducing how and why they did so, this area provides recreations of each project as a Rhinoceros model and Grasshopper so users can dig into the exact logic of the design.

Finally, the techniques area discusses broader strategies behind how computational methods can be used within the design process and how these applications relate to established theories and techniques in landscape architecture.

The Groundhog plugin and documentation is publicly available at groundhog.la and the source available on GitHub. The plugin is written in the C# language while the website is written in Markdown and compiled with Jekyll.