Grasshopper

algorithmic modeling for Rhino

Make Surfaces from Contour Points - UPDATED with internalised data

Hello there,

I have an issue connecting my Contour Points to get a boundary Polyline to create the Contour Surfaces...

My main goal is to create this MetaBall-form into a Waffle-form so that i can fabricate it in small scale....

Below i attach some pictures to see what the problem is and the full GH-Code.

I think that there must be some sort of "flip matrix" but i don't have to knowledge to do it.

The Contour Points should be connected to perform a closed vertical loop so that i can get the boundary edge of my surface... but when I try to connect them using the DataTree as is, i get this result (Q3.jpg)

Please help...!!

Thanks a lot in advance.

Doulkas Charalampos

Views: 2559

Attachments:

Replies to This Discussion

Hello I ooked at your problem, I am sure there are others smarters solutions. Here is one using this script 

http://www.grasshopper3d.com/group/milkbox/forum/topics/alpha-shape...

hope it helps a bit. Have you looked at components to make the kind of stuff you want ? 

Perphas it is best to extract pt in Rhino and finish the work by hand ?

Attachments:

Hi!

Sadly, you incurred in a known problem that has neither an easy nor a unique solution: finding a non-convex contour given an array of points. It means that there is no unique mathematical solution to finding a concave contour polyline (which is in general what you need). In your case each contour section contains a series of points of which you do not know the order and you need to sort them so that by connecting them you find the contour. This is fairly easy to do when the contour is convex (basically you find the average point then calculate the vectors from the average to the points and sort the vectors by angle - sorting the points by the same angle gives you the right order for the contour), but generally impossible to find uniquely when the contour is concave (PS: convex means that, for ANY 2 points inside the figure, a straight line connecting them doesn't intersect with the border curve - i.e. circles, ellipses, rectangles, triangles - concave shapes are a star, a crescent moon, an arrow, a boomerang, etc.).
The problem goes like this: given a generic list of points:
Each of these configurations for a perimeter equally fits the above:
Laurent already went for another possible solution, the stochastic approach (by subdividing the connecting lines), I slightly adjusted a few things over his solution:
namely, I added a rounding option to adjust for some weird tolerance issues (some points that should be at Y=80 were at Y=79.99998 or something) and a more straightforward solution to group them by section plane using sets logic. This, coupled with alpha shape, gives a quite good approach, still very coarse in terms of results but that depends on the sampling resolution of the field (i.e. number of height sections in which you calculate the metaballs) and sampling length of the connecting lines.
Definition attached.
Attachments:

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service