The meaning of "curveorder" of spline autorig component

   555   3   2
User Avatar
Member
373 posts
Joined: 6月 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 - 2024年7月15日 08:24:46

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

User Avatar
Member
7868 posts
Joined: 7月 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: 6月 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 - 2024年7月15日 08:40:34
User Avatar
スタッフ
61 posts
Joined: 10月 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 - 2024年7月16日 08:30:41
  • Quick Links