1、演讲稿卫星环绕地球doc河南城建学院高级语言程序设计课程设计报告 设计题目: 动画设计卫星环绕地球 专 业: 计算机科学与技术 班 级: 081414231 设计人员: 黎家安 指导教师: 张星 计算机科学与工程学院2015年 6 月 25 日(1)课程设计题目动画设计-卫星环绕地球(2)设计要求卫星绕地球按椭圆轨道运转。(3)数据结构设计描述IMAGE img3用来定义储存图形数据的数组 (4) 各变量的定义和作用diaoyongtuxiang函数:double j=0 j表示角度,其初始值为零;double H,用来储存弧度值double x,y 用来储存变化的横纵坐标。 (5) 系统各模
2、块(函数)的组成,功能,参数说明,相互调用关系主函数:1.initgraph(1400,900);/设定窗口的尺寸2.setorigin(720,450);/设定(720,450)为图形坐标系的原点;3.diaoyongtuxiang();/调用函数4.last();/调用最后界面函数5.getch();/按任意键执行下一步6.closegraph();/关闭窗口begin函数:1.loadimage()2.setbkmode()3.settextcolor()4.settextstyle()5.outtextxy()diaoyongtuxiang函数: 1. BeginBatchDraw()
3、;/用于开始批量绘图 2. EndBatchDraw();/开始将之前的绘图输出 3. cleardevice();/清屏函数,清除屏幕上的图片 4. Sleep(1);/延时1毫秒,参数表达延时的毫秒数 5. initgraph(1440,900);/设定窗口的尺寸6.setorigin(720,450);/设定(720,450)为图形坐标系的原点;7. closegraph();/关闭窗口8. putimage(-720,-450,&img2);/确定输出图片的左上角的坐标9. setcolor(YELLOW);/画线颜色为黄色:10. setlinestyle(0,1);/0表示画线为实
4、线,1表示画线宽度为一个像素11. ellipse(-576,-300,576,300);/画一个椭圆,括号中的坐标表示长半轴,和短半轴12. putimage(x-55,y-39,&img1);/在变化的坐标上输出卫星图形13. putimage(50,0-125,&img0);/在定点输出地球Last()函数:1.IMAGE2.Loadimage()3.Setbkmode()4.Putimage()5.Settextcolor()6.Settextstyle()7.Outtextxy()8.Getch()相互调用关系: (6) 各功能模块的算法处理流程图及相关说明主函数:diaoyongt
5、uxiang: 否 是Begin函数:Last函数:(7) 程序设计过程中遇到的问题及解决过程1 对grasph.h头文件不理解。答,通过上网查资料,及相关文献理解其为绘图函数库2 对cleardevice()函数的理解不透彻。答:通过实际操作,了解其为清楚窗口上所有的东西。3 不知道Easy函数库的功能。答:通过浏览XX贴吧,理解其功能为在VC中增加绘图功能。4 动画运行时,图片的闪烁问题不知道该怎么解决。答:通过在XX知道上提问,及浏览EasyX贴吧,知道解决这个问题需要用到两个函数BeginBatchDraw()、EndBatchDraw()开始批量绘图及执行批量绘图。这样可以解决图片的
6、闪烁问题。5 对函数putimage(),getimage(),loadimage()。通过XX百科,及查找相关文献和浏览绘图函数库中的函数,有经过在实际操作中的应用,知道了其中参数的作用。6 对while(!kbhit()用法不理解。答:通过查阅文献,指导其功能为“如果不点击任何键,则循环无限执行下去。”(8) 课程设计心得及体会通过课程设计,一方面是为了检查我们一个半学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。通过对该程序的设计进一步的巩固了用C编写程序,并拓展了视野,并且有利于更好的掌握程序设计语言!在程序的
7、编写过程中也体会到了做事情一顶要细心、认真。更加知道了要掌握好基础知识。还有体会到了成功的感觉!通过本项课程设计也培养了我独立思考、 综合运用所学有关相应知识的能力,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!只要自己对自己不失去信心相信就可以完成那些以前认为完成不了的事情!也让我懂得了要想成功首先就必须有很强的自信心!懂得了自己以后要在做任何事情时都要自信!在课程设计的过程中也知道了自己在以前的学习中有很大的不足导致在设计过程中出现了很多的问题,有些地方看不懂也不知道怎么去设计,但是在设计过程中也学习了很多,掌握了自己以前没有学好的知识,虽然一时可以掌握完以
8、前没有学好的知识,不过也给自己敲响了警钟,在学习中不可以伏于表面,要想学好每一门课程都要踏踏实实,做什么都不是给别人看的!都是要更好的掌握该门知识,提高自己的自身的修养,提高自己的能力!为以后的工作打下良好的知识基础和技能基础! (9) 附源程序#include#include#include#include#define PI 3.1415926void begin() IMAGE im3; loadimage(&im0,D:photoe.jpg); setbkmode(TRANSPARENT); putimage(-720,-450,&im0); settextcolor(RED);/文本
9、字体颜色 settextstyle(60,0,宋体);/设置文本字体大小及字体格式 outtextxy(-400,-150,动画设计-卫星环绕地球); outtextxy(-530,0,小组成员:刘健康,黎家安,田兴旺); settextstyle(20,0,); outtextxy(350,400,按回车键,动画开始); getch();void diaoyongtuxiang() IMAGE img3;/建立储存图片数据的数组 double j=0,H;/定义变量 double x,y;/从磁盘调取图像文件.jpg loadimage(&img0,D:photoa.jpg); loadim
10、age(&img1,D:photob.jpg); loadimage(&img2,D:photoc.jpg);/卫星环绕 begin(); while(!kbhit() BeginBatchDraw();/用于开始批量绘图 /以下三行用于定义卫星的坐标 H=j*PI/180; x=480*cos(H); 负责的部分。 y=300*sin(H); cleardevice();/清屏函数,清除屏幕上的图片 /将图像放在合适的位置 putimage(-720,-450,&img2); putimage(x-152,y-132,&img1); putimage(0-128,0-125,&img0);
11、Sleep(1);/延时5毫秒 j+=0.5;/改变变量的值 EndBatchDraw();/开始将之前的绘图输出 void last() IMAGE im3; loadimage(&im0,D:photod.jpg); setbkmode(TRANSPARENT); putimage(-720,-450,&im0); settextcolor(RED); settextstyle(80,0,宋体); outtextxy(-250,-50,谢 谢 观 赏); getch();void main() initgraph(1400,900);/设定窗口的尺寸 setorigin(720,450);/设定(720,450)为图形坐标系的原点; diaoyongtuxiang();/调用函数 last();/最后界面 getch();/按任意键执行下一步 closegraph();/关闭窗口(10)参考文献1.C语言程序设计教程系列 清华大学出版社2.C程序设计教程(第二版) 华东理工大学出版社3.C程序设计(第四版) 清华大学出版社4.XX百科5.EasyX贴吧
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1