Chapter Questions
Write a routine to display a two-dimensional cardinal-spline curve, given an input set of control points in the $x y$ plane.
Write a program using the routine developed in the previous exercise to display a two dimensional cardinal spline curve in the $x y$ plane along with the control points used to generate the curve. The curve should be drawn in black (on a white background) and the control points should be drawn in blue. Additionally, allow the user to modify the control points via keyboard input. The user should be able to cycle through the control points and move each one around in the xy plane. The currently selected control point should be drawn in red. The curve should be redrawn each time a control point is moved.
Write a routine to display a two-dimensional Kochanek-Bartels curve, given an input set of control points in the $x y$ plane.
Write a program using the routine developed in the previous exercise similar to the program in Exercise 2. Control points should be drawn in addition to the curve on a white background and the user should be able to edit the control points in the same manner. The curve should be redrawn each time a control point is moved.
What are the Bézier-curve blending functions for three control points specified in the $x y$ plane? Plot each function and identify the minimum and maximum blending-function values.
What are the Bézier-curve blending functions for five control points specified in the xy plane? Plot each function and identify the minimum and maximum blending-function values.
Modify the program example in Section 8 to display any cubic Bézier curve, given a set of four input control points in the $x y$ plane.
Modify the program example in Section 8 to display a Bézier curve of degree $n-1$, given a set of n input control points in the $x y$ plane.
Complete the OpenGL programming example in Section 8 to display any cubic Bézier curve, given a set of four input control points in the $x y$ plane.
Modify the program in the previous exercise to allow the user to edit the control points using keyboard input as in Exercise 2. The currently selected control point should be drawn in red, and the others in blue. The curve should be drawn in black and redrawn each time a control point is moved.
Modify the OpenGL program example in Section 8 to display any spatial cubic Bézier curve, given a set of four input control points in $x y z$ space. Use an orthogonal projection to display the curve, with the viewing parameters specified as input.
Write a routine that can be used to design two-dimensional Bézier curve shapes that have first-order piecewise continuity. The number and position of the control points for each section of the curve are to be specified as input.
Use the routine developed in the previous exercise to allow the user to edit the control points using keyboard input as in Exercise 2. Controls points should be displayed in the same manner.
Write a routine that can be used to design two-dimensional Bézier curve shapes that have second-order piecewise continuity. The number and position of the control points for each section of the curve are to be specified as input.
Modify the program example in Section 8 to display any cuble Bézier curve, given a set of four input control points in the xy plane, using the subdivision method to calculate curve points.
Modify the program example in Section 8 to display any cubic Bézier curve, given a set of four input control points in the $x y$ plane, using forward differences to calculate curve points.
What are the blending functions for a twodimensional, uniform, periodic B-spline curve with $d=5 ?$
What are the blending functions for a twodimensional, uniform, periodic B-spline curve with $d=6$ ?
Modify the programming example in Section 10 to display a two-dimensional, uniform, periodic B-spline curve, given an input set of control points, using forward differences to calculate positions along the curve path.
Modify the program in the previous example to display the B-spline curve using OpenGL functions.
Modify the program in the previous exercise to allow the user to edit the control points using keyboard input as in Exercise 2. Controls points should be displayed in the same manner.
Write a routine to display any specified conic in the $x y$ plane using a rational Bézier-spline representation.
Write a routine to display any specified conic in the $x y$ plane using a rational $\mathrm{B}-s \mathrm{pline~representa-~}$ tion.
Develop an algorithm for calculating the normal vector to a Bézier surface at a given point $\mathbf{P}(\mathrm{u}, \mathrm{v})$.
Derive expressions for calculating the forward differences for a given quadratic curve.
Derive expressions for calculating the forward differences for a given cubic curve.