bezier -> nurbs

140 views
Skip to first unread message

Ponthieux, Joseph G. (LARC-E1A)[LITES]

unread,
Jun 18, 2013, 4:08:03 PM6/18/13
to soft...@listproc.autodesk.com

Its been so long since I’ve tried this in Soft I can’t remember…

 

Is there any logic or formula that will allow you to replicate a Bezier Knot curve as a CV curve?

 

I thought all you had to do was make sure the CVs on a Nurbs curve matched the handle points on a Bezier curve and they would align perfectly, but the continuity of the Bezier curves is slightly different than the Nurbs, almost as though the Bezier is a different degree than the Nurbs curve. Is that the case?

 

Second, is it possible to convert a Bezier curve to a Nurbs CV curve and maintain continuity, bias, etc?

 

--

Joey Ponthieux

LaRC Information Technology Enhanced Services (LITES)

Mymic Technical Services

NASA Langley Research Center

__________________________________________________

Opinions stated here-in are strictly those of the author and do not

represent the opinions of NASA or any other party.

 

Daniel Brassard

unread,
Jun 18, 2013, 4:36:11 PM6/18/13
to soft...@listproc.autodesk.com
Raise the knot to multiplicity 3 (similar to bezier)

Lower the knots to 2 (curvature) first and second derivative continuity, smoother curve.
Lower the knots to 1 (tangent) first derivative continuity, tangent continuity
Lower the knots to 0 (linear), sharp turns, no continuity between knots

Daniel Brassard

unread,
Jun 18, 2013, 4:39:52 PM6/18/13
to soft...@listproc.autodesk.com
Oops, reverse.

From the book

Multiplicity is a property of knots that refers to the number of control points associated to a knot. On a cubic curve, a knot can have a multiplicity of 1, 2, or 3. On a surface, each knot curve has two multiplicities: one in the U direction and one in V. All knots along a knot curve must have the same multiplicity in the corresponding direction.

Knots with a multiplicity greater than 1 are sometimes called multiknots. Multiknots allow for greater control over the trace of the curve through the knot, at the expense of smoothness.

  • A knot with a multiplicity of 1 has C2 continuity (curvature).

  • A knot with multiplicity 2 has C1 continuity (tangency).

  • A knot with multiplicity 3 has C0 continuity (position) if the three control points are not lined up. It is like a Bézier point, with one control point exactly at the position of the knot on the curve and the other two control points acting like tangent handles. You can manipulate these knots on curves in a Bézier-like manner — see Using the Tweak Curve Tool.

Daniel Brassard

unread,
Jun 18, 2013, 4:48:18 PM6/18/13
to soft...@listproc.autodesk.com
Bezier and NURBS are different. 

NURBS have a weight attribute on each knot that allow you to adjust the curve. You cannot create a perfect circle with bezier curve but you can with NURBS curves because of the non-rational attributes (weighting or the Knots).

Ponthieux, Joseph G. (LARC-E1A)[LITES]

unread,
Jun 18, 2013, 4:49:10 PM6/18/13
to soft...@listproc.autodesk.com

 

--

Joey Ponthieux

LaRC Information Technology Enhanced Services (LITES)

Mymic Technical Services

NASA Langley Research Center

__________________________________________________

Opinions stated here-in are strictly those of the author and do not

represent the opinions of NASA or any other party.

 

Daniel Brassard

unread,
Jun 18, 2013, 4:53:59 PM6/18/13
to soft...@listproc.autodesk.com
There are also the degree and parameterization of the NURB curve. Did you try that (uniform vs non-uniform)?

Grahame Fuller

unread,
Jun 18, 2013, 5:04:33 PM6/18/13
to soft...@listproc.autodesk.com
Mathematically, Bezier curves are a special case of NURBS curves, although internally some applications might represent them differently. However in Softimage, Bezier curves are simply cubic NURBS curves where every knot has multiplicity 3. The Tweak Curve tool recognizes this case and automatically keeps the tangent handles aligned by default.

If you simply draw a Bezier curve and don't fiddle with the tangent handles, then you can trace it as a NURBS with fewer control points using Create > Curve > Draw Cubic by Knot Points and snapping to the knots.

If you have fiddled with the knots on the original Bezier, you then need to select all the knots on the NURBS, choose Modify > Curve > Set Knots Multiplicity, set the slider to 3, and finally snap the control points to the originals. Congratulations! You've just duplicated the original Bezier the hard way, which was actually a NURBS in disguise all along anyway.

On the other hand if you wanted to know whether it was possible to trace an arbitrary Bezier (where the handles might be uneven/unaligned) using a NURBS with knots of multiplicity 1, then the answer is "no", unless you resample very densely and even then it can only ever be an approximation.

gray

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Ponthieux, Joseph G. (LARC-E1A)[LITES]
Sent: Tuesday, June 18, 2013 04:08 PM
To: soft...@listproc.autodesk.com
Subject: bezier -> nurbs

Its been so long since I've tried this in Soft I can't remember...
winmail.dat

Grahame Fuller

unread,
Jun 18, 2013, 5:06:26 PM6/18/13
to soft...@listproc.autodesk.com
Ooops, I meant to write "If you have fiddled with the tangent handles..."

gray

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Grahame Fuller
Sent: Tuesday, June 18, 2013 05:05 PM
To: soft...@listproc.autodesk.com
Subject: RE: bezier -> nurbs

Mathematically, Bezier curves are a special case of NURBS curves, although internally some applications might represent them differently. However in Softimage, Bezier curves are simply cubic NURBS curves where every knot has multiplicity 3. The Tweak Curve tool recognizes this case and automatically keeps the tangent handles aligned by default.

If you simply draw a Bezier curve and don't fiddle with the tangent handles, then you can trace it as a NURBS with fewer control points using Create > Curve > Draw Cubic by Knot Points and snapping to the knots.

If you have fiddled with the knots on the original Bezier, you then need to select all the knots on the NURBS, choose Modify > Curve > Set Knots Multiplicity, set the slider to 3, and finally snap the control points to the originals. Congratulations! You've just duplicated the original Bezier the hard way, which was actually a NURBS in disguise all along anyway.

On the other hand if you wanted to know whether it was possible to trace an arbitrary Bezier (where the handles might be uneven/unaligned) using a NURBS with knots of multiplicity 1, then the answer is "no", unless you resample very densely and even then it can only ever be an approximation.

gray

winmail.dat

Ponthieux, Joseph G. (LARC-E1A)[LITES]

unread,
Jun 18, 2013, 5:08:18 PM6/18/13
to soft...@listproc.autodesk.com

Grahame Fuller

unread,
Jun 18, 2013, 5:15:35 PM6/18/13
to soft...@listproc.autodesk.com
A Bezier knot is a NURBS knot with multiplicity 3. If you don't want Bezier-like manipulation, you can use the old Move Point tool (still available on the Modify > Component menu) instead of the Tweak Curve tool .

gray

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Ponthieux, Joseph G. (LARC-E1A)[LITES]
Sent: Tuesday, June 18, 2013 04:49 PM
To: soft...@listproc.autodesk.com
Subject: RE: bezier -> nurbs

Yeah, tried that, except when I set the multiplicity to 3 it apparently converts the curve to Bezier control. Kinda defeats the purpose as I could just create the curve a Bezier from the get go if I wanted that.

--
Joey Ponthieux
LaRC Information Technology Enhanced Services (LITES)
Mymic Technical Services
NASA Langley Research Center
__________________________________________________
Opinions stated here-in are strictly those of the author and do not
represent the opinions of NASA or any other party.

From: softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com> [mailto:softimag...@listproc.autodesk.com] On Behalf Of Daniel Brassard
Sent: Tuesday, June 18, 2013 4:40 PM
To: soft...@listproc.autodesk.com<mailto:soft...@listproc.autodesk.com>
Subject: Re: bezier -> nurbs

Oops, reverse.

>From the book


Multiplicity is a property of knots that refers to the number of control points associated to a knot. On a cubic curve, a knot can have a multiplicity of 1, 2, or 3. On a surface, each knot curve has two multiplicities: one in the U direction and one in V. All knots along a knot curve must have the same multiplicity in the corresponding direction.

Knots with a multiplicity greater than 1 are sometimes called multiknots. Multiknots allow for greater control over the trace of the curve through the knot, at the expense of smoothness.

· A knot with a multiplicity of 1 has C2 continuity (curvature).

· A knot with multiplicity 2 has C1 continuity (tangency).

· A knot with multiplicity 3 has C0 continuity (position) if the three control points are not lined up. It is like a Bézier point, with one control point exactly at the position of the knot on the curve and the other two control points acting like tangent handles. You can manipulate these knots on curves in a Bézier-like manner - see Using the Tweak Curve Tool<http://download.autodesk.com/global/docs/softimage2013/en_us/userguide/files/curves_DrawingandManipulatingCurves.htm#WS20FD922AA9DF2240AD94FFADCE73807F-002F>.

On Tue, Jun 18, 2013 at 4:36 PM, Daniel Brassard <dbras...@gmail.com<mailto:dbras...@gmail.com>> wrote:
Raise the knot to multiplicity 3 (similar to bezier)

Lower the knots to 2 (curvature) first and second derivative continuity, smoother curve.
Lower the knots to 1 (tangent) first derivative continuity, tangent continuity
Lower the knots to 0 (linear), sharp turns, no continuity between knots

On Tue, Jun 18, 2013 at 4:08 PM, Ponthieux, Joseph G. (LARC-E1A)[LITES] <j.pon...@nasa.gov<mailto:j.pon...@nasa.gov>> wrote:
Its been so long since I've tried this in Soft I can't remember...
winmail.dat

Ponthieux, Joseph G. (LARC-E1A)[LITES]

unread,
Jun 18, 2013, 5:19:13 PM6/18/13
to soft...@listproc.autodesk.com

 

--

Joey Ponthieux

LaRC Information Technology Enhanced Services (LITES)

Mymic Technical Services

NASA Langley Research Center

__________________________________________________

Opinions stated here-in are strictly those of the author and do not

represent the opinions of NASA or any other party.

 

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Grahame Fuller
Sent: Tuesday, June 18, 2013 5:16 PM
To: soft...@listproc.autodesk.com
Subject: RE: bezier -> nurbs

 

A Bezier knot is a NURBS knot with multiplicity 3. If you don’t want Bezier-like manipulation, you can use the old Move Point tool (still available on the Modify > Component menu) instead of the Tweak Curve tool .

 

gray  

 

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Ponthieux, Joseph G. (LARC-E1A)[LITES]
Sent: Tuesday, June 18, 2013 04:49 PM
To: soft...@listproc.autodesk.com
Subject: RE: bezier -> nurbs

 

Yeah, tried that, except when I set the multiplicity to 3 it apparently converts the curve to Bezier control. Kinda defeats the purpose as I could just create the curve a Bezier from the get go if I wanted that.

 

--

Joey Ponthieux

LaRC Information Technology Enhanced Services (LITES)

Mymic Technical Services

NASA Langley Research Center

__________________________________________________

Opinions stated here-in are strictly those of the author and do not

represent the opinions of NASA or any other party.

 

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Daniel Brassard
Sent: Tuesday, June 18, 2013 4:40 PM
To: soft...@listproc.autodesk.com
Subject: Re: bezier -> nurbs

 

Oops, reverse.

 

From the book

 

Multiplicity is a property of knots that refers to the number of control points associated to a knot. On a cubic curve, a knot can have a multiplicity of 1, 2, or 3. On a surface, each knot curve has two multiplicities: one in the U direction and one in V. All knots along a knot curve must have the same multiplicity in the corresponding direction.

Knots with a multiplicity greater than 1 are sometimes called multiknots. Multiknots allow for greater control over the trace of the curve through the knot, at the expense of smoothness.

·         A knot with a multiplicity of 1 has C2 continuity (curvature).

·         A knot with multiplicity 2 has C1 continuity (tangency).

·         A knot with multiplicity 3 has C0 continuity (position) if the three control points are not lined up. It is like a Bézier point, with one control point exactly at the position of the knot on the curve and the other two control points acting like tangent handles. You can manipulate these knots on curves in a Bézier-like manner — see Using the Tweak Curve Tool.

 

On Tue, Jun 18, 2013 at 4:36 PM, Daniel Brassard <dbras...@gmail.com> wrote:

Raise the knot to multiplicity 3 (similar to bezier)

 

Lower the knots to 2 (curvature) first and second derivative continuity, smoother curve.

Lower the knots to 1 (tangent) first derivative continuity, tangent continuity

Lower the knots to 0 (linear), sharp turns, no continuity between knots

 

On Tue, Jun 18, 2013 at 4:08 PM, Ponthieux, Joseph G. (LARC-E1A)[LITES] <j.pon...@nasa.gov> wrote:

Its been so long since I’ve tried this in Soft I can’t remember…

Eugen Sares

unread,
Jun 19, 2013, 3:28:17 AM6/19/13
to soft...@listproc.autodesk.com
Hi,
to clear the fog a bit more (or thicken it)...

- A Nurbs curve consists of a list of CVs (x0, y0, z0, w0, x1, y1, z1, w1, ...),  and a knot "vector" (0.0, 0.0, 0.0, 1.0, 2.5, 4.0 ,5.0, 5.0, 5.0) in which each item always have to be greater or equal than the one before.

- Curves can have degree 1, 2 or 3 in Softimage (in other applications, higher degrees are allowed, but we rarely design ship hulls in Softimage).

- The number of occurrances of a knot value is called it's "multiplicity".
Example: (..., 1.7, 2.1, 2.1, 2.1, 4.0, ...). Knot 2.1 has multiplicity 3.
Maximum: degree of the curve. Such a knot is called a "Bezier" knot - it has "full multiplicity".

- The first and last knot of an open nurbs curve always have full multiplicity. Needn't be, but it's nice when the drawn curve's start/end coincide with the first/last CV.

- Bezier curves, as has been said, are also Nurbs curves. Nurbs are a superset, a generalization of Bezier curves.

- There's one golden rule for Nurbs curves, which under all circumstances must be kept (except you want to provoke a crash):
number of knots = number of points (=CVs) + curve degree - 1
Example: create a curve, in the "eye" menu, turn on "points", select a knot and see what happens when you adjust "Set Knot Multiplicity" - CVs are added or removed accordingly to keep this rule.

- Bezier knots always coincide with a control vertex. Knots with less than full multiplicity do not.

- It's a nice convenience feature of the "move component tool" that you can move not only CVs but also knots.
In fact, that tool is very well designed. Unfortunately, other Nurbs curve tools are not, or are missing. Same for surfaces.


Back to your question, if it hasn't been answered already:
If you want to "convert" a Bezier curve to a CV curve, simply select all the Bezier knots (not start and end - you could, but it's useless) and reduce their multiplicity to 1 ("Set Knot Multiplicity").
The curve shape does not change.

Remember the "Create > Curve > Fit on Curve" tool, if you want to "re-sample" the curve.

Too much information? ; ]

Best,
Eugen

Cesar Saez

unread,
Jun 19, 2013, 3:26:56 AM6/19/13
to soft...@listproc.autodesk.com
Did you try Curve -> Fit on Curve?


On Tue, Jun 18, 2013 at 4:08 PM, Ponthieux, Joseph G. (LARC-E1A)[LITES] <j.pon...@nasa.gov> wrote:

Ponthieux, Joseph G. (LARC-E1A)[LITES]

unread,
Jun 19, 2013, 8:53:11 AM6/19/13
to soft...@listproc.autodesk.com

 

--

Joey Ponthieux

LaRC Information Technology Enhanced Services (LITES)

Mymic Technical Services

NASA Langley Research Center

__________________________________________________

Opinions stated here-in are strictly those of the author and do not

represent the opinions of NASA or any other party.

 

Eugen Sares

unread,
Jun 19, 2013, 9:17:19 AM6/19/13
to soft...@listproc.autodesk.com
Then, as I said, just select all the Bezier knots and reduce their multiplicity to 1. No worries.
Reply all
Reply to author
Forward
0 new messages