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!
== Manipulating NURBS objects == [[File:motoryacht design i.png|thumb|250px|right|[[Motoryacht]] design using NURBS surfaces]] A number of transformations can be applied to a NURBS object. For instance, if some curve is defined using a certain degree and N control points, the same curve can be expressed using the same degree and N+1 control points. In the process a number of control points change position and a knot is inserted in the knot vector. These manipulations are used extensively during interactive design. When adding a control point, the shape of the curve should stay the same, forming the starting point for further adjustments. A number of these operations are discussed below.<ref name="nurbs-book" /><ref>{{cite journal | last1 = Piegl | first1 = L. | year = 1989| title = Modifying the shape of rational B-splines. Part 1: curves | journal = Computer-Aided Design | volume = 21 | issue = 8| pages = 509β518 | doi = 10.1016/0010-4485(89)90059-6 }}</ref> === Knot insertion === As the term suggests, '''knot insertion''' inserts a knot into the knot vector. If the degree of the curve is <math>n</math>, then <math>n-1</math> control points are replaced by <math>n</math> new ones. The shape of the curve stays the same. A knot can be inserted multiple times, up to the maximum multiplicity of the knot. This is sometimes referred to as '''knot refinement''' and can be achieved by an algorithm that is more efficient than repeated knot insertion. === Knot removal === '''Knot removal''' is the reverse of knot insertion. Its purpose is to remove knots and the associated control points in order to get a more compact representation. Obviously, this is not always possible while retaining the exact shape of the curve. In practice, a tolerance in the accuracy is used to determine whether a knot can be removed. The process is used to clean up after an interactive session in which control points may have been added manually, or after importing a curve from a different representation, where a straightforward conversion process leads to redundant control points. === Degree elevation === A NURBS curve of a particular degree can always be represented by a NURBS curve of higher degree. This is frequently used when combining separate NURBS curves, e.g., when creating a NURBS surface interpolating between a set of NURBS curves or when unifying adjacent curves. In the process, the different curves should be brought to the same degree, usually the maximum degree of the set of curves. The process is known as '''degree elevation'''. === Curvature === The most important property in [[differential geometry]] is the [[curvature]] <math>\kappa</math>. It describes the local properties (edges, corners, etc.) and relations between the first and second derivative, and thus, the precise curve shape. Having determined the derivatives it is easy to compute <math>\kappa=\frac{|r'(t) \times r''(t)|}{|r'(t)|^3}</math> or approximated as the arclength from the second derivative <math>\kappa=|r''(s_o)|</math>. The direct computation of the curvature <math>\kappa</math> with these equations is the big advantage of parameterized curves against their polygonal representations.
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)