驻波的模拟课程设计报告_第1页
驻波的模拟课程设计报告_第2页
驻波的模拟课程设计报告_第3页
驻波的模拟课程设计报告_第4页
驻波的模拟课程设计报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计正文一、问题描述:1、如何实现模块化设计程序。2、如何实现在一个图框内实现三个坐标的定位。3、如何实现三列波的动态变化。4、如何实现模拟沿正、反方向传播的两列波和驻波。5、如何体现驻波与另两列波之间的规律性。二、基本要求:1、能够模拟沿正、反方向传播的两列波和驻波;2、正向波和反向波的振幅、频率和波长由键盘输入;3、能够实现从动态图形中直观的看出三波之间的关系,并验证驻波的表达式所表示出的规律性。三、系统分析和设计:1、充分利用绘图函数库所自带的函数,避免繁琐的函数编写。2、将程序进行模块化,已实现良好的编程风格。3、形成编程及友好的用户界面设计体现程序的友好性。4、在进行三列波的比较时,将三列波放在同一个平面内进行比较。5、实现再整个程序执行的过程中实现提醒用户输入正确的数据。6、在数据输入并进行驻波的模拟之后能够不退出程序继续进行下一组数据的输入。如:一、在进行三列波进行比较时将三列波放在同一个平面内进行比较,以下是实现将三列波的坐标定位在同一平面的同一竖直面上进行比较。/******thecoordinateofthewave1******/line(X1+10,Y_MID1,X3-10,Y_MID1);line(X2,Y0+5,X2,Y1-5);line(X3-15,Y_MID1-3,X3-10,Y_MID1);line(X3-15,Y_MID1+3,X3-10,Y_MID1);line(X2-3,Y0+10,X2,Y0+5);line(X2+3,Y0+10,X2,Y0+5);for(i=0;i<16;i++){line(X2-200+25*i,Y_MID1,X2-200+25*i,Y_MID1-2);}for(i=0;i<5;i++){line(X2,Y_MID1-50+i*25,X2+2,Y_MID1-50+i*25);}outtextxy(X3-25,Y_MID1-10,"x");outtextxy(X2+5,Y0+5,"y");/************thecoordinateofthestanding_waves********/line(X1+10,Y_MID2,X3-10,Y_MID2);line(X2,Y1+5,X2,Y2-5);line(X3-15,Y_MID2-3,X3-10,Y_MID2);line(X3-15,Y_MID2+3,X3-10,Y_MID2);line(X2-3,Y1+10,X2,Y1+5);line(X2+3,Y1+10,X2,Y1+5);for(i=0;i<5;i++){line(X2,Y_MID2-50+25*i,X2+2,Y_MID2-50+25*i);}for(i=0;i<16;i++){line(X2-200+25*i,Y_MID2,X2-200+25*i,Y_MID2-2);}outtextxy(X3-25,Y_MID2-10,"x");outtextxy(X2+5,Y1+5,"y");/*******thecoordinateofthewave2********/line(X1+10,Y_MID3,X3-10,Y_MID3);line(X2,Y2+5,X2,Y3-5);line(X3-15,Y_MID3-3,X3-10,Y_MID3);line(X3-15,Y_MID3+3,X3-10,Y_MID3);line(X2-3,Y2+10,X2,Y2+5);line(X2+3,Y2+10,X2,Y2+5);for(i=0;i<16;i++){line(X2-200+25*i,Y_MID3,X2-200+25*i,Y_MID3-2);}for(i=0;i<5;i++){line(X2,Y_MID3-50+i*25,X2+2,Y_MID3-50+i*25);}outtextxy(X3-25,Y_MID3-10,"x");outtextxy(X2+5,Y2+5,"y");二、这个程序就是将用户模拟完驻波以后,再不退出程序的前提下使用户再次输入新的数据并进行模拟。outtextxy(X1+10,Y1-5,"Press0toEND");outtextxy(X1+10,Y1+15,"Pressanyotherkeytoback");while(getch()!='0'){cleardevice();gotocde;}cleardevice();setlinestyle(0,0,1);rectangle(10,10,629,469);settextstyle(1,0,5);outtextxy(195,100,"That'sall!");outtextxy(195,220,"Thankyou!");outtextxy(195,320,"WELCOMEAGAIN!");getch();closegraph();}四、结构图:

欢迎界面驻波的模拟波的相关数软件简介据的输入并软件的退出欢迎界面驻波的模拟波的相关数软件简介据的输入并软件的退出模拟与重复模拟为了建立友'介绍软件的'在用户界面1使用户模拟好界面,使大致目的,输入相关数完驻波后能用户良好的使用户对该据进行驻波重新进行下感觉软件有大致的模拟一数据的输的了解,入,五、流程图:六、小组成员分工:在本课题的设计中我们团队每个人都有明确的分工,我的主要任务是:编写驻波合成的程序模块,以下是该模块的程序代码:程序清单:/*initialization*/for(i=0;i<400;i++)points[i]=0;setbkcolor(LIGHTBLUE);setcolor(BROWN);/*******thestandingwaves***********/if(t<=400){i=0;for(x=0;x<t;x++){points[x]+=a1*sin(w1*(t-i)/100.0+k1);points[399-x]+=a1*sin(w1*(t-i)/100.0-44+k2);i++;}}else{i=0;for(x=0;x<400;x++){points[x]+=a1*sin(w1*(t-i)/100.0+k1);points[399-x]+=a1*sin(w1*(t-i)/100.0-44+k2);i++;}}if(t<400){for(x=0;x<t;x++){moveto(X1+10+x-1,Y_MID2+20.0*points[x]/a1);lineto(X1+10+x,Y_MID2+20.0*points[x]/a1);}for(x=399;x>=399-t;x--){moveto(X1+10+x-1,Y_MID2+20.0*points[x]/a1);lineto(X1+10+x,Y_MID2+20.0*points[x]/a1);}}elsefor(x=0;x<400;x++){moveto(X1+10+x-1,Y_MID2+20.0*points[x]/a1);lineto(X1+10+x,Y_MID2+20.0*points[x]/a1);}/****wave1****/for(i=0;i<400;i++)points[i]=0;if(t<=400){i=0;for(x=0;x<t;x++){points[x]+=a1*sin(w1*(t-i)/100.0+k1);i++;}}else{i=0;for(x=0;x<400;x++){points[x]+=a1*sin(w1*(t-i)/100.0+k1);i++;}}if(t<400)for(x=0;x<t;x++){moveto(X1+10+x-1,Y_MID1+20.0*points[x]/a1);lineto(X1+10+x,Y_MID1+20.0*points[x]/a1);}elsefor(x=0;x<400;x++){moveto(X1+10+x-1,Y_MID1+20.0*points[x]/a1);lineto(X1+10+x,Y_MID1+20.0*points[x]/a1);}/*****wave2******/for(i=0;i<400;i++)points[i]=0;if(t<=400){i=0;for(x=0;x<t;x++){points[399-x]+=a1*sin(w1*(t-i)/100.0-44+k2);i++;}}else{i=0;for(x=0;x<400;x++){points[399-x]+=a1*sin(w1*(t-i)/100.0-44+k2);i++;}}if(t<400)for(x=399;x>=399-t;x--){moveto(X1+10+x-1,Y_MID3+20.0*points[x]/a1);lineto(X1+10+x,Y_MID3+20.0*points[x]/a1);}elsefor(x=0;x<400;x++){moveto(X1+10+x-1,Y_MID3+20.0*points[x]/a1);lineto(X1+10+x,Y_MID3+20.0*points[x]/a1);}t++;/******thecoordinateofthewave1******/setcolor(WHITE);line(X1+10,Y_MID1,X3-10,Y_MID1);line(X2,Y0+5,X2,Y1-5);line(X3-15,Y_MID1-3,X3-10,Y_MID1);line(X3-15,Y_MID1+3,X3-10,Y_MID1);line(X2-3,Y0+10,X2,Y0+5);line(X2+3,Y0+10,X2,Y0+5);for(i=0;i<16;i++){line(X2-200+25*i,Y_MID1,X2-200+25*i,Y_MID1-2);}for(i=0;i<5;i++){line(X2,Y_MID1-50+i*25,X2+2,Y_MID1-50+i*25);}outtextxy(X3-25,Y_MID1-10,"x");outtextxy(X2+5,Y0+5,"y");/************thecoordinateofthestanding_waves********/line(X1+10,Y_MID2,X3-10,Y_MID2);line(X2,Y1+5,X2,Y2-5);line(X3-15,Y_MID2-3,X3-10,Y_MID2);line(X3-15,Y_MID2+3,X3-10,Y_MID2);line(X2-3,Y1+10,X2,Y1+5);line(X2+3,Y1+10,X2,Y1+5);for(i=0;i<5;i++){line(X2,Y_MID2-50+25*i,X2+2,Y_MID2-50+25*i);}for(i=0;i<16;i++){line(X2-200+25*i,Y_MID2,X2-200+25*i,Y_MID2-2);}outtextxy(X3-25,Y_MID2-10,"x");outtextxy(X2+5,Y1+5,"y");/*******thecoordinateofthewave2********/line(X1+10,Y_MID3,X3-10,Y_MID3);line(X2,Y2+5,X2,Y3-5);line(X3-15,Y_MID3-3,X3-10,Y_MID3);line(X3-15,Y_MID3+3,X3-10,Y_MID3);line(X2-3,Y2+10,X2,Y2+5);line(X2+3,Y2+10,X2,Y2+5);for(i=0;i<16;i++){line(X2-200+25*i,Y_MID3,X2-200+25*i,Y_MID3-2);}for(i=0;i<5;i++){line(X2,Y_MID3-50+i*25,X2+2,Y_MID3-50+i*25);}outtextxy(X3-25,Y_MID3-10,"x");outtextxy(X2+5,Y2+5,"y");if(kbhit())break;}}七、小结及收获和体会:刚开始再选这个课题的时候的目的就是为了给自己一个更好的发挥的空间。因为驻波我之前也没有接触过。c语言绘图方面自己也没有接触过,自己也想在一个新的环境下挑战一下自己,但自己的心里还是有很大的担心,但是再后来接触的过程中自己为了解决程序中遇到的这样那样的问题,学会了很多东西,锻炼了自己查阅资料、和小组成员讨论一块解决问题的能力,不仅锻炼了自己的自学的能力,也体会到了合作学习共同解决问题的乐趣。在这个过程中我们也通过上网和请教其他同学来解决程序中遇到的问题,在整个从接触到写出程序代码到程序调试的成功,自己的确收获了很多。通过这个课题的制作自己在用C语言绘图方面自己学到了很多东西,接触了自己以前从未接触过的东西。同时也感觉到自己现在所掌握的知识太少了,就拿C语言来说没有想到他还有那么多的功能自己还不知道。通过这自己学会了以后在学习的过程中一定要谦虚。我在这个课题制作的过程中感触最大的就是团队的力量,从分利用好团队的力量就算有再打的困难问题也会迎刃而解,因为一个人的力量是有限的,自己的精力各方面都是有限的,因此好的团队就可以解决这一问题。成功属于团队的每一个成员。如果没有团队里每一个成员相互协作、共同努力,很多事情是难以完成的。往往能力

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论