Grasshopper

algorithmic modeling for Rhino

Hi everyone,

Im having trouble with a solution.

After splitting a surface with number of lines. i want areas smaller  than a given number to be joined to neighbour areas which areas are bigger than given number.

Here is screenshots and files.

Or maybe my algorithm is to be changed totally.

What i am trying to achieve is while controlling areas, splitting the surface to certain  given distances(lets say parts with lengt of 20,but outer frame is may not always be dividable to 20) and the lines always has to be perpendicular to outer curve.

Thanks in advance.

Views: 370

Attachments:

Replies to This Discussion

Since each area is bordered by two others, which of these should it be joined to, assuming they are both bigger than 'second number'? The smaller one, the bigger one, the one to the left, the one to the right, or a random one?

Not saying I can solve it when you tell us, this is quite a tricky problem because it requires so much conditional logic.

Dear David,

firstly, thanks for sparing time.. 

As we know the central point of each area,Smaller ones meant to be join to closest ''bigger'' surface to itself.

Actually what i am thinking is that i am taking long path to achieve what i want to do with  those surfaces,the way i use must be totally different as it seems. but as i faced this problem, i ll really appreciate any kinda solution.

I'm still fuzzy on the logic. Is it:

  • If the area of a room < R, then
  • find room with nearest area centroid,
  • if closest room has area less than original area, pick the other room (even if that room also has a smaller area).

?

yes.

If the area of a surface smaller then X, Find Closest surface to itself whichs area is Bigger than X.execute union operation. (Exception: they may not be neighbour)

There might be one exception which is, two neighbour ''smaller'' surfaces which are next to next, might be trying to union the same surface.In such case if the smaller surface which is closer to bigger surface get unioned first and create a result then farest surface will become neighbour to emerged surface  (created after union operation)  so it can be joined too.

Sorry for bad english. Hope i did myself clear. 

PS. Smaller areas are not meant to be joined. Main purpose is to avoid rooms whichs areas are smaller then specified number. there might be case 2 smaller areas might be joined and stay smaller than specified number.

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service