Grasshopper

algorithmic modeling for Rhino

I am trying to create a grasshopper definition with the following rules.

There are 3 sets of curves:

Curves to Deform = C(A)

Building Boundaries = C(B)

Site Boundaries = C(S)

The following pseudo-code is as follows:

If C(A) is within the boundaries of closed curves C(B), then vector V(A) is created based on the distance of point on C(A) to the nearest point on C(B). This vector will be multiplied by a number (adjustable) to move the point on C(A) out of the boundaries of C(B).

If C(A) is out of the bounds of C(S) then a vector is created V(B) to move the point of C(A) within C(S).

I'm not sure what the pseudo-code would be for keeping the curves from overlapping. Check out my illustration below as well.

PLEASE HELP ME!!! I'M REALLY DESPERATE, willing to pay for answers or closer help.

Views: 1722

Attachments:

Replies to This Discussion

This is a very tricky kind of problem. It's a freeform spatial deformation and just working with control-points will most likely not get you the answer you're looking for. I have no idea if Kangaroo can handle this sort of force system, that may be worth looking into.

I've been trying to solve it using mesh mapping, but apart from not getting it to work (I think there's a bug somewhere) I also suspect it wouldn't work even without the bug.

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Thanks for your quick, professional response. I have been posting on this site to no avail. How exactly did you get those results? Could you post your definition and explain it in detail? From my understanding, I have to map the pattern to a mesh, then map that mesh to a mesh that conforms to the building footprints?

Would Maya better handle this type of deformation? I barely know the program, but any suggestions would help, because it handles polygons much better than Rhino.

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service