实验目的:
(1) 指定图形运动轨迹,实现物体的移动过程和移动速度控制;
(2)理解并掌握形体的投影变换的原理;
动画的原理:
1.显示一个对象,然后把它抹去,把这个图形进行变换后,再在新位置予以显示.当上述过程重复执行时,在视觉上便产生了运动;
2. getimage函数和 putimage函数、imagesize函数、malloc 函数、 cleardevice函数的使用。
实验题目:
1.图形的移动
显示两个图形,然后移动其中一个图形.当被移动的图形超出屏幕范围时,输
出错误信息“Coordinate out of range”并结束。
实验代码;
#include<graphics.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
void delay() {
for(int i = 0; i < 1000; i++)
for(int j = 0; j < 100; j++)
for(int K = 0; K < 100; K++);
}
main() {
IMAGE w;
int gdriver = DETECT,gmode;
initgraph(&gdriver,&gmode," ");
initgraph(500,500);
setbkcolor(RED);
cleardevice();
getimage(&w,1,1,100,100);
for(int i = 1; i < 500; i++) {
putimage(i + 1, i + 1, &w, 0);
if(i >= 400) {
printf("Coordinate out of range\n");
return ;
}
rectangle ( 100,100,200,200) ;
setfillcolor(RED);
delay();
cleardevice();
}
getch();
closegraph;
}