The Best Way To Master Grasshopper Is To Learn by Doing

Hi there,

Now that we have taken a looked at all the basic geometry types that rhino has to offer, we have a pretty rough understanding of what Rhino does under the hood to create and manipulate geometry.

As essential as these things are, it does not teach us how to use Grasshopper/Rhino. It does not tell you which component to use or how to approach modeling using the program. Because Grasshopper/Rhino is so flexible and overwhelming at the start, I think the most effective way to master this program is to learn by doing.

Which is to strive for gaining more experience with modeling and using the program itself instead of trying to understand every little feature of the software. It is better to get our hands dirty and just start modeling.

How I would like to help with that is to provide a wide variety of models and modeling tutorials to hopefully give some direction and help you gain some experience. Not to mention, I have also found that watching someone else more experienced go through their own process is another effective way of learning.

I still don’t think I am an expert in Grasshopper/Rhino but I have used it almost every day of the past 2-to 3 years now and would like to share my mindset, thinking, and experience to help teach people more about computational design.

We will start all of this next week, so for now, here is a summary of the 5 types of geometry found in Rhino itself.


Points are virtual dots that exist in the 3D virtual space. They are generally referred from the origin (0,0,0) of the modeling software.

Figure 1: points in space

While they are referenced from the origin, they don’t always have to be created from the origin. Rhino and Grasshopper offer a variety of ways to create points without having to manually type in the 3D coordinates themselves.

For example, creating points using the Plane Oriented component in Grasshopper lets a user create a point that another reference plane that isn’t the world plane. It lets users create points without having to worry about the origin of the model.

Figure 2 : Plane Oriented creation

note: the red line is what the component created, the black line is the actual creation of the point that you don’t have to worry about.

Read more about points in this edition of the Newsletter.


We then move on to curves which are the connections that exist between points.

Figure 3: Curves

These connections between points can be adjusted depending on the degree of the curve itself. These are then known as the control points of the curve. Depending on the degree of the curve, the curve may not touch the control point itself.

Not to mention, curves as a whole are treated differently in Grasshopper depending on their shape. This is all to help us better handle the curves better when we are modeling.

Figure 4: The Different Types of curves

Read more about curves in this edition of the Newsletter.


As Curves are the connection between points, surfaces are the connection between curves.

Figure 5: Surface Definition

All surfaces in Rhino are made of two curves, one in the U direction and another in the V direction. These are known as surface isocurves.

There are two kinds of surfaces in Rhino, trimmed and untrimmed surfaces. An untrimmed surface is a surface that has control points that meet it’s vertices.

Figure 6: Untrimmed Surface

however, a trimmed surface is a surface where the control points don’t meet the vertices. So, if I split the rectangular surface by a curve, you can see that the control points of the surface do not change accordingly.

Figure 7: Trimmed Surface

This I think is because Rhino tries to reduce the amount of processing done on surfaces by keeping the same amount of control points. It allows Rhino to just hide the sections of a surface without having to redefine the surface.

Read more about surfaces in this edition of the Newsletter.


B-reps are then another extension to surfaces that give you the ability to especially group multiple surfaces together and treat them as a single solid object. Which unlocks the ability to perform solid operations.

Figure 8: Solid operations

Rhino even lets us perform edge operations that are normally only available to solid objects.

Figure 9: Edge Operations

Read more about B-reps in this edition of the Newsletter.


Then we come to the last geometry type which is a tangent from what we have seen so far. So far, everything that we have seen has been built on top of each other. Like how points are the foundation to curves and curves are the foundation to surfaces. With meshes, we take a bit of a side step.

Figure 10: The Geometry Path

Meshes are created as a more efficient data type compared to surfaces and B-reps. Where B-reps and surfaces keep their mathematical representation, meshes need to only store their points and connectivity data.

Figure 11: Mesh Data

However, as efficient as meshes are, they are much harder to create and manipulate. And because they are strictly made from lines, they cannot represent smoothness as well as a B-rep. In fact, creating high-quality meshes is a whole art in itself.

Read more about meshes in this edition of the Newsletter.

Final Thoughts

So that was a brief overview of the basic types of geometry that rhino has to offer which I have covered in more detail in the previous editions of this newsletter.

In the next one, we are going to be creating our first model in Grasshopper by creating a twisted tower which should get us a bit more experience with Grasshopper.

If you liked what you read, consider subscribing to the Newsletter at no cost at all. I am on a mission to help people learn more about all things computational.

but as always, thanks for reading,


P.S I also made a Youtube video explaining this post

Originally published at on March 15, 2022.



Connecting the world of geometry, programming, and engineering. Come learn about this hidden world that lives in plain sight.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store

Engineer. Programmer. Computational Designer. Currently in Sydney.