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...

3B) B-splines

B-splines are covered in some detail in SMEG section 3 and in R&A Section 5-9.

Why B-splines?

B-splines have many nice properties when compared to other families of curves which could be used. They:

Exercises
  1. How many control points are required for a quartic Bezier and how many for a quartic B-spline?
  2. Why are cubics the default for B-spline use?
  3. Explain the difference between Uniform, Open Uniform, and Non-Uniform knot vectors. What are the advantages of each type?
  4. [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? [7 marks]
  5. [2001/8/4] (a) For a given order, k, there is only one basis function for uniform B-splines. Every control point uses a shifted version of that one basis function. How many different basis functions are there for open-uniform B-splines of order k with n + 1 control points, where n >= 2k - 3? [6 marks]
    (b) Explain what is different in the cases where n < 2k - 3 compared with the cases where n >= 2k - 3. [3 marks]
    (c) Sketch the different basis functions for k = 2 and k = 3 (when n >= 2k - 3). [4 marks]
    (d) Show that the open-uniform B-spline with k = 3 and knot vector [ 0 0 0 1 1 1 ] is equivalent to the quadratic Bezier curve. [7 marks]
  6. [2002/7/9] (d) Derive the formula of and sketch a graph of N3,3(t), the third of the quadratic B-spline basis functions, for the knot vector [ 0 0 0 1 3 3 4 5 5 5 ]. [6 marks]


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: p3b.html
Page last updated on Mon Oct 14 11:52:45 BST 2002
by Neil Dodgson (nad@cl.cam.ac.uk)