[Back to GRAPHICS SWAG index] [Back to Main SWAG index] [Original]

    {
    From: SCOTT BRADSHAW
    Subj: RIP BEZIER CURVES
    ---------------------------------------------------------------------------
    Well, I had a whole RIP unit I made for Turbo Pascal over the modem,
    but it got lost in a HD crash. I am really not that interested in
    RIP anymore, but I will give you mu source to the Bezier Curve. It
    should be pretty close to what your looking for...
    }
    program bezier;
    uses graph,crt;

    procedure Bezier_2D_Curve( x, y, cx,cy,a,b,ca,cb:integer;incr:real);
    var
       qx, qy :real;
       q1, q2, q3, q4:real;
       plotx, ploty:integer;
       t:real;

        begin
          t := 0;
        while (t <= 1) do begin
          q1 := t*t*t*-1 + t*t*3 + t*-3 + 1;
          q2 := t*t*t*3 + t*t*-6 + t*3;
          q3 := t*t*t*-3 + t*t*3;
          q4 := t*t*t;
          qx := q1*x + q2*cx + q3*a + q4*ca;
          qy := q1*y + q2*cy + q3*b + q4*cb;
          plotx := round(qx);
          ploty := round(qy);
          putpixel( plotx, ploty, 15);
          t := t + incr;
       end;
    end;

    var gd,gm:integer;
        c:char;
    begin
       gd := VGA;
       gm := VGAHI;
       initgraph(gd,gm,'\turbo\tp');
       setcolor( BLUE );
       Bezier_2D_Curve( 100, 400, 25, 450, 120, 275, 300, 455,0.003 );
       c:=readkey;
       Bezier_2D_Curve( 310, 200, 360, 150, 510, 200, 460, 250,0.003 );
       c:=readkey;
    end.

[Back to GRAPHICS SWAG index] [Back to Main SWAG index] [Original]