How to alter /control different in height of the curve

Hi all,
I am a beginner on Rhino grasshopper. I learn to built this based on the tutorial video by Mr David Rutten. Is there any way to alter or change the parameters of height and width in my design?
What parameter or input that i need to use to control the height ?

Thanks for your help :slight_smile:

trial rebuilt 2202.3dm (2.0 MB) trial rebuilt (9.8 KB)


Welcome @cyas_22,

In Grasshopper, as in life, many roads lead to Rome! That being said, David’s definition doesn’t seem to be geared towards precise heights, but has great randomness.

You should also note that by using the BiArc component, the height of each arc is equal to its width. This means that your arc height is here equal to the distance between two end points divided by 2.

One way to control the arc heights without losing too much of the random appeal, is by using attractor points (green).

The closer a division point is to one of these points the closer the resulting height is to a maximum height value, and vis versa.

You can control many aspects of this definition (e.g. number of attractors, randomness, transitions, heights, etc.) and all arc heights are between a minimum and maximum height value! Feel free to experiment a little. (21.5 KB)


Having your geometry so very far from the origin can cause problems.


Curves are internalized in this model, no need for Rhino file. (20.0 KB)

Play with all three sliders and the Graph Mapper controls to make changes.

1 Like

Hi, Thank you @Joseph_Oster & @diff-arch for the explanation in solving the issue.

I have rebuild the arc instead of using BiArc component in order to achieve control individual arc height.
Follow tutorial from Grasshopper Attractor - Weaverbird - YouTube

somehow i fail to connect the unit z with different factors, still fail to control individual arc height with designated height. Any solution?

Thank you.


build this with individual arc, able to control individual arc height but somehow i cant sweep curve to make a surface. (15.9 KB)

No, NO! That is not the way to use Grasshopper.

I just start to learn grasshopper, any method or how can I achieve that?

Thanks :sweat_smile:

1 Like

Look, I feel like Joseph and me already provided ample help and various ways to control the arc height.

The only difference I see now that you’re constructing the arc form three points, is that they are more bulbous.
What you need to understand about the BiArc “the height of each arc is equal to its width. This means that your arc height is equal to the distance between two end points divided by 2.” The arc is laterally constrained between the vectors.

If you want to manually control each arc height, which kind of seems to defeat the purpose of using Grasshopper, you need to enter as many heights as you have arcs.

Let’s say you have three lists with 10 points each. Now you want to use these lists of points to construct arcs. Two lists contain the end points, but another list contains only middle points between the end points that you still need to offset in z-direction. Now if you provide only a single vector to move the points, it usually is applied to all the points, hence all will be displaced to the same altitude.
However, if you want some to have other values, you need to provide 10 height values, where each value moves the corresponding point (at the same index as the value).
There’s really no need to repeat the exact same step over and over ad absurdum, you just need to get familiar with lists. :slight_smile:

Better than entering all the heights by hand, would be to come up with some set of rules that defines for instance where arcs have a maximum and other arcs have a minimum height (like I did above with random values).