Path: utzoo!attcan!uunet!ns-mx!iowasp!maverick.ksu.ksu.edu!zaphod.mps.ohio-state.edu!samsung!cs.utexas.edu!milano!uudell!texbell!vector!egsner!csccat!larry From: larry@csccat.UUCP (Larry Spence) Newsgroups: comp.lang.postscript Subject: Re: Bezier Interpolation Keywords: non-trivial Message-ID: <3718@csccat.UUCP> Date: 6 Jun 90 19:54:10 GMT References: <21535@megaron.cs.arizona.edu> <7232@jarthur.Claremont.EDU> <3710@csccat.UUCP> <1304@chinacat.Unicom.COM> Reply-To: larry@csccat.UUCP (Larry Spence) Organization: Computer Support Corporation. Dallas,Texas Lines: 29 In article <1304@chinacat.Unicom.COM> woody@chinacat.Unicom.COM (Woody Baker @ Eagle Signal) writes: > >Since you >are moving the points closer and closer to the final line, it seems to me >that you could take the final line, divide it up into segments that are >an even power of 2 or whatever, and then start moving points backward, and >reducing the number of points until you got back to only 2 end points and >2 control points, at which point you should have your original control and >end points back. Uh uh. First, how can you know which sequences of data points correspond to the individual Bezier segments in the original outline? In other words, how do you look at your input data and say, "those points between p[23] and p[98], yeah, those are from exactly one Bezier segment, and p[98] to p[227], that's from another Bezier segment"? Second, you have to calculate a parametrization for the data -- the point in the middle of a curve doesn't necessarily correspond to the parameter value 0.5. So to answer your last question, the subdivision isn't easily reversible; you've lost the parametrization. If you knew the parametrization and where to set the breakpoints, then it _would_ be trivial. Your approach as stated also makes no provision for maintaining tangent continuity between adjacent segments, and would be very susceptible to noise in the input data. -- Larry Spence larry@csccat ...{texbell,texsun}!csccat!larry