In digital design, patterns and sequences lay the groundwork for sophisticated outputs. The Series component in Grasshopper is a fundamental tool that streamlines this process, generating a sequence of numbers to enhance precision and predictability in your designs.
In this article we’ll cover how to use it and walk through a real-life application example.
Let’s dive in!
Adding the Series component
Let’s start with the basics – adding the component to your script. You can find the ‘Series’ component in the ‘Sets‘ component tab, in the ‘Sequence‘ group. Select it and click anywhere on the canvas to add it to your script.
If you prefer to use the component search bar, simply double-click on the Grasshopper canvas where you want the component to be placed, and type “series” into the search bar. Then click on the first result to add the component.
The Series Component – Inputs and Outputs explained
The Series component will generate a, you guessed it, series of numbers. We can control three aspects of the series: the starting number, the increment from one number to the next, and the count of numbers.
In the example below, I defined the Start (S) of the Series as 10, the Step Size (N) as 2.00, and the Count (C) as 5. This results in the following output, presented as a list.
10, 12, 14, 16, 18
When to use the Series component
Use the Series component whenever the most important part of the generated numbers is the step size.
Series in Grasshopper – Step-by-Step Tutorial
Now when would we use the Series component? Here is a practical application example:
Let’s say we’ve written a script that generates a number of stacked floors of a tower, and we now want to apply an incremental rotation to each floor. We are most interested in controlling the increment of the rotation in this case, so the Series component is perfect for this.
Basic Script Setup
In the basic setup below, I have a set of floors as well as their center points already prepared. Since we want to rotate the tower segments, the first step is to add a ‘Rotate‘ component.
We want to specify the rotation in degrees, but the ‘Rotate‘ component’s rotation input requires the rotation specified in radians. To solve that I also added a ‘Radians‘ component. This component will convert values provided as degrees to radians.
I already connected the geometry to rotate, the tower segments, as well as their respective rotation center points.
Generating Increments with the Series Component
All that’s left now is to specify the incremental rotation with the Series component.
Let’s add the Series component. We can leave the Start (S) input of the Series at the default of 0. That way the first floor will not be rotated.
We want to generate as many rotation values as we have floors, so let’s get the number of floors with a ‘List Length‘ component, and connect that value to the ‘Count (C)‘ input of the Series component.
We now get a Series of numbers starting at 0, with the default Step Size (N) or increment of 1, and a count of 10 values. Each tower segment is now rotated incrementally by 1 degree, as shown in the preview.
Let’s add a Number Slider to adjust the Step Size, or increment – our rotation angles in degrees.
We can now control the rotation of the tower segments!
Using the Series component means that while we are able to control the start, increment and count of values generated, we don’t have direct control of the final number – it is simply a result of our specified values. If we want to have control over the start and end value, it’s best to use the ‘Range‘ component.
Concluding thoughts
In conclusion, the Series component in Grasshopper is an indispensable component in algorithmic design, particularly for tasks requiring sequenced or incremental logic. Its ability to create ordered numerical sequences with controlled increments is invaluable in projects ranging from simple repetitive patterns to complex adaptive systems.
Want to improve your Grasshopper skills quickly and explore even more advanced techniques? Don’t miss out on Grasshopper Pro, our comprehensive online course tailored for architects. Fast-track your learning journey and unlock the full potential of algorithmic design to level up your design workflow!
Happy designing!