Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Non-uniform rational B-spline
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Example: a circle == [[File:NURBS-circle-3D.svg|thumb|300px|NURBS have the ability to exactly describe circles. Here, the black triangle is the control polygon of a NURBS curve (shown at w=1). The Blue dotted line shows the corresponding control polygon of a B-spline curve in 3D [[homogeneous coordinates]], formed by multiplying the NURBS by the control points by the corresponding weights. The blue parabolas are the corresponding B-spline curve in 3D, consisting of three parabolas. By choosing the NURBS control points and weights, the parabolas are parallel to the opposite face of the gray cone (with its tip at the 3D origin), so dividing by ''w'' to project the parabolas onto the ''w''=1 plane results in circular arcs (red circle; see [[conic section]]).]] Non-rational splines or [[Bézier curve]]s may approximate a circle, but they cannot represent it exactly. Rational splines can represent any conic section—including the circle—exactly. This representation is not unique, but one possibility appears below: {| class="wikitable" style="margin:1em auto; text-align: center" ! style="width:6em;" | ''x'' ! style="width:6em;" | ''y'' ! style="width:6em;" | ''z'' ! style="width:6em;" | Weight |- | 1 || 0 || 0 || 1 |- | 1 || 1 || 0 || <math>\scriptstyle\frac{\sqrt{2}}{2}</math> |- | 0 || 1 || 0 || 1 |- | -1 || 1 || 0 || <math>\scriptstyle\frac{\sqrt{2}}{2}</math> |- | -1 || 0 || 0 || 1 |- | -1 || -1 || 0 || <math>\scriptstyle\frac{\sqrt{2}}{2}</math> |- | 0 || -1 || 0 || 1 |- | 1 || -1 || 0 || <math>\scriptstyle\frac{\sqrt{2}}{2}</math> |- | 1 || 0 || 0 || 1 |} The order is three, since a circle is a quadratic curve and the spline's order is one more than the degree of its piecewise polynomial segments. The knot vector is <math>\{0, 0, 0, \pi/2, \pi/2, \pi, \pi, 3\pi/2, 3\pi/2, 2\pi, 2\pi, 2\pi\}\,</math>. The circle is composed of four quarter circles, tied together with double knots. Although double knots in a third order NURBS curve would normally result in loss of continuity in the first derivative, the control points are positioned in such a way that the first derivative is continuous. In fact, the curve is infinitely differentiable everywhere, as it must be if it exactly represents a circle. The curve represents a circle exactly, but it is not exactly parametrized in the circle's arc length. This means, for example, that the point at <math>t</math> does not lie at <math>(\sin(t), \cos(t))</math> (except for the start, middle and end point of each quarter circle, since the representation is symmetrical). This would be impossible, since the ''x'' coordinate of the circle would provide an exact rational polynomial expression for <math>\cos(t)</math>, which is impossible. The circle does make one full revolution as its parameter <math>t</math> goes from 0 to <math>2\pi</math>, but this is only because the knot vector was arbitrarily chosen as multiples of <math>\pi/2</math>.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)