Advanced Graphics Study Guide

Advanced Graphics, Dr Neil Dodgson, University of Cambridge Computer Laboratory
Part II course, 2000


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 curves incorporate -- as special cases -- uniform B-splines, non-rational B-splines, Bezier curves, lines, and conics. NURBS surfaces incorporate planes, quadrics, and tori.

Exercises
  1. Review from IB: What are homogeneous coordinates and what are they used for in computer graphics?
  2. Explain how to use homegeneous coordinates to get rational B-splines given that you know how to produce non-rational B-splines.
  3. Show that you understand why NURBS includes Uniform B-splines, Non-Rational B-splines, Beziers, lines, conics, quadrics, and tori.
  4. When would you use Bezier curves and when would you use B-splines? (i.e. why have B-splines, in general, replaced Bezier curves in CAD?)
  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. 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). (d) Show how the circle definition from the previous part can be used to define a NURBS torus. [You need explain only the general principle and the location of the torus' control points.]
  8. [2000/9/4] (b) A non-rational B-spline has knot vector [1,2,4,7,8,10,12]. Derive the first of the third order (second degree) basis functions, N1,3(t), and graph it. If this knot vector were used to draw a third order B-spline, how many control points would be required?


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 Thu Sep 14 16:58:06 BST 2000
by Neil Dodgson (nad@cl.cam.ac.uk)