Math 155B - Winter 2000 - Homework Assignments

These are the written (non-programming) homework assignments given in class.  They are usually due one week after being assigned, with a one lecture grace period.

1. (Due January 19.)  Finish the proof of the following properties of uniform B-splines: (a) continuity of first-derivatives, (b) continuity of second-derivatives, (c) the sum of the blending functions, Bi(u), equals 1 for appropriate values of  the parameter u.   Explicitly give the formulas for the first and second derivatives of the functions RiAnd explicitly give the values of their first and derivatives at the endpoints of the interval [0,1].
2. (Due February 2.) Compute the degree 2 blending functions B_{i,2} for the knot vector [0,0,0,1,1,2,2,2]. Conclude that a B-spline curve with that knot vector and with control points P_0, P_1, P_2, P_3, P_4 and P_5, is the same as the two degree 2 Bezier curves with control points P_0, P_1, P_2 and P_2, P_3, P_4.
3. (Due February 4.) Let Q(u) be the curve in the plane which is the rational degree 2 B-spline curve with knot vector [0,0,0,1,1,1] and with control points (1,0,1), (1/2,1/2,1/2) and (0,1,1). Prove that Q(u) is the 90 degree arc of the unit circle in the first quadrant.
4. (Due February 4.) Let Q(u) be the curve in the plane which is the rational degree 2 B-spline curve with knot vector [0,0,0,1,1,1] and with control points (sqrt(3)/2,1/2,1), (0,2h,h) and (-sqrt(3)/2,1/2,1). Find the value of h that makes Q(u) be a 120 degree arc of the unit circle (the top third of the circle).
5. (Due February 4.) Prove that there is no degree 2 non-rational Bezier curve which traces out the 90 degree arc of the unit circle in the first quadrant. Depending on your proof, it might be able to show that there is no non-rational Bezier curve that traces out any non-trivial part of the unit circle, if so include this too.
6. (Due February 4.) Prove that any degree 2 rational Bezier curve in the plane traces out (a portion of) a conic section.
7. (Due February 9.) Reformulate Catmull-Rom splines so that they will work with a chord-length parameterization.  This may optionally involve re-working Catmull-Rom splines to work with an arbitrary sequence of distinct u-values for the interpolation points.
8. (Due February 7.) For anyone who did not attend the 3D Studio Max presentations:  Work through the features described in the handout at 15_3DStudio.html. Save a copy of a few of your graphical creations to show to either Frank Chang or Sam Buss to illustrate your knowledge.   This should include a Bezier and spline curves and ruled surface (or other kind of lofted or railed spline surface).  You should also be sure to learn how to edit CV curves and CV surfaces.
9. (Due March 6.)  In class, we partially described an algorithm for intersecting a ray with a convex polytope.  Give a complete description of this algorithm (in pseudocode, not in C++).  Use the notations from the class lecture: the polytope is the set { x : mi·x <= di, i=1,...,n}.   You may assume the viewpoint p is outside the polytope.  Do not forget to include provision for  (a) handling the case of hitting a backface plane and (b) handling the case of  a bounding plane which is parallel to the ray.