Grasshopper

algorithmic modeling for Rhino

In a 3D point population, I want to connect each point to the closest neighborpoint with a line.

?hlp?angelos

Views: 42269

Replies to This Discussion

Mesh Tab>Triangulation Panel>3D Proximity

Don't forget there will be duplication. Point A is closest to B as B is to A 

thanks,...and sorry for asking banal questions;;;

http://www.grasshopper3d.com/forum/topics/closest-point-within-a-si...

With GH it's quite often the case that you won't know until you ask the question. One of my first questions was to ask for a component that you can display the output of components in on screen, without realising that the Panel (then called Post-It) had an input just for that scenario and wasn't just for writing notes. Weeks went by without anyone taking the courtesy to set me straight. :(

yah I see :(.

hm next thing is to find the actually (100 points = 50 lines) 50 minima which are not connected on with the other.

Is there a setting in the 3D proximity component?

You can use [Create Set] to get the list of indices needed. But 50 lines is ambitious.

If you have 4 points in a straight line where A is closest to B and B is closest to C and C is closest to D means there is only one duplication of D is closest to C and not B to A Therefore there are three unique lines not two 

Ok, got this one too,

but how can I create from a set of 100 pts 50 lines, which are not connected oneanother, like: take a point and find out of the 99 the closest, then take the next pt and choose from the remaining 97, etc.?

That is very difficult. You might be able to do it using the HoopSnake plug-in, but I don't know it well enough to make you an example.

This incidentally is quite easy using VB/C# scripting, see attached.

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Attachments:

Hi,

I wish I could get once into that scripting thing,

I´m getting more and more curious about it

(besides wishing I´d had a rabbit in the hat),

actually I don´t want a continous polyline, since the closest point to the very first would be removed from the list, so the initial list reduces from 100 to 98. From the 98 i pick one and search the remaining 97 for the closest. From the remaining 96 i pick again one and search in the 95,...

(The product I want to result is:

having a number of random lines in 3D space, produced by an even number of points as discribed, this shall be the initial springs for a ("selfadjusting") tensegrity. Each one of these lines (later springs in kangaroo) get divided in three areas - that means four points. These four points again are the "attractor points" of neighbor springs, so the strut "knows" where to set the next elastic connection,...the rest I´ll have to figure out)

angelos

Would this help ?

Create a Continuous line with all of the points and then cull every other section

Hello David

i'm try to modify you code in order to put limit on the number of continues point and eventually the out come curve length.  it is  counting every 5 point and then connect them, but the out come curve's length  is sometime bigger that my goal.  Basically,  i need to connect points  to reach a goal number which is the out come curve's length. it seems the number of point doesn't matter  if the curve length is less that goal number. 

thak's for your help

I am having a rotating tower made of polygons, after i'm setting the points at each corner and use Mesh Tab>Triangulation Panel>3D Proximity as you suggested. Dont know why but it connects only the points inside each poligon avoiding other polygons despite thei points are closer. Don't know what to do 

Attachments:

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service