Path: utzoo!attcan!uunet!cs.utexas.edu!samsung!umich!umeecs!zip!spencer From: spencer@eecs.umich.edu (Spencer W. Thomas) Newsgroups: comp.graphics Subject: Re: How to arbitarily break a bezier. Message-ID: Date: 13 Sep 90 15:20:34 GMT References: <1990Sep12.235912.14229@allgfx.agi.oz> <776@sol.deakin.OZ.AU> Sender: news@zip.eecs.umich.edu Followup-To: comp.graphics Organization: University of Michigan EECS Dept Lines: 16 In-Reply-To: peter@aragorn.cm.deakin.oz.au's message of 13 Sep 90 06:28:54 GMT More generally, you can split a Bezier curve at an arbitrary parameter value t by using the deCasteljau algorithm. If the curve has control points P[i] numbered from 0 to n, then let P[0,i] = P[i], i = 0 .. n P[j,i] = (1-t) P[j-1,i] + t P[j-1,i+1], j = 1 .. n, i = 0 .. n - j The control points for the two halves are then L[i] = P[i,0] i = 0 .. n R[i] = P[n-i,i] i = 0 .. n Various space optimizations are possible. -- =Spencer W. Thomas EECS Dept, U of Michigan, Ann Arbor, MI 48109 spencer@eecs.umich.edu 313-936-2616 (8-6 E[SD]T M-F)