Jessi,

this is difficult because it is a logical impossibility. If you want
to distribute 100 points on a 10mm long curve so that no two points
are closer than 1mm, there is no possible solution.
Whenever you want to achieve something that might not have a single
possible solution, you have to jump through a number of extra hoops.

In this particular case, the algorithm would look a bit like the
following:

- For each 2 neighbours in your collection, measure distance between
them.
- If they get too close, move them both away from each other until
they have a valid distance

The problem is, that when you move your points, they might suddenly
get too close to the neighbour on the other side. Hence, you have to
run the loop again, and keep on doing so until all distances are valid
or until you've reached a stable set. This requires lot sof looping
and conditionals, neither of which are possible in Grasshopper.


It's possible to write a script for this (or even a component if it
sounds like a very useful operation), but you cannot do it visually.

--
David Rutten
[email protected]
Robert McNeel & Associates





On Mar 18, 10:21 am, Jessi <[email protected]> wrote:
> hi david,
> thank you very much for your reply, the curve worked really well..
> i have one more question: now that i have the arrangement of the
> points on the curve as i want them, but now i want to control the
> maximum and minimum distance between them; without presetting the
> number of points on the curve, i want to fill the curve with denser
> and looser arrangements of points, that dont go above or below certain
> values of distances between them. is there a way to insert something
> into the graph arrangement that i already have?
> thank you!
>
> jessi
>
> On Mar 17, 1:43 pm, David Rutten <[email protected]> wrote:
>
> > Replacing a Graph Mapper object with a Rhino curve:
>
> > Create a curve in Rhino within an easy domain (x = 0.0->1.0;  y = 
> > 0.0->1.0;).
>
> > Make sure it only has a single intersection point with every vertical
> > line.
> > Generate a bunch of vertical lines, I used the [Range] + [Line SDL]
> > components.
> > Intersect the curve with the lines using the [Curve|Line] component
> > and limit the intersection to the first hit.
> > If you extract the y-coordinates of those intersection points, you'll
> > have your 'mapped' values.
>
> >http://groups.google.com/group/grasshopper3d/web/CustomGraphCurve.png
>
> > --
> > David Rutten
> > [email protected]
> > Robert McNeel & Associates

Reply via email to