Scaling within are of influence

I am trying to recreate this in GH (Using Rhino for Mac):

This is just an explanatory sketch, but It gives an idea of what I am trying to achieve.

  1. I would like to be able to have a grid of rectangles I could rotate and choose the rectangle dimensions.
  2. On top of that I would like to influence their scale when the area of each rectangle has more than 50% of it within the typeface boundaries. My experiment aims to build this on paper.
  3. Extrude them (the extrusion influenced by the A boundaries too). Having two values on the rectangle dimensions. One extruded rectangle with X value when they are outside the A and one X+ something when the are of those rectangles are within the A (Area of the rectangle needs to be >50% within it).
  4. Crop those volumes where the dotted line is.

After understanding these questions I would like to proceed to extrude them in order to have volumes and be able to make this in paper :slight_smile:

Thanks a lot for your time.

something like this?

Let me know if this helps!


This is totally what I am looking for, but I am trying to avoid the overlapping when you rotate the modules.
I am not sure if this is possible. Thanks so so much for your help, I am trying to replicate it by following the screenshot :slight_smile:

I would also like to know if the scale can be on all axes instead of XY

I made a small update to avoid intersections

Here you have the GH file! (16.9 KB)




Question, the avoidance of intersection should still be with the modules next to each other (like a wooden parket floor). Do you think I can find a definition to make it always next to each other and be able to rotate them ?

Thanks so much.

You didn’t internalize your curves? And from what I can tell, you would be better off rotating the ‘World XY’ plane input to RecGrid instead of the individual cells later?

Or rotate the whole grid? That grid is not the brick/parquet floor pattern specified?

Sure! thats a way to go.

Or Making use of the Lunchbox Components could also help. There are some interesting panelling components and could save a lot of time


It is possible but trickier than the current model as rectangles would have to move while rotating in order to stay packed.
Movement should on the other hand only be row movements (up/down) and column movements (right/left).
I mean, all the rectangles on same rows would move the same way (up down) and rectangles from same column would move the same way (right left).

I might have a look at some point, can’t dive in this right now…

I will see if i can figure it out. I think as a newbie in will need to approach this task by small steps.

I tried to start from scratch.
I am getting a little bit frustrated.
I can not even rotate my rectangle from the center of the scene.


You shoudn’t be frustrated, but I think you should take your time to learn the software a bit more before trying to make stuff, or asking it directly on the forum :slight_smile:
I mean, it’s always good to do trials and errors, and to be fair I learn new stuff every week. I just feel like you could either get some grasshopper video tutorials or books, to get started with how this work.
I cannot really target videos, but my very first introduction to Gh was through the book “Algorithm Aided Design” from Arturo Tedeschi, which helped me a lot at the beginning !

But for your last question, grab the area of the big rectangle, and plug the center point in the “plane” input of Rotate component.

Is this what you’re looking for?

Note that in order to avoid collision, at least with this method, the second dimension on the rectangles have to be constrained a bit.
To modify the first dimension, simply enter it the slider “first dimension”.
To modify the second one, you have modify the slider from 0 to 1 (and check the panel that tells you the length of the second dimension of the rectangles. (27.8 KB)

Thanks so much @antoinemaes for your help. I am actually trying to avoid the gap between the volumes. Please find attached an explanation:

I’m afraid that is actually impossible to achieve with predefined rectangles.

Dimensions would have to adapt as the rectangles rotate, even becoming squares at some point to avoid these gaps.

mmm I am thinking just in this simple solution:
Just rotating a grid while cropping the desired area.

Like this?
You can choose to crop or not (it becomes quickly heavy) (19.6 KB) NotCollidingRectangles2

Thanks so much for your help! You are right, I can not even rotate it in my computer…
So frustrating cause this was just help for the principle of the piece I want to create.
I am trying to get help to understand the foundational part of it and then adapt it a little bit more to what I want. I can see it will take a long time with my knowledge and my laptop.
I opened the file and noticed so much care and work behind it. I really appreciate all the help you put in this!