CS229 Homework 1

Due Wednesday, Sept 13 in class.
  1. Explain how you would construct a one-dimensional B-Spline curve to approximate a large number of data points. Assume you have m data points, equally spaced in time (e.g. the z position of the root of the body in a motion capture data sequence). You would like to fit that data as well as possible using a B-Spline having n control points, where n << m.

  2. Modify your solution to create a repeating cycle. If you attach a second copy of your curve at the end of the original, the join should be C2 continuous.

  3. (Bonus) Once a B-Spline curve has been created, a user may want to directly modify that curve by altering its value at a specific time. (This is a typical step in interactive motion editing.) Four B-Spline control points will need to be modified to create a new curve that interpolates the given data point. Compute changes to those four control points that achieve the goal and explain why your solution is a good one. (Hint: you may find the Lee, Wolberg, and Shin paper to be helpful, but your derivation should contain much more detail than theirs.)


Nancy Pollard