Code:
#include<iostream>
#include<conio.h>
#include<dos.h>
#include<graphics.h>
using namespace std;
int main(){
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:\\TC\\BGI");
int px,py,i,n;
cout<<"Enter the number of control points: ";
cin>>n;
int x[n],y[n];
cout<<"Enter the coordinates of control points for bezier curve: ";
for(i=0;i<n;i++)
{
cin>>x[i]>>y[i];
}
for(i=0;i<n-1;i++)
{
line(x[i],y[i],x[i+1],y[i+1]);
}
double t;
for(t=0.0;t<=1.0;t+=0.001)
{
px=(1-t)*(1-t)*(1-t)*x[0]+3*t*(1-t)*(1-t)*x[1]+3*t*t*(1-t)*x[2]+t*t*t*x[3];
py=(1-t)*(1-t)*(1-t)*y[0]+3*t*(1-t)*(1-t)*y[1]+3*t*t*(1-t)*y[2]+t*t*t*y[3];
putpixel(px,py,YELLOW);
delay(1);
}
getch();
closegraph();
return 0;
}
Output:
![](https://static.wixstatic.com/media/a70a1f_6a5e6217a1ab4c3cb05adc445f242e91~mv2.png/v1/fill/w_980,h_473,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/a70a1f_6a5e6217a1ab4c3cb05adc445f242e91~mv2.png)
![](https://static.wixstatic.com/media/a70a1f_31c8b824d74f4f8bab136e5e69b3fb3f~mv2.png/v1/fill/w_980,h_366,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/a70a1f_31c8b824d74f4f8bab136e5e69b3fb3f~mv2.png)
Comments