Have you ever come across the term "Lemniscate" in mathematics or geometry before? If not, don't worry - I was in the same boat until I stumbled upon it recently while browsing a Rhino/Grasshopper forum. The mysterious name piqued my curiosity, so I decided to dig deeper to uncover the meaning behind this term and see if I could use Grasshopper for Lemniscate design.
Bringing Lemniscate Theory to Life in Grasshopper
After some research, I learned that Lemniscate is actually a mathematical symbol representing infinity. How cool is that? But I wasn't satisfied with just the theory - I wanted to understand how to actually generate a Lemniscate curve using Grasshopper. This required grasping parametric equations and Lemniscate curves more deeply, so I turned to ChatGPT for some assistance.
Here's a breakdown of how we can create a Lemniscate curve in Grasshopper:
- We'll need X and Y coordinate values, along with two variables - A and t
- A stands for the distance from the origin to where the Lemniscate intersects the determining axis, controlling the curve's size
- t is the range of numbers from 0 to 2π - more numbers here means more curve points
Armed with this knowledge, I jumped into Grasshopper and started creating the X and Y coordinate expression components, plugging in A and t instead of X and Y.

With the equation setup, I could connect my points to plot the Lemniscate curve. But I wanted to take things further and create an infinity symbol-shaped ramp using multiple Lemniscate curves. This required introducing Z coordinates equal to the number of points, with the Z range controlling the ramp height.
Crafting An Infinity Ramp with Lemniscate Curves
By playing with the Z coordinate numbers, I was able to shape a Lemniscate spiral ramp just how I wanted. But why stop there? I decided to take it up a notch and turn the spiral into a ribbon surface using horizontal lines perpendicular to the curve.
The key steps were:
- Generate horizontal frames using the T parameter
- Move points along the Y axis in both directions to set ramp width
- Unite the lines into surfaces
- Add side surfaces for a complete ramp enclosure
After refining the design, I ended up with an awesome infinity-shaped ramp perfect for marbles or toy cars! The whole process of discovering Lemniscate curves and using them to generate complex surfaces in Grasshopper was super rewarding.

Lemniscate Opens Up New Creative Possibilities
This tutorial showed us the creative potential unlocked by exploring abstract mathematical concepts like Lemniscate curves. I never would have imagined generating these intricate ribbon surfaces before diving into parametric equations. It gets my own design gears spinning thinking about how else Lemniscate and other math/geometry theories could be applied.
Final Thoughts
There are endless possibilities waiting to be discovered! We want to encourage anyone curious about parametric modeling to play around with Lemniscate curves in Grasshopper. You might be surprised what you can create. Let us know if you come up with any cool Lemniscate-inspired designs.
And if you want to go a step further, check out our extended tutorial simulating a full Marble Run on a Lemniscate ramp structure. I go into more modeling details there. You can find the tutorial on our Patreon page, and your support there allows us to keep making helpful parametric modeling content.
We hope this post gave you some inspiration on the creative potential behind Lemniscate curves. Let us know if you have any questions!
Grasshopper Complete Course
Give your architectural skills a boost with the Grasshopper Complete Course. Get over 50 hours of comprehensive Grasshopper training tailored for architects. Learn to generate and iterate designs faster. Click below for more information and streamline your workflows!