计算机图形学实验五——简单动画的实现
Posted 大灬白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机图形学实验五——简单动画的实现相关的知识,希望对你有一定的参考价值。
【实验名称】 简单动画的实现
【实验目的】
(1)指定图形运动轨迹,实现物体的移动过程和移动速度控制;
【实验原理】
1)简单动画的原理:显示一个对象,然后把它抹去,把这个图形进行变换后,再在新位置予以显示.当上述过程重复执行时,在视觉上便产生了运动。
【实验内容】
1.图形的移动
显示两个图形,然后移动其中一个图形.当被移动的图形超出屏幕范围时,输
出错误信息“Coordinate out of range”并结束。
【源代码】
#include<graphics.h>
#include<stdio.h>
#include<conio.h>
void delay()//控制图形移动的速度
{
for(int i=0;i<300;i++)
for(int j=0;j<300;j++)
for(int k=0;k<300;k++);
}
int main()
{
IMAGE w;
int driver=DETECT,mode;
initgraph(&driver,&mode,"");
setbkcolor(GREEN);
getimage(&w,1,1,100,100);
for(int i=1;i<400;i++)
{
putimage(i+20,100,&w,0);/*清除当前矩形*/
putimage(i+20,100,&w,1);/*在新位置显示矩形*/
if(i>=400)
{
printf("Coordinate out of range\\n");
return 0;
}
setcolor(YELLOW);//将未移动的图形的边框置为黄色
rectangle(100,100,200,200);
delay();
cleardevice();
}
getch();
closegraph();
return 0;
}
【实验截图】
【小结或讨论】
本次实验是简单动画的实现。该实验的原理为:显示一个对象,然后把它抹去,把这个图形进行变换后,再在新位置予以显示.当上述过程重复执行时,在视觉上便产生了运动。
在本次实验中,使用了一个delay函数,用以控制图形的移动速度。使用了两个putimage(x,y,p,op)函数,当op=0时,清除当前矩形;op=1时,显示新位置图形。
总体来说,此次实验比较简单,主要就是各类函数的使用。通过此次实验,我对图形运动有了更加深刻地理解,但代码的实现还需要多加练习。
以上是关于计算机图形学实验五——简单动画的实现的主要内容,如果未能解决你的问题,请参考以下文章
手把手制作太阳系运行模型,纹理贴图模型变换动画计算机图形学(OpenGLC++实现超级详细)