⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 绘制beizer曲线源码
💻 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 + -