Wavy Structure Design: Fluid Forms with Rhino

Rhino's powerful NURBS modeling combined with Grasshopper's parametric design can open up a new world of possibilities for architects, designers, and makers. In this post, we'll look at a step-by-step tutorial for creating a visually striking wavy structure design using these tools.

Overview

The wavy structure design we'll build takes inspiration from Nuru Karim’s Bookworm installation in Mumbai, India.

Nuru Karim’s Bookworm installation in Mumbai, India
© Sameer Chawda

By following along, you'll learn techniques for:

  • Creating curves from points with interpolation
  • Mirroring geometry along a plane
  • Offsetting curves and lofting to create surfaces
  • Trimming/splitting surfaces using intersection planes

Understanding these core concepts will give you a foundation for taking parametric modeling to the next level. Let's dive in!

Wavy Structure Design: Initial Setup

We start by drawing a simple line in Rhino that will act as the base curve. After dividing this line into segments, we'll extract perpendicular vertical lines from each point.

The key is using the Perpendicular Frame command to get the plane at each point, then pulling out the X direction vector. We can then generate vertical lines of a defined length.

Next, we'll evaluate each vertical line into a curve using Graph Mapper and a sine wave function. Connecting the points gives us our first wavy profile curve.

Wavy Structure Design: Initial Setup

Mirroring and Offsetting

To translate the single wavy curve into our full 3D structure, we need to mirror it and create an offset duplicate.

The mirror plane uses our initial line to define the first direction and the vertical vectors for the second. This mirrors our curve to create the wavy profile on both sides.

After flattening the list of curves, we offset each one vertically based on the planes generated earlier. Adjusting the slider gives control over the offset distance.

Mirroring and Offsetting a duplicate

Lofting and Splitting

Now we have our full set of wavy curves, we can loft between them to create the surfaces.

While the model is really taking shape, the ends of the surfaces aren't quite right yet. We want clean horizontal edges on the top and bottom.

To achieve this, we get the endpoints of the curves, build intersection planes, and split the surfaces along these new dividing lines.

After trimming away the unneeded pieces, we're left with the clean wavy structure as desired!

Finished Wavy Structure

Key Takeaways

The wavy structure design process demonstrates several important concepts:

  • Curve interpolation to generate wavy paths
  • Mirroring for quick duplication
  • Offsetting and lofting to build surfaces
  • Precision splitting tools

Following along with this tutorial is a great way to get hands-on experience with core parametric modeling techniques in Rhino and Grasshopper.

The end result is an undulating, organic structure with lots of potential for complex variations. Try experimenting with different input curves and parameter tweaks to make it your own!

More Resources

To get the complete Grasshopper definition and assets used in this tutorial, check out our Patreon page.

As always, feel free to leave any questions in the comments below!

Grasshopper Complete Course Package

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!

Dušan Cvetković

Written by

Dušan Cvetković

Dušan Cvetković is a professional architect from Serbia and official Authorized Rhino Trainer with international experience in the industry. Collaborated with numerous clients all around the world in the field of architecture design, 3D modeling and software education. He's been teaching Rhinoceros3D to thousands of architects through How to Rhino community and various social media channels.