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!
== Continuity == {{Main|Smooth function}} A surface under construction, e.g. the hull of a motor yacht, is usually composed of several NURBS surfaces known as '''NURBS patches''' (or just ''patches''). These [[surface patch]]es should be fitted together in such a way that the boundaries are invisible. This is mathematically expressed by the concept of [[geometric continuity]]. Higher-level tools exist that benefit from the ability of NURBS to create and establish geometric continuity of different levels: * '''Positional continuity''' (G<sup>0</sup>) holds whenever the end positions of two curves or surfaces coincide. The curves or surfaces may still meet at an angle, giving rise to a sharp corner or edge and causing broken highlights. * '''Tangential continuity''' (G¹) requires the end vectors of the curves or surfaces to be parallel and pointing the same way, ruling out sharp edges. Because highlights falling on a tangentially continuous edge are always continuous and thus look natural, this level of continuity can often be sufficient. * '''Curvature continuity''' (G²) further requires the end vectors to be of the same length and rate of length change. Highlights falling on a curvature-continuous edge do not display any change, causing the two surfaces to appear as one. This can be visually recognized as "perfectly smooth". This level of continuity is very useful in the creation of models that require many [[bi-cubic]] patches composing one continuous surface. Geometric continuity mainly refers to the shape of the resulting surface; since NURBS surfaces are functions, it is also possible to discuss the derivatives of the surface with respect to the parameters. This is known as [[parametric continuity]]. Parametric continuity of a given degree implies geometric continuity of that degree. First- and second-level parametric continuity (C<sup>0</sup> and C¹) are for practical purposes identical to positional and tangential (G<sup>0</sup> and G¹) continuity. Third-level parametric continuity (C²), however, differs from curvature continuity in that its parameterization is also continuous. In practice, C² continuity is easier to achieve if uniform B-splines are used. The definition of C<sup>''n''</sup> continuity requires that the ''n''th derivative of adjacent curves/surfaces (<math>d^n C(u)/du^n</math>) are equal at a joint.<ref>Foley, van Dam, Feiner & Hughes: ''[[Computer Graphics: Principles and Practice]]'', section 11.2, [[Addison-Wesley]] 1996 (2nd ed.).</ref> Note that the (partial) derivatives of curves and surfaces are vectors that have a direction and a magnitude; both should be equal. Highlights and reflections can reveal the perfect smoothing, which is otherwise practically impossible to achieve without NURBS surfaces that have at least G² continuity. This same principle is used as one of the surface evaluation methods whereby a [[Ray tracing (graphics)|ray-traced]] or [[reflection mapping|reflection-mapped]] image of a surface with white stripes reflecting on it will show even the smallest deviations on a surface or set of surfaces. This method is derived from car prototyping wherein surface quality is inspected by checking the quality of reflections of a neon-light ceiling on the car surface. This method is also known as "Zebra analysis".
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)