Pull and Push surface with attractors


I’m trying to create a landscape for my project and I would like to have some points that affect differently the surface. Some points will push the surface to create “holes”, some others will pull it to create “mountains”. I would like to use the graph tool in order to control the inclination. I have tried to do it but I cannot create one surface with the 2 differents directions, so I have two surfaces, on with “holes” and one with " mountains". How could I have only one surface?

Thank you very much

Hi Giorgiadis - can you post or send me the GH file?


Hello Pascal,
Yes of course

Thank you very much for your help


Thanks. I see… I am not the man who can help here, I think - I’ll probably have to defer to more expert GH users than myself… It looks like, at the very least, this should be tested in a file that has the required input geometry, whatever that may be - it is not immediately clear (to me) what the input is meant to be.
I see the area you are asking about - I will see if I can make that part be a standalone group of components - can you tell me what the inputs for the two attractor points components should be?


Hi Pascal,
I have simplify the gh file, and internalise all the data to grasshopper. The idea is to have 2 groups of points and each group points interact in a different way with the surface.

Hello - I am not sure if there is a more elegant GH way to do this - I fell back on some python to replace the initial rotated grid points with any from the displacement portion that came out with non-zero z.



Hello Pascal,
Thank you very much for your help, I will test what you propose me and I will come back to you,

Thank you again

It is working pascal thank you ! The only thing that would be great to add is have the possibility to have differents intensity on every point. Do you have any idea how this can be achieved?

Thank you again for everything

Thank you

Hi Grigoriadis - do you want to control each point intensity or have it be a random factor, or?


Hello Pascal, I would like to control each point intensity

Hi Grigoriadis - it seems like the UI could get very messy if you have more than a few points to adjust - I suppose you’ll need a slider or some other input for each one. I’ll think about how to do this - my inclination is to write some script code but I’ll look for a GH way… no guarantees, I am not a GH wizard…



You are quite right. The GH way is to avoid positioning each point with separate sliders and use some form of “attractor” (curves, points, breps) instead to influence many points, often a grid of points.