汽车动画程序课程设计.doc
《汽车动画程序课程设计.doc》由会员分享,可在线阅读,更多相关《汽车动画程序课程设计.doc(20页珍藏版)》请在沃文网上搜索。
1、目录摘要IAbstractII1.计算机显示动画的基本原理12.设计任务分析23.汽车动画程序流程图34调试程序记录及演示结果屏幕截图75.课程设计的心得与体会9参考文献10附录 总程序代码11摘要 本课程设计是按照点像素图形的动画显示方式而设计的一个汽车动画。首先提示键入字符1和Q,来选择演示动画或者退出。按下“1”,则动画开始,屏幕第九行零列的地方出现一辆汽车图像,并且在屏幕上从左向右移动,到达屏幕最右侧后,返回提示界面,按“Q”则退出程序。通过读取汽车字符表来显示字符组合,从而画出一个汽车图像,延时后擦除屏幕上的汽车图像,在被擦除图像的X轴递减方向重画一次,如此循环来实现汽车在屏幕上由左
2、向右的平移变换。关键字:汽车字符表 延时 擦除 重画Abstract This course is designed in accordance with the point-pixel display animated graphics and animation design a car. Prompt, type the first characters 1 and Q, to select the animation demo or quit. Press 1, the animation to start, the screen out in the ninth line of ze
3、ro places a car image, and on the screen from left to right movement, arrived at the far right of the screen, return prompted interface, according to Q is withdraw from the program. Automotive characters by reading table to show the character combinations, which painted a car image, delay after the
4、erasure of the car on the screen image, erase the image in the X-axis direction descending redraw once, so cycle the operation to achieve。Keyword: Automotive character table erase redraw delayII 武汉理工大学微机原理与接口技术课程设计说明书1.计算机显示动画的基本原理在计算机图形设计中,汇编语言具有潜在的优点,因为显示屏幕上的一个图像由几十万个元素组成,处理这些图像元素需要大量的指令,就速度而言,汇编语
5、言程序远比高级语言快得多。最高级的图形级数,例如动画软件,只有以汇编语言设计才能产生更加逼真,更有效的动态画面效果。屏幕物体的动画效果,经常通过几何变换来产生,最简单的几何变换有平移、旋转、和比例变换。在所有情况下,变换都是以一个新的图像代替先前的图像来实现。在简单得平移变换中,如果在连续递增的X坐标上不断得重画物体,就会在屏幕上出现物体从左向右水平移动的画面。在动画软件中,不仅要能画出一系列连续的图像,而且要能从屏幕上擦除先前的图像,否则,运动得物体就会在屏幕上留下痕迹。擦除和重画屏幕物体的周期有几种实现得方法,最直接得一种方法是在显示图形之前,把图形将要占据的屏幕部分的背景图像保存下来,当
6、要擦除图形时,再把保存得背景图像重新显示出来。通过BIOS设置可以来确定计算机的显示方式,这些显示方式决定着显示分辨率,可同时显示的颜色数,每个像素占用的位数,默认字符集,显存的组织以及显存的起始地址此类信息。显示方式又分为两类:文本方式和图形方式。文本方式主要用于字符文本处理,图形方式又称为所有点可寻址方式。在图形方式下,可通过读写屏幕上各个点的映像显示出单色或彩色图形。BIOS显示例程提供了设置各种文本和图像显示方式的功能,程序只要给出调用参数,使用BIOS INT 10H即可建立某种显示方式。图形适配器有两种操作方式:文本和图形方式,文本方式是图形适配器的默认方式。利用BIOS INT1
7、0H的功能00可为当前的执行程序初始化显示方式或在文本方式和图形方式之间切换。显示器一旦设置成图形方式,光标即消失。2.设计任务分析本次课设任务是设计在屏幕上显示汽车由左至右驶过的程序,要求程序按Q退出。首先要想到要再屏幕上显示一个小车,然后再让它移动起来。在前面一章中提到了显示方式的问题,就显示一辆小车来说,很显然,图形方式更为适合。 确定了显示方式,我们再考虑怎么把小车在屏幕上画出来,可以给小车列一个字符图形表,然后确定其起始位置,在自己定义的起始位置上, 通过调用事先定义好得汽车图像字符表中字符,编写循环调用程序,使其依次在屏幕上显示,所有的字符都显示出来后,在屏幕上就得到了一个小车的图
8、像。下一步是考虑怎样让小车在水平上移动起来。在前一章中已经提到,屏幕物体的动画效果的实现方法。在特定起始位置画出一个小车后,加以一定的延时,然后用原来保存的背景(上一步画出的小车占据的屏幕原来的背景信息)去覆盖上这个小车的图像,实现擦除。移动指针的方法在右边(行号增1)重复刚才的画小车操作,就可以在屏幕上显示出小车由左至右驶过的感觉。对于方案的选择,存在于两个地方,首先是显示方式的选择,因为文本方式适用于处理字符文本,对于显示一个图像不易实现。在图形方式下,可通过读写屏幕上各个点的映像显示出单色或彩色图形。可以通过BIOS设置INT 10的00功能调用参数AL=04设置显示方式为320*200
9、图形四色。另外一个就是擦除屏幕的方法选择,一种就是前面提到的保存背景信息然后覆盖来实现擦除,这种方法比较直接。另外就是基于XOR的操作方法,因为对于一个数值XOR两次就能恢复原来的内容,这样的方法虽然对于单个数值来说操作简单快速,但是对于屏幕信息一次XOR后的结果,很难控制其结果为显示一个小车。故选择第一个方案。3.汽车动画程序流程图第二章中进行了设计任务的分析,设计方案的选择和总体的概略设计,由此我们可以画出总程序流程图。首先是主程序流程图的设计, 在程序开始后,希望屏幕上出现一条提示信息,是选择演示汽车动画,还是退出。然后读取键盘上键入得字符,确定是转入汽车动画子程序,还是结束程序。按照这
10、样思路的设计出如图3.1所示的主程序流程图。图3.1 主程序流程图接下来就是汽车子程序的设计了,为了保护断点,先要将数据寄存器推入堆栈。然后设置显示方式为图形方式,为显示汽车动画做准备,要清屏,可以预先进行清屏宏定义,运行汽车子程序的时候直接调用就可以了。以上准备就绪,接下来就要显示汽车动画了。要指向汽车字符表,才能进行读取和显示字符操作,设置了汽车的起始位置后,就可以从此处开始读取字符表信息。显示出汽车字符表的所有字符信息也就画出一个汽车了。而具体的如何画出这个汽车并且让它水平移动起来,可以定义另外一个子程序MOVE_SHAPE。汽车子程序的流程图如图3.2所示。图3.2 汽车子程序流程图
11、在汽车子程序中调用了一个清屏宏定义,宏定义内容是在设置了显示方式后,调用10号中断的6号功能,进行屏幕初始化,取AL=0,即进行设置全屏幕为空白这个操作。窗口左上角和右下角的行列号以及卷入行属性,在宏调用的时候由实参给定。综上,即可使当前窗口屏幕显示全白。具体的宏定义和宏调用程序见附录1。而整个设计的核心就在MOVE_SHAPE这个子程序中了。这个子程序将实现汽车图像的显示和擦除重画。真正显示出动画效果。设计思路如下:首先保护断点,然后要依次读出字符表中的每个字符并且分别显示出来,是否已经把一个完整的汽车图像显示在了屏幕上,还要判断字符表中的字符是否全部读取完毕,若没有读取完则返回去读取下一个
12、字符,读取完毕了,就按照第二章中设计的方法,延时,然后擦除已经画出来的汽车图像,在行号加一的地方重画汽车。其中,为了使程序结构化,定义一个延时子程序DLY和一个擦除重画子程序ERASE。MOVE_SHAPE子程序流程图如图3.3所示。 图3.3 MOVE_SHAPE子程序流程图对于延时子程序,只需设计一个循环程序,置其循环次数即可控制延时时间具体程序设计见附录1。DLY子程序流程图如图3.4所示。在显示图形之前,把图形将要占据的屏幕部分的背景图像保存下来,当要擦除图形时,再把保存得背景图像重新显示出来。这是擦除子程序的设计原理。每画一个小车之前,将绘图起始位置的信息保存在变量中,调用擦除子程序
13、的时候读取出来,然后变化指针,使其能读遍字符表的每一个字符,每读一个字符,便将原来保存的,被当前图像占据的屏幕部分的背景图像,重新显示出来。对每一个字符都这样操作后,整个汽车图像也就擦除完毕了。计算机执行这整个过程是很快速的,所以在程序运行的时候应该是很快就擦除,并且显示出下一位置的汽车图像。从而实现动画效果。擦除子程序的流程图见图3.5。 图3.4 DLY子程序流程图 图3.5 擦除子程序的流程图4调试程序记录及演示结果屏幕截图运行可执行程序CAR.exe,选择1汽车开过;选择Q,退出。调试过程:1.对于堆栈段的定义,不能用stack命名,显示出错:Reserved word used as
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 动画 程序 课程设计
