Bezier Curve: with control points A, B, C, D. ___---C ___--- | B--- | | | | | ---A-------+-------D--- A=(-1, 0) B=(-1, a) C=( 1, b) D=( 1, 0) Egg curve: t in [-1, 1] x(t) = (3t - t^3)/2 y(t) = 3 ( (a+b) + (-a+b)t + (-a-b)t^2 + (a-b)t^3 ) / 8 = 3*(1-t)*(1+t)*( a*(1-t) + b*(1+t) )/8 x'(t) = 3 (1 - t^2)/2 y'(t) = 3 ( (-a+b) + 2(-a-b)t + 3(a-b)t^2 ) / 8 Egg curve: t in [0,1]. With Bernstein Polynomials B[n,k](t) = Binomial[n,k] * t^k * (1-t)^(n-k) (x(t), y(t)) = A*B[3,0](t) + B*B[3,1](t) + C*B[3,2](t) + D*B[3,3](t) x(t) = - B[3,0](t) - B[3,1](t) + B[3,2](t) + B[3,3](t) = -1 + 2 B[3,2](t) + 2 B[3,3](t) = -4 t^3 + 6 t^2 - 1 y(t) = a*B[3,1](t) + b*B[3,2](t) = 3*t*(1-t)*( a*(1-t) + b*t ) x'(t) = 12 t (1-t) y'(t) = 3 ((1-t)(1-3t)a + t(2-3t)b) - Simple Bezier Drawing Tool http://www.cs.huji.ac.il/~arik/java/ex2/ - Bezier Applet http://users.comlab.ox.ac.uk/joe.pitt-francis/java/Bezier/Bezier.html - Bezier Curve Applet http://www.dcc.ufba.br/mat056/java/Bezier.html