正弦函数的图形表示.doc
《正弦函数的图形表示.doc》由会员分享,可在线阅读,更多相关《正弦函数的图形表示.doc(28页珍藏版)》请在三一办公上搜索。
1、沈 阳 航 空 工 业 学 院 课程设计学 号 _200604021119_班 级 _6402104_ 姓 名 _李百川_指导教师 _刘成_2007年 月 日课程设计任务书院系:电子工程系 专业:电子信息工程 班级:6402104学号:200604021119题目:正弦函数的图形表示一、课程设计时间2007年9月10日至2007年9月14日,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:在图形模式下,绘制正弦函数sin(x)在x1x2之间的图形。注意:此程序必须用TC2.0编写。三、课程设计要求1. 程序质量: 贯彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便。
2、 用户界面中的菜单至少应包括“输入x的区间”、“开始绘制”、“退出”3项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_刘成_ 学生签名:_李百川_五、成绩:六、教师评语: 目录一、需求分析二、程序流程图三、核心技术的实现说明及相应程序段四、个人总结五、参考文献六、源程序一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为三大模块,其中他们的功能分别是:绘制图象(Strat Up)、函数参数的设定(Settings)、退出(Quit
3、)。在这些函数当中,绘制图象(Strat Up)又包括菜单栏的绘制,函数图形及坐标轴的绘制和函数的缩放与移动;函数参数的设定(Settings)包括函数Y=ASin(Bx)+C的参数A、B、C及X的区间MinXMaxX.二、程序流程图 整体框架图 Y=ASin(Bx)+C开 始输入目录选项Start Now(绘图) Settings (参数设定)Quit(退出)0.Set A (参数A的设定)1.Set B (参数B的设定)2.Set C (参数C的设定)3.Set MinX (X的最小值)4.Set MaxX (X的最大值)5.Back (返回)输入函数Y=ASin(Bx)+C的各项参数A、
4、B、C及X的区间范围MinXMaxX的值void StartUp() Initialize(); Start(); Draw();Pause();void Initialize()int GD=VGA; int GM=VGAHI; int ErrorC; clrscr(); initgraph(&GD,&GM,); ErrorC=graphresult(); if (ErrorC!=0) printf(Graphics System ERROR); exit(1); cleardevice();void Start() setcolor(RED); settextstyle(TRIPLEX_F
5、ONT,0,9); outtextxy(120,180,Welcome); setcolor(YELLOW); settextstyle(0,0,1); outtextxy(6,470,Press Any Key.); getch(); cleardevice(); setfillstyle(SOLID_FILL,7); setlinestyle(0,0,1); bar(0,0,639,479); setfillstyle(SOLID_FILL,BLUE); bar(1,1,638,12); Title(Function Graphics V0.1); DrawRect(3,465,636,4
6、76); DrawMenuBar(); Inform(Ready!); /*/int ScreenX(double x)/*数学座标转换为屏幕坐标*/ return (316+ZOOM*x+RX*ZOOM);int ScreenY(double y) return (211-ZOOM*y+RY*ZOOM);绘制函数图象及功能模块图void DrawAxis(int maxx,int maxy,int minx,int miny) int i; setcolor(GREEN); line(ScreenX(minx),ScreenY(0),ScreenX(maxx),ScreenY(0); lin
7、e(ScreenX(0),ScreenY(miny),ScreenX(0),ScreenY(maxy); for(i=minx;i=maxx;i+) if(i%10=0) line(ScreenX(i),ScreenY(-1),ScreenX(i),ScreenY(1); for(i=miny;i=maxy;i+) if(i%10=0) line(ScreenX(-1),ScreenY(i),ScreenX(1),ScreenY(i); void Draw() double x,y,y2; int MaxY,MinY; DrawRect(3,37,636,460); setviewport(4
8、,38,635,459,1); setfillstyle(1,7); bar(0,0,640,480); MaxY=211/ZOOM; MinY=-211/ZOOM; DrawAxis(MaxX,MaxY,MinX,MinY); setcolor(RED); setlinestyle(0,0,1); for(x=MinX;x=MaxX;x+=1.0/Q) y=Function(x); y2=Function(x+1.0/Q); line(ScreenX(x),ScreenY(y),ScreenX(x+1.0/Q),ScreenY(y2); int ScreenX(double x) retur
9、n (316+ZOOM*x+RX*ZOOM);int ScreenY(double y) return (211-ZOOM*y+RY*ZOOM);double Function(double x) return (A*sin(B*x)+C);void ZoomIn() if(ZOOM*1.5=1.5) ZOOM/=1.5; Draw(); Inform(ZoomOut);void MoveUp() if(RY-1=-15) RY-=1; Draw(); Inform(MoveUp);void MoveDown() if(RY+1=-15) RX-=1; Draw(); Inform(MoveL
10、eft);void MoveRight() if(RX+1=-15) RY-=1; Draw(); Inform(MoveUp);void MoveDown() if(RY+1=-15) RX-=1; Draw(); Inform(MoveLeft);void MoveRight() if(RX+1=15) RX+=1; Draw(); Inform(MoveRight);/*/* 图形缩放*/void ZoomIn() if(ZOOM*1.5=1.5) ZOOM/=1.5; Draw(); Inform(ZoomOut);/* 目录的选择功能实现*/switch(getch()case 0:
11、 ;break;case 1: ;break;case 2: ;判断所输入的数据是否符合要求:void SetA() do printf(nPlease Input A(-1010):); scanf(%f,&A); if (A*A100) printf(Input Wrong(-1010)! Try Again.n); while(A*A100);void SetB() do printf(nPlease Input B(-1010):); scanf(%f,&B); if (B*B100) printf(Input Wrong(-1010)! Try Again.n); while(B*B
12、100);void SetC() do printf(nPlease Input C(-1010):); scanf(%f,&C); if (C*C100) printf(Input Wrong(-1010)! Try Again.n); while(C*C100);/*/* 区间设置*/void SetMaxX() do printf(nPlease Input Max X(-100100):); scanf(%f,&MaxX); if (MaxX*MaxX10000|MaxXMinX! Try Again.n); while(MaxX*MaxX10000|MaxX10000|MaxX=Mi
13、nX) printf(Input Wrong.(-100100),And MinX10000|MaxX=MinX);四、个人总结通过这次C语言的课设实践活动,使我充分的体会到自己的不足。这让我在实践中对C语言又有了一个全新的认识。这让我在了解到自己的不足的同时,使自己对C语言的掌握又加深了一步。尤其是在这次实践活动中,我的课题:绘制函数SinX的过程中了解了更多的知识,对于C语言的绘图有了一定的掌握。使得自己可以运用程序画出简单的函数图象。在对C语言绘制图形的过程中,让自己了解到不少东西,如数学坐标转换成屏幕坐标,菜单栏及欢迎屏幕的制作,图形的缩放及移动,图形的颜色和立体感上也有了一定的了解,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 正弦 函数 图形 表示
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2887510.html