hello.
I have a closed curve generated from the grasshopper with a variable number of points. When the number of curve points changes the first point of the curve also changes. Is there a way to keep always the same first point of the curve?
Thank you
Please post a file that shows the problem.
If I create something like your describe the curve seam remains at the first point: curve 1st point.gh (6.5 KB)
ok, you are right the description of the problem wasn’t good.
I will try to describe it better.
I have a main polygonal curve which shape doesn’t change and also I have two subtract curves.
If I compute the boolean curve ( i do that with the clipper plugin) I have a new curve( i name it boolean curve).
In the top part of the image, this boolean curve contains 9 points.
If I move the subtract curve 1 as I have done in the bottom part of the image the new boolean curve contains 8 points.
I want the start point of the boolean curve to be always the same, ( you can see which in the image) bacause now it change when the number of boolean curve points change.
Is that clear?
You’ll have to post-process the curve and specifically set the Seam parameter.
Use curve seam.
Thank you.
I have used curve seam but I am not sure what to set on t input.
How i post-process the curve. Is that the same that ME_Mark suggest in the following reply?
Thank you.
You could try something like this: curve 1st point.gh (7.0 KB)
But without a gh file it’s hard to tell.
grasshoper_definition.3dm (750.7 KB) grasshoper_definition.gh (36.5 KB)
in the second circle, I have set the parameter i of the item component to 1 and 2. You can see the selected point which is what I want. But if I change the slider in the first circle the 1 and 2 not represent the correct points.
A lot of curve components require a curve parameter as an input, this is often denoted using the symbol t\hspace{-1mm}.* In Rhino and Grasshopper, curves are continuous one-dimensional shapes, and each point on a curve is associated with a single number; the aforementioned curve parameter. If the domain of a curve is the interval [0, 1]\hspace{-1mm}, then the start of the curve is at t=0 while the end of the curve is at t=1\hspace{-1mm}. Note however that t=0.5 is not necessarily the curve mid-point, that depends entirely on the type of curve you’re dealing with.
So let’s assume that you have a closed curve with domain [a, b]\hspace{-1mm}. Since the curve is closed, the point associated with a and the point associated with b are coincident. This location is called the seam of the curve. If you want to move the seam to a different location, you must figure out what parameter describes that. You can use the Curve CP component to find which parameter on a curve is closest to some point in space.
* I think because a lot of the early literature on algebraic curves dealt with trajectories (planets, projectiles, etc.) so a curve is the motion of some object over t\hspace{-1mm} ime.
ok, very informative David. I finally was able to set the first point of the curve. Thank you also ME_Mark.
But now I have another problem.
As I said the curve which I have set the starting point is a boolean operation between other curves. When I explode it I get the curve points as a list and now the 0 index point is always the same. After that, the index of the rest points sometimes increases in the clockwise direction and sometimes in the counterclockwise.
Is there a way to control the index of the rest points of the closed curve to increase always in a clockwise or in a counterclockwise direction?