Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!uwvax!rennet.cs.wisc.edu!stuart From: stuart@rennet.cs.wisc.edu (Stuart Friedberg) Newsgroups: comp.graphics Subject: Re: Bezier curves Summary: Pointers to Bezier and B-spline literature Message-ID: <8358@spool.cs.wisc.edu> Date: 12 Sep 89 16:55:24 GMT References: <273@marvin.moncam.co.uk> Sender: news@spool.cs.wisc.edu Reply-To: stuart@rennet.cs.wisc.edu (Stuart Friedberg) Organization: U of Wisconsin CS Dept Lines: 52 kaush@moncam.co.uk (Kaush Kotak) writes: >Help! I need info on how to split a single (cubic) bezier curve into two. >Given a t-value & 4 control points, how do I find values for the new control >points? There is probably a more direct method, but you can convert your Bezier curve to a B-spline, find the point at the t-value, and add a knot there with multiplicity 4 (for a cubic curve). The result is two concatenated curves joined at the knot. I used the articles listed below as sources for most of my spline and Bezier curve manipulation routines. The first one provides an algorithm to introduce a new knot to a spline. (Let me distinguish knot vertex from knot parameters .) You can convert a B-spline to a (sequence of) Bezier curve(s) by expanding each knot parameter to multiplicity 4 (for cubic curves). The control points for the (concatenated) Bezier segment(s) are the new knot vertices, 4 for each Bezier curve. The t parameter ranges between the two knot parameter values at either end. If I remember correctly (and I may be mistaken here), you can convert a Bezier curve to a B-spline trivially by treating every control point as a knot vertex, and use one knot parameter of multiplicity 4 (for cubic curves) with the value for the beginning of the curve segment (typically 0). Discrete B-Splines and Subdivision Techniques in Computer-Aided Geometric Design and Computer Graphics Elaine Cohen, Tom Lyche, and Richard Riesenfeld Computer Graphics and Image Processing, Vol. 14, No. 2, pp. 87-111, 1980 On Calculating with B-Splines Carl deBoor Journal of Approximation Theory, Vol. 6, No. 1(?), pp. 50-62, 1972 Rational B-Splines for Curve and Surface Representation Wayne Tiller IEEE Computer Graphics and Applications, Vol. 3, No. 6, pp. 61-69, 1983 Automatic Construction of a Cubic B-Spline Representation for a General Curve O. Lozover & K. Preiss Computers and Graphics, Vol. 7, No. 2, pp. 149-153, 1983 Offsets of Two-Dimensional Profiles Wayne Tiller and Eric G. Hanson IEEE Computer Graphics and Applications, Vol. 4, No. 9, pp. 36-46, 1984 Computing Offsets of B-Spline Curves Sabine Coquillart Computer-Aided Design, Vol. 19, No. 6, pp. 305-309, 1987 /* three dimensional case */