Grasshopper

algorithmic modeling for Rhino

Hi,

 

I need to create lots with specific (e.g. 400m2 or 500m2) equal sizes between two differently shaped curves (example see attachment).

 

Even if I transform the curves, the areas (lots) shall always stay equal.

 

What I found is this discussion:

http://www.grasshopper3d.com/forum/topics/i-need-an-algorithm-how-t...

 

But I don’t know if and how it can be used for my purpose...

 

Would be very happy about help.

 

Thank you!

Views: 384

Attachments:

Replies to This Discussion

The problem is very much non-linear, and also doesn't allow for some higher order mathematical equation, which means you almost certainly have to solve it in a iterative fashion. Trying to solve them all at once will complicate the problem significantly, which is a shame because you could have used Galapagos for that approach. As it stands I think a looped approach is needed where each lot is solved before the next lot is solved. 

What constraints are there on the lot boundaries? Do they have to be perpendicular to both purple curves? Only one of them? Are you free to draw them wherever you want? Do they have to be within some angle tolerance of perpendicular? What accuracy are you willing to accept for your lots? Is 401m² ok? how about 400.5m²? What about 400.01m²?

If your accuracy isn't too tight, a possible approach would be to generate thousands of slivers, each roughly the area of your tolerance (this step will need some manual tweaking probably). Once you have all your tiny lots, you start adding them together until you get one big lot of the right area +/- tolerance. However if your tolerance is small, then this approach might need millions of slivers at which point it probably becomes too slow.

Hi David,

 

Thank you very much for your help! 

Now it sounds even more complicate than I imagined it to be...

 

- Lot boundaries don't have to be perpendicular (just of course not in very crazy angles)

- Tolerance could be +/- 5 degree

- Yes, I can draw them wherever I want 

- As one of the curves will be the side where the street is, it would have to be possible to regulate how wide the lots are on this side (e.g. 10m - 15m). 

- Also I think in some places it will not be possible to get the right size of the lots without having strange shapes. So if it's not possible to create an area (let's say usually between 309m2 and 401m2) that is at least 10m wide, than the area will be bigger.  

- another solution could be to say that usually areas should be 400m2 but if that doesn't work without being too narrow, than the area can also be 450m2 or 500m2 or 600m2 (in this order).

 

Perhaps I'll have to return to this problem after gaining some more experience with GH and its plug-ins. 

Maybe I don't understand the problem. You have two curves, and you want to draw a curve such that the two resulting areas are equal?

What would be the optimization variables? I was thinking the coordinates but it could be the control points if these curves are spline curves. That may decrease the number of variables significantly. Then you could give Galapagos a shot?

Another approach could be to populate the area with many many points and draw a curve that best subdivide these points in two (after you some how unfold the curve) then map it back?

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service