What Curve.ParameterAtPoint returns? What do those values represent?

Hello guys,

I have a trouble understanding what the node Curve.ParameterAtPoint values are? For example, in the below pic there is curve split by nodes and points defined at parameter which is starting, mid, end point parameter. We input those points as a parameter into Curve.ParameterAtPoint node and it returns some values relating to the curve. Can you explain me what do those values represent? How, in the first place, ParameterAtPoint node obtains those valuse? Let’s say if the points were not on the curve what will it give as a parameter and how it obtained that values?

2 Likes

The parameter is always a value between 0 and 1, you can see it as a percent of the distance with 0 = 0% and 1 = 100%, so if you have a parameter of 0,5 that is exactly in the middle (50%) of the curve.

Also if you have a point which is not on a curve, i think you will get a “null” result.

But if you look at the values returned at that node there is values above 1? Normally i know the logic you have said when i use pointatparameter. But I can not comprehend pointatparameter node

The pointatparameter node places a point on a specified parameter, or percentage, on the line.

It seems like you get values above and under zero but those are just rounding errors by Dynamo :slight_smile:

I am sorry I wanted to say I can not understand ParameterAtPoint node. which doesnt seem to coincide with 0 and 1 logic. As you can clearly see number above in the returned value in the pic.

If you mean these values:
image
Those are just rounding errors by dynamo, they all represent 0, 0,5 and 1.
2.27…E-15 is just 0

1 Like

OH, I see. Didn’t notice that exponential value there. Yeah, then it definetely makes sense. Thanks!

1 Like

Also worth noting is that parameters does not in fact represent percentages of distances along the curve, rather it is the parametrisation of the curve “unified” to be between 0 and 1. This means, that the actual curve distance between parameter 0.1 to 0.2 might not be the same as from 0.2 to 0.3. Especially for Nurbs, which you seem to have in the background. https://ieatbugsforbreakfast.wordpress.com/2013/09/27/curve-parameter-space/
(Proper mansplaining… Sorry…)

1 Like

I see, then does it mean that it is not accurate to use parameters to, for example, divide, or make a point at a certain location or point on the curve? Let’s say i have a curve with 100 units of length and i need a point at 20 units from start. that is 20/100. but it might not be accurate to do it by using parameters?

That is correct. But in the case above you derive the parameters from already placed points on the curve, so in that case they will match and can be used to, ie extract the tangent at that exact location.

1 Like