algorithmic modeling for Rhino

Hi  everybody!!!...

I have a problem... I have an example of urban form...

Like you can see in the picture, I have an attractor point in the center, the extrude distance is the same distance of the points to the attractor point...

But!, I looking for someting that when it is colse to the attractor point the extrude distance is high...

I wanna do something like the second picture, It is a Kartal pendik master plan by Zaha Hadid...

Somebody can help me please... :)

Views: 4436


Reply to This

Replies to This Discussion

Hi Danny,

you need to insert an algorithm (technically a subroutine) between your Attractor-distance measurement and your extrusion length. You can use an expression to modify these numbers, for example:

E = 1000/d

Where E is the extrusion height and d is the distance from the attractor (if you put this into a F(x) component you only have to write 1000/d btw., the E = is implied). Do note that division like this may result in very high buildings, you might also want to add some protection against that.

Another approach entirely would be to use a Graph Mapper. Along the X axis you have your Attractor-distances, along the Y axis you'll have your Extrusion-heights. Then pick any graph you want to map between these scales.


David Rutten

Poprad, Slovakia

Hi David!!!...

It works!!!... you are a genius!!!...

Thank you very much for always be aware of all discussions in the forum... you are really helpful!!!...

Thanks again!!!...

Greetings from Colombia.


you could also use remap component and remap the values for 1 to 0  to  0 to 1. inverting the distances proportionally.


From your comment i understand that it's possible to extract x and y parameters from the graph mapper. Can you explain how i would need to go about it?

I am hoping to use an attractor point that will do two things for me:

        1. Based on its distance to a set of curves it will deform them in x and z directions away from the point. I want both of those deformations to be in a form of a gaussian curve thus graph mapper seems to be appropriate. How do i extract x and y so that they drive vector z and x?

thank you,


i want to model something like your work,but i want the building around the square to have 1-3 floor, and next layer of building to have 3-5 floors , how should i write the algorithm? can you help me plz ?

for example,i have 2 attractors,for 2 public area , in the first square the height is based on the distance from first point, and in the second square the height of building is based on their distance from second point ,

i have 2 problems:

1 . the height of buildings near first attractors should be relevant two both attractors,not just point 1 .

2. this definition make nearer buildings shorter, but i want to define a special density for that, for instance , the building height should be between a 2 proposed number . how can i reach this goal?

can anyone help me plz ? 

@ Danny : its similar to your project, it would be great help if you can share ur definition plz .





Search Grasshopper


  • Add Photos
  • View All

© 2017   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service