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