How do I move/sort points along a curve?

grasshopper

(Claire) #1

I’m not sure if I’m just being stupid, but is there a way for me to sort points unevenly along a curve?

What I mean is like using divide curve, but where the segments aren’t all equal, and where I can adjust the length of the segments.

What I’m trying to do is to draw an ellipse, and then to draw points on the ellipse itself. I would then like to adjust the points so that they are clustered on the long “sides” of the ellipse, and spread out at the pointy “sides”".

Here’s a crude drawing to indicate what I mean:

Any idea?


(Claire) #2

What I’m currently thinking is about whether there’s some way to identify the two points at either end of the ellipse (1/4 and 3/4 on Point On Curve) as “repellent” points, and then to have the rest of the points move away from both points, constrained to the ellipse curve itself, and adjustable by a factor. Phew, what a mouthful.

I already tried Move Away From, but I couldn’t properly constrain the resulting points to the ellipse, and I couldn’t set two emitters.

Essentially I’d like a graph or slider that I can push on, and see the points sliding around on the ellipse, but in such a way that they are always most sparse on the sides and most dense at the top and bottom (according to my drawing above).


#3

This code applies ‘Graph Mapper’ to points on 1/4 of the curve, then mirrors and sorts them along the ellipse.


move_sort_points_2018Jan24a.gh (12.3 KB)


#4

Better to replace sort ‘AlongCrv’ with ‘Crv CP’?

Oops! No, sort ‘AlongCrv’ is still needed to arrange the mirrored points in sequence:


move_sort_points_2018Jan24b.gh (17.7 KB)


#5

Check this as well…

PointsOnEllipseRepelling_re.gh (12.5 KB)