Advanced Graphics,
Dr Neil Dodgson,
University of Cambridge
Computer Laboratory
Part II course, 2002 and 2003
Part 3: Splines
A: Bezier curves
B: B-splines
C: NURBS
...back to part 2 | on to part 4...
3C) NURBS
NURBS are covered in SMEG section
4 and in some detail in R&A Section 5-13.
Non-uniform rational B-splines are the curves that are currently used
in any graphics application that requires curves and surfaces with
more functionality than Bezier curves can offer. In addition to the
features listed in Part 3B, NURBS are
invarient with respect to perspective transforms.
NURBS are generally rendered by converting them to lots of small
polygons and then using PSC. They can also by ray traced, but a
general analytic ray-NURBS intersection algorithm is a nightmare, so
numerical techniques are used to find the intersection point.
NURBS curves incorporate -- as special cases -- uniform B-splines,
non-rational B-splines, Bezier curves, lines, and conics. NURBS
surfaces incorporate planes, quadrics, and tori. Note that this does
not quite mean what it says. It is tricky to get NURBS to represent
infinite surfaces, but they can certainly represent finite
sections of infinite surfaces such as planes, parabaloids, and
hyperboloids.
If you want to experiment with NURBS curves then there are a number of
on-line tutorials. One such is:
http://www.cs.technion.ac.il/~cs234325/Homepage/Applets/applets/bspline/html/
Exercises
- Review from IB: What are homogeneous
coordinates and what are they used for in computer graphics?
- Explain how to use homogeneous coordinates to get rational
B-splines given that you know how to produce non-rational B-splines.
- What are the advantages of NURBS over Bezier curves?
(i.e. why have NURBS, in general, replaced Bezier curves in CAD?)
- Show that you understand why NURBS includes
Uniform B-splines, Non-Rational B-splines, Beziers, lines, conics,
quadrics, and tori.
- [1998/7/12] Consider the design of a user interface for a NURBS
drawing system. Users should have access to the full expressive power
of the NURBS representation. What things should users be able to
modify to give them such access and what effect does each have on the
resulting shape? [6 marks]
- For each of the items (in the previous question) that the user can
edit: (i) Give sensible default values; (ii) Explain how they would be
constrained if a `demo' version of the software was to be limited to
cubic Uniform Non-rational B-Splines.
- [1999/7/11] (c) Show how to construct a circle using non-uniform
rational B-splines (NURBS). [8 marks]
[This question is ludicrously
hard unless you remember the worked example in SMEG Section 4.1
or R&A pages 371-375.] (d) Show how the circle
definition from the previous part can be used to define a NURBS
torus. [4marks] [You need explain only the general principle and
the location of the torus' control points.]
|
Part 3: Splines
A: Bezier curves
B: B-splines
C: NURBS
...back to part 2 | on to part 4...
Neil Dodgson |
Advanced Graphics |
Computer Laboratory
Source file: p3c.html
Page last updated on Mon Oct 14 11:52:45 BST 2002
by Neil Dodgson (nad@cl.cam.ac.uk)