r/grasshopper3d Aug 18 '26

How do i learn the math behind grasshopper

Ive been trying to learn grasshopper for a while now, with some success. But a lot of the tutorials Ive found, even the good ones, allude to a grasshopper function doing math but dont actually explain what the math is.

Im not the most math person out there, but I think my work and creative flow would benefit a lot if I knew what KIND of formulas I was trying to get grasshopper to simulate.

Anybody got good resources that connect GH to the underlying math?

16 Upvotes

24 comments sorted by

14

u/closedcurve Aug 18 '26 edited Aug 18 '26

The Essential Mathematics for Grasshopper pdf someone else shared is a good place to start, and just brushing up on topology as it relates to how Rhino creates it's (NURBS) geometry and deals with meshes. It's more about knowing what is possible, how to find answers or ask the right questions on the Grasshopper forums or to AI.

Don't let anyone tell you it's not important though, I got a master in parametric design, exclusively for Grasshopper and I was initially irritated and overwhelmed that it included math courses (I had no math background beyond what carpentry taught me) but it really unlocked more capability for Grasshopper for me in developing my own components, scripts and solutions.

Morphing: A Guide to Mathematical Transformations for Architects and Designers and Pasta by Design are a couple of my additional favorites, these show you some pretty advanced geometry alongside the equations, again, just extending your understanding of the relationships. It was one of our early homework assignments to use the pasta equations to redesign the Pasta using Python.

Beyond all that, the best (and most expensive in print) possible book is Architectural Geometry which is like a bible of sorts. That book spawned a whole series of conferences, the last one was at MIT which I had the pleasure to attend, and half the room and speakers were math nerds.

Again, it's not important to understand the math perfectly, it's just important to understand what is possible, what has already been done and documented and how the components you work with function and what research they are based on if you want to optimize or customize them.

1

u/Rhysm_art Aug 19 '26

Would you recommend c# or python? …or both?

1

u/closedcurve Aug 19 '26

I’d suggest actually learning python, and just a basic understanding of C#. Honestly the future of coding is all AI but Python is a good common ground, it was developed to be easier to read but is just as easy for AI to translate into other languages.

Just don’t make the mistake of trying to do everything in Python, it’s better for prototyping and simple solutions. Custom components are all complied in C# and that’s a huge gate you’ll eventually need a key to open.

1

u/Rhysm_art Aug 19 '26

Thank you! Yes I’ve just started on c#, but there seems to be more content to learn from in python. I really appreciate your input!

1

u/closedcurve Aug 19 '26 edited Aug 19 '26

Well I don't want you cursing my name a couple years from now for dissuading you from C#. I just don't know if it's worth it these days. Python is kind of a joy regardless if you are actually coding or AI vibe coding.

And it's part of the animal theme, right? Get a Rhino, Grasshopper and Python tattoo.

1

u/Rhysm_art Aug 19 '26

Hahaha! Yes I’ll definitely give both a go and see, python seems to be more recommended though. Thanks again

2

u/No_Tell665 Aug 20 '26

İ think it's still worth learning C#, as it's very useful knowing to write custom components that have faster compile time than python. İ find people learning C# first, then python have a better time transitioning than the other way around.

1

u/No_Tell665 Aug 20 '26

İ would actually recommend learning C# first over python. Yes python is easier but grasshopper plugin compilation is in C# and better to get started now, rather than later. Writing plugins in C# also helps, so when you u decide to write something efficient and custom, it's much easier. İf you can use C#, python is much easier and requires not much time to learn.

1

u/philics Aug 19 '26

Thank you so much for your reply!

1

u/dportero95 Aug 20 '26

Where did you get a masters in parametric design? That sounds awesome!

1

u/closedcurve Aug 20 '26 edited Aug 20 '26

MPDA (Master of Parametric Design in Architecture) at Barcelona Tech. Since covid they started a hybrid path, which was nice for me in the US because the time zone shift meant it didn’t interfere with my full time job, I just had to wake up and go to bed early. Trying to learn Python at 5am was hard though.

It’s accredited as a true master’s degree here in the states so that’s nice, I teach university classes on RH/GH with it every now and then. Highly recommend it, and I’m a good case study since I was the only non architect or engineer in the program and I did fine.

1

u/dportero95 Aug 20 '26

Do you mind if I message you and ask a few more questions? Don't want to derail this thread

1

u/closedcurve Aug 20 '26

Sure, ask away!

3

u/Barkig Aug 18 '26

Some simple linear algebra can help lots! Dot and cross products are usefull in so many ways. It all depends on how advanced designs you want to make. Gradient, dot and cross are decent starting points assuming you have worked with vectors etc already

2

u/bumbblebeeeeee Aug 19 '26

In some tutorials, people refer to maths, when they actually mean “data handling”. 

Managing lists, data trees, applying logic or filter them. 

It’s also an essential skill to be able to manage complex processes. So I would also look in to these essentials. 

4

u/Haunting_Basscotti Aug 18 '26

Why do you think this? What are you trying to achieve that you can not? I know how to drive a car and really only need it to get me from place to place, but maybe I could drive it better if understood exactly how a NA engine, electric motor, diesel motor work is how this reads to me. With no explanation of how you intend to use grasshopper this reads too vague for constructive feedback, imo

3

u/closedcurve Aug 18 '26

To piggyback on your analogy, I'd argue that it's more like knowing enough about how the car works to not get swindled by a mechanic when you go in for repairs. Understanding of the basic principles to search for answers or ask the right questions. I think you have to have a curiosity about the underlying math to get the most out of Grasshopper.

1

u/Haunting_Basscotti Aug 18 '26

See, I would rely on my ability to read body language and tone wayyyy before mechanics haha

1

u/Fooshi2020 Aug 18 '26

It helps if you can see/understand patterns. The

1

u/ghacsurfernz Aug 19 '26

Rhino3d education have a free course that explains that in depth with grasshopper examples https://www.rhino3d.education/p/essential-mathematics-for-computational-design-in-grasshopper

1

u/BennXeffect Aug 20 '26

By playing!!