📄 main.cpp
字号:
/*Beziel曲线源程序*/
# include<graphics.h>
# include<conio.h>
# include<iostream.h>
# include"a:\tu\mouse.cpp"
struct pix
{ int x;
int y;
}in[5];
int m[5][5];
void main()
{ int gr,gm,xi,yi;
gr=VGA;gm=VGAHI;
initgraph(&gr,&gm,"c:\\tc3\\bgi");
int i=0;//,j=0;
ShowMouse();
/*for(i=1;i<=4;i++)
{ cin>>in[i].x>>in[i].y;
putpixel(in[i].x,in[i].y,WHITE);
//in[i].x=xi;
//in[i].y=yi;
} */
while(i<4)
{ delay(200);
GetMouseStatus(&x,&y,&Button);
if(Button==1)
{ i++;
HideMouse();
putpixel(x,y,YELLOW);
ShowMouse();
in[i].x=x;
in[i].y=y;
}
}
m[1][1]=-1; m[1][2]=3; m[1][3]=-3; m[1][4]=1;
m[2][1]=3; m[2][2]=-6; m[2][3]=3; m[2][4]=0;
m[3][1]=-3; m[3][2]=3; m[3][3]=0; m[3][4]=0;
m[4][1]=1; m[4][2]=0; m[4][3]=0; m[4][4]=0;
double t=0;
int xx1=in[1].x,yy1=in[1].y;
while(t<=1)
{ int ax=-in[1].x+3*in[2].x-3*in[3].x+in[4].x;
int bx=3*in[1].x-6*in[2].x+3*in[3].x;
int cx=-3*in[1].x+3*in[2].x;
int dx=in[1].x;
int ay=-in[1].y+3*in[2].y-3*in[3].y+in[4].y;
int by=3*in[1].y-6*in[2].y+3*in[3].y;
int cy=-3*in[1].y+3*in[2].y;
int dy=in[1].y;
int xx2=ax*t*t*t+bx*t*t+cx*t+dx;
int yy2=ay*t*t*t+by*t*t+cy*t+dy;
setcolor(YELLOW);
line(xx1,yy1,xx2,yy2);
t+=0.02;
xx1=xx2;
yy1=yy2;
}
HideMouse();
line(xx1,yy1,in[4].x,in[4].y);
ShowMouse();
getch();
closegraph();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -