#include<stdio.h>
#include<graphics.h>
#include<conio.h>
int initjuzhen(int m[3][3])
{
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
m[i][j]=0;
for(i=0;i<3;i++)
m[i][i]=1;
}
main()
{
int x0,y0,x1,y1,i,j;
int a[3][3];
char key;
int gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode," ");
cleardevice();
x0=250;y0=120;x1=350;y1=220;
line(x0,y0,x1,y1);
for(;;)
{
outtextxy(100,400,"<-:left->:right^:up v:down Esc->exit");
key=getch();
initjuzhen(a);
switch(key)
{
case 75:a[2][0]=-10;break;
case 77:a[2][0]=10;break;
case 72:a[2][1]=-10;break;
case 80:a[2][1]=10;break;
case 27:exit();break;
}
x0=x0*a[0][0]+y0*a[1][0]+a[2][0];
y0=x0*a[0][1]+y0*a[1][1]+a[2][1];
x1=x1*a[0][0]+y1*a[1][0]+a[2][0];
y1=x1*a[0][1]+y1*a[1][1]+a[2][1];
clearviewport();
line(x0,y0,x1,y1);
}
closegraph();
}
//按上下左右键平移,ESC键退出
图形二维变换
最新推荐文章于 2023-11-18 16:42:20 发布