Grasshopper

algorithmic modeling for Rhino

is there any difference between reparametricizing a bezier curve and a typical nurbs curve? For some reason when I try to do this to my beziers they are not evenly spaced as they typically would be...I've divided them into 10 segments using the range component and even though the steps are equal - increments of 0.1 between 0 and 1 - the parameters are bunched into two groups, one at either end of the curve

it looks like it might be a bezier thing...or a bug?

Views: 3403

Replies to This Discussion

Reparameterizing simply sets the beginning and ending parameter at 0 and 1, respectively. Parameters along a curve are not the same as the length along a curve. In other words, evenly spaced parameters along a curve may not actually equate to those parameters being the same distance away from each other or equidistant along a curve.

As to Beziers vs NURBS, I'm really not sure, but I would imagine that their parameterization would not be incredibly different. In the simple case of the bezier span that can be created in GH (minus scripting of course), it really doesn't make that much of a difference at all.

-Damien
Beziers are a subset of Nurbs curves. In fact, even though OpenNurbs supports bezier curves and patches, the Bezier component simply makes a nurbs curve that looks like a bezier span.
Thanks for the clarification on that David. I figured that Rhino (more or less) created nurbs representations of those other curve types (Bezier, Polynomials)
Hi Gabriel... may I ask how did you reparameterise the curve, because I can not find a component inside Grasshopper?
As you are suspecting, indeed Beziers do not have a parameter range, the knot vector nurbs do have, so there is not such thing as reparameterision for them. But as David Rutten says, in a Nurbs environment, such as Rhino, the Beziers are represented thru their nurbs superset so they do in fact have a parameter range. in the case of, say, a curve of degree 3 with 4 control points, this range would be something like 0,0,0,1,1,1; if it was like 0,0,0,2.45,2.45,2.45, reparameterisation would simply turn the 2.45s to 1s, and the curve would stay still the same. As your question implies though, there may be a chance that the algorithm you have used has converted the parameters of your curve to some other way...
The curve parameter object itself has an option to Reparameterize all curves that pass through it.
Also see the help topic for the Curve Parameter.

Hi David,

 

I have a Problem. I want to reparametrization some curves.

where can I find this Information "Curve Parameter" with Grasshopper?.

 

 

Thank you

Juanma

 

 

The Curve Param is on the first Tab "Param" and is in the first Section "Geometry" it has a spiral icon. But times have moved on since 2009 and every input that can take curves or surfaces has a Reparameterize option on the context menu accessed by right clicking the input.

Thank you very much!!!

 

take care

juanma

...have I any control about the Reparametrize option?? equidistant?

Thanks

Hi Akira,

 

nope. Equidistant has nothing to do with parameterization. The only thing that changes is the domain of a curve, not the shape, the locations of the control-points, the degree or anything else. Although it is technically possible to assign any non-zero domain to any curve, Reparameterize always sets the domain to {0;1}

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Thank you again. Sorry, I would to say the position of control points (equidistant).

 

Juanma

 

 

That would be a different curve. You could try Rebuild Component Curve Tab> Util Section> Rebuild

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service