Advanced Graphics Study Guide

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
  1. Review from IB: What are homogeneous coordinates and what are they used for in computer graphics?
  2. Explain how to use homogeneous coordinates to get rational B-splines given that you know how to produce non-rational B-splines.
  3. What are the advantages of NURBS over Bezier curves? (i.e. why have NURBS, in general, replaced Bezier curves in CAD?)
  4. Show that you understand why NURBS includes Uniform B-splines, Non-Rational B-splines, Beziers, lines, conics, quadrics, and tori.
  5. [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]
  6. 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.
  7. [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)