计算机图形学大作业——武汉理工大学.docVIP

计算机图形学大作业——武汉理工大学.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学大作业——武汉理工大学

学 号 成 绩 《计算机图形学基础》大作业 课 程 名 称 计算机图形学基础 开 课 学 院 计算机科学与技术学院 指导教师姓名 学 生 姓 名 学生专业班级 20 -20 学年 第 学期 一、命题计划 题目:C语言图形编程 (以下题目文档要求:①基本论述 ②算法 ③程序源代码 ④界面图) 二、内容与要求 (1)撰写内容 1.根据Bresenham直线绘制算法,实现直线的绘制。 2.用C语言编写:画y=sin(x)的图形(要求画出[-2π,2π]的图形及笛卡尔坐标) 3.用C语言编写一个小圆沿着大圆运动的程序。 4.对图1中的零件图形,如何根据它所标注的尺寸,按照适当的顺序有步聚地画出该图形。 提示:首先要分析此零件图形的几何关系,了解构成这个图形各线段的性质,才能顺利地绘出此图形。线段(直线或圆弧)在零件图形中分为三类,即已知线段、中间线段和连接线段。以圆弧为例,按几何原理,已知圆心的两个位置尺寸与半径尺寸便可画出圆。因此图形中,已知这三个尺寸的圆弧称为已知圆弧,画图时应该最先画出。凡已知其中二个尺寸的圆弧称为中间圆弧。凡只已知一个尺寸(一般是圆弧半径)的圆弧称为连接圆弧。中间圆弧和连接圆弧都缺省圆心的位置尺寸,它的几何位置是根据相切的条件来确定的。因此画圆弧的顺序为:先画已知圆弧,再画中间圆弧,最后画连接圆弧。 本零件图形是对称图形,三个小圆均匀分布在圆周中心线上,φ10,φ25,φ50和R10都是已知圆弧,R8为连接圆弧,φ50是已知圆弧的端点和R10已知圆弧的端点与连接圆弧的端点相切,从而构成整个图形。 (2)撰写要求 1.基本论述 2.算法 3.程序源代码 4.程序运行截图 5.小结 一、根据Bresenham直线绘制算法,实现直线的绘制。 1.基本论述 2.算法 3.程序源代码 #include graphics.h #include conio.h #include math.h #include iostream.h void main() { int gd=DETECT,gm; //使用自检的方式 initgraph(gd,gm,);//初始化图形系统 cleardevice();//清屏 int x,y;//起始点 int xe,ye;//终点 int x1=20,y1=30; int x2=200,y2=100; int dx=fabs(x2-x1),dy=fabs(y2-y1); int d=2*dy-dx; if (x1x2) { x=x2; y=y2; xe=x1; ye=y1; } else { x=x1; y=y1; xe=x2; ye=y2; } moveto(x,y); while (xxe) { x=x+1; if(d0) d=d+2*dy; else { y=y+1; d=d+2*(dy-dx); } lineto(x,y); } getch(); closegraph();// 关闭图形系统 } 4.程序运行截图 小结 二、用C语言编写:画y=sin(x)的图形(要求画出[-2π,2π]的图形及笛卡尔坐标) 1.基本论述 2.算法 3.程序源代码 #includeiostream.h #includegraphics.h #includemath.h #includeconio.h void main() { initgraph(600,400); cleardevice(); float x,y,del,d; int a,b; a=getmaxx()/2; b=getmaxy()/2; line(a,0,a-10,10); line(a,0,a+10,10); line(2*a,b,2*a-10,b-10); line(2*a,b,2*a-10,b+10); line(0,b,2*a,b); line(a,0,a,2*b); outtextxy(a+5,b+5,0); outtextxy(2*a-15,b+5,x); outtextxy(a+5,15,y); outtextxy(a+20*3.14-10,b+5,π/2); outtextxy(a+40*3.14-5,b+5,π); outtextxy(a+60*3.14-15,b+5,3π/2); outtextxy(a+80*3.14-10,b+5,2π); outtextxy(a-20*3.14-10,b+5,-π/2); outtextxy(a-40*3.14-10,b+5,-π); outt

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档