The meaning of "curveorder" of spline autorig component

   1012   3   2
User Avatar
Member
373 posts
Joined: June 2023
Offline
The document [www.sidefx.com] says:

The number of controls that are used to solve each segment of the curve. The curve order is the number of CVs (control vertices) minus 1. The default curve order is set to 2, which works in most cases.

Ok, so according to the docuemtn, "order" here matches the usual mathematical meaning. Makes sense, right?

However, in the Elephant Sine Wave example [www.sidefx.com]:



You can clearly see there are 4 cvs, but the order is 2.

What? Why isn't it 3?
Edited by kodra - July 15, 2024 08:24:46

Attachments:
Screenshot 2024-07-13 155714.jpg (150.9 KB)

User Avatar
Member
8054 posts
Joined: July 2005
Offline
I haven't tried the example but I'm not sure what you mean. Curve "order" is about how many CVs will affect a given point on the curve so while the number of CVs required depends on this, they're not supposed to match up in general.
https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline#Order [en.wikipedia.org]
User Avatar
Member
373 posts
Joined: June 2023
Offline
edward
I haven't tried the example but I'm not sure what you mean. Curve "order" is about how many CVs will affect a given point on the curve so while the number of CVs required depends on this, they're not supposed to match up in general.
https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline#Order [en.wikipedia.org]

According to wikipedia, in context of Bezier curve, order is the (number of CVs affecting a given point - 1), not (number of CVs affecting a given point).

https://en.wikipedia.org/wiki/B%C3%A9zier_curve [en.wikipedia.org]

Therefore:

A NURBS of order of 2 = can only have straight segments
A Bezier of order of 2 = looks like curve

I'm not sure why Bezier curve and NURBS have different definition of order. It seems Bezier's order = NURBS's degree. Anyway, spline autorig component's document says:

The number of controls that are used to solve each segment of the curve. The curve order is the number of CVs (control vertices) minus 1. The default curve order is set to 2, which works in most cases.

So I believe it's using the Bezier's definition.

My problem is, in the Elephant example, there are 4 CVs. Intuitively, if you set the order = 3, it should be a single bezier curve with 4 CVs. However it will report an error. Only order = 2 works.
Edited by kodra - July 15, 2024 08:40:34
User Avatar
Staff
89 posts
Joined: Oct. 2023
Offline
If you hover over the curve order parm, you should get a decent explanation of how it works in apex.
I also explained it here https://www.sidefx.com/forum/topic/96509/ [www.sidefx.com]
Edited by william_harley - July 16, 2024 08:30:41
  • Quick Links