Write a program to draw Bezier curve.

 

Write a program to draw Bezier curve.

  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. #include <graphics.h>  
  4. #include <math.h>  
  5.   
  6. void bezier (int x[4], int y[4])  
  7. {  
  8.     int gd = DETECT, gm;  
  9.     int i;  
  10.     double t;  
  11.     initgraph (&gd, &gm, "C:\\tc\\bgi");  
  12.   
  13.     for (t = 0.0; t < 1.0; t += 0.0005)  
  14.     {  
  15.     double xt = pow (1-t, 3) * x[0] + 3 * t * pow (1-t, 2) * x[1] +  
  16.             3 * pow (t, 2) * (1-t) * x[2] + pow (t, 3) * x[3];  
  17.   
  18.     double yt = pow (1-t, 3) * y[0] + 3 * t * pow (1-t, 2) * y[1] +  
  19.             3 * pow (t, 2) * (1-t) * y[2] + pow (t, 3) * y[3];  
  20.   
  21.     putpixel (xt, yt, WHITE);  
  22.     }  
  23.   for (i=0; i<4; i++)  
  24.     putpixel (x[i], y[i], YELLOW);  
  25.   
  26.     getch();  
  27.     closegraph();  
  28.     return;  
  29. }  
  30.   
  31. void main()  
  32. {  
  33.     int x[4], y[4];  
  34.     int i;  
  35.     printf ("Enter the x- and y-coordinates of the four control points.\n");  
  36.     for (i=0; i<4; i++)  
  37.    scanf ("%d%d", &x[i], &y[i]);  
  38.     bezier (x, y);  
  39.  }           

Output

Computer Graphics Programs
Computer Graphics Programs

Post a Comment

Previous Post Next Post