[metapost] cubic b'ezier curves

Larry Siebenmann laurent at math.toronto.edu
Thu Feb 10 00:36:35 CET 2005



Hello Dan, and others

I once worked through the affine classification of bezier
cubics (in late 1991 it seems) and so I can check yours.

Modulo my own possible slipups you seem to have just 2
duplications in:

 > Here's the full list: 
 > 
 >   (0,0)        trivial paths
 >   (0,t)        straight line
 >   (0,t^2)      half-line covered twice
 >   (0,t^3)      line covered once with a pause (f'(t) = (0,0)) at t=0
 >   (0,t+t^3)    same, but no pauses
 >   (0,-t+t^3)   line, but reverses direction at t=-1/sqrt3 and again at 1/sqrt3
 >   (t,t^2)      parabola
 >   (t,t^3)      y = x^3, ypart pauses at t=0
 >   (t,t+t^3)    like above, but ypart never pauses
 >   (t,-t+t^3)   as above, but ypart pauses twice.
 >   (t^2,t^3)    cusp at t=0
 >   (t^2,t+t^3)  smooth, no loop, inflections at t=1/sqrt3 and t=-1/sqrt3
 >   (t^2,-t+t^3) smooth, loop, selfintersecting at t=1 and t=-1.

The duplications:- the three cases

 >   (t,t^3)      y = x^3, ypart pauses at t=0
 >   (t,t+t^3)    like above, but ypart never pauses
 >   (t,-t+t^3)   as above, but ypart pauses twice.

are one and the same.  The linear selfmap of R^2 given by (x,y) 
|-> (x,y + ax) sends the first curve to (t,at+t^3). So the next 
two are equivalent to the first.  Thus there are 7 not 9 normal 
forms for degree exactly 3.

I notice that I even wrote up (but never posted) an exposition 
of one possible classification procedure for the last two cases. 
It was to be a sequel to my posting on the metafont list of Tue, 
18 Dec 2001 06:34:16 -0500, see metafont archives at 
<http://www.gutenberg.eu.org/pub/gut>. That posting was called 
"# quadratic bezier curves in metafont" and was the third in a 
row on the relation of cubic and quadratic b'ezier curves; none 
received any response -- and radio silence ensued for 3 weeks!

I called curves in either of the last two classes "generic cubic 
b'ezier curves" because they collectively form an open dense set 
in the space of all cubic b'ezier curves. Thus, if you jiggle 
the control points of any bezier cubic ever so slightly you 
almost certainly land up in one of these two classes.  I'll have 
to reread the exposition to see if it is still worth posting.  
My methods have evolved. 

Cheers, 

Laurent Siebenmann



More information about the metapost mailing list