计算机图形学..docxVIP

  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文档。上传文档
查看更多
计算机图形学 实验指导手册 学生班级: 学 号: 学生姓名: 计算机与通信工程学院计算机科学与技术系 一、课程简介 《计算机图形学》是计算机科学与技术、信息与计算科学专业学生的专业课。计算机图形学是目前计算机科学中最为活跃、 得到广泛应用的学科之一; 本课程的主要研究内容包括用计算机生成、 处理和显示图形, 用计算机及其图形设备输入、表示、变换、运算和输出图形的基本原理、 算法及系统。 通过本课程的学习,使学生了解图形系统的框架及其涉及的软件、 硬件技术,了解图形学的基本问题,掌握图形学的基本概念、 方法与算法, 并具有相关的编程能力。 强调课堂教学与实验教学并重, 着重培养学生针对现实生活中的常见图形设计和实现算法, 在图形显示设备上画出图形。 二、课程实验目的和要求 实验是教学的一个重要环节, 其目的是掌握计算机图形学中各种常见图形的基本算法及其实现。特别要求直线、二次曲线、自由曲线、区域填充、二维图形裁剪、图形几何变换、自由曲面等基本算法及其实现。 要求:熟悉实验环境,设计与实现直线、二次曲线、自由曲线、区域填充、 二维图形裁剪、图形几何变换、自由曲面等基本算法,并与现有的 CAD 系统 AutoCAD )提供的功能进行类比和分析。对实验中出现的问题能做出正确的判断,并能采取适当的手段加以解决。 三、实验环境 硬件环境: CPU 为 486,内存为 16M 以上 PC 机即可。 软件环境:开发平台为 Windows 或 DOS,开发语言为 C 或 C++或者 OpenGL, 可以使用其它编程语言, 相关知识自学掌握。 每个实验项目对程序设计语言的使 用有不同的要求,注意按要求完成实验。 - 1 - 计算机图形学实验预备知识 一、熟悉 TC 的开发环境及相关的图形函数 原理: graphics.h 头文件 图形系统的初始化函数 :initgraph(graphdriver,graphmode, “” ) 清屏函数: void far cleardevice(void) 恢复显示方式函数: void far closegraph(void) 例: #includegraphics.h main() { int graphdriver=CGA; int graphmode=CGAC0,x; initgraph(graphdriver,graphmode, “” ); cleardevice(); for (x=20;x=300;x+=16) { putpixel(x,20,1); putpixel(x+4,20,2); } getch(); closegraph(); } 相关图形函数 ( 1) putpixel(int x, int y, int color) 表示在指定的 x,y 位置画一点,点 的显示颜色由设置的 color 值决定。 ( 2) line (int startx, int starty, int endx, int endy) 函数用当前绘图色 从 startx, starty,到 endx, endy 画一条直线。 ( 3) lineto(int x, int y) 函数用当前绘图色从当前位 (cp) 到 x, y 画一条线, - 2 - 并将 cp 定位在 x,y 处。 ( 4) linerel(int deltax, int deltay) 函数从 cp 到定位外划一条线。 Cp 移到 新的定位。 ( 5) rectangle(int x1, int y1, int x2, int y2) 该函数将以 (x1,y1) 为左上 角、 (x2,y2) 为右下角画一矩形框。 ( 6) arc(int x, int y, int start, int end, int radius) 函数从 start 到 end 画一个弧,以 x, y 为中心, radius 为半径。 ( 7)circle(int x, int y, int radius) 函数画一个圆,以 x, y 为中心, radius 为半径,颜色是当前绘图颜色。 ( 8) drawpoly(int numpoints, int far *points) 函数用当前绘图软件包画一 个多边形。多边形中的点数等于 numpoints 。由于每个点含有 x 和 y 坐标,所以, 由 points 所指的整形数组必须至少比点数大两倍。在该数组中,每个点由其 x, y 坐标定义, x 坐标在前。 ( 9) fillpoly(int numpoints, int far *points) 函数先用当前绘图软件包画 实体,它含有 x,y 坐标定义的 numpoints 个点。然后用当前填充色和模式填充 该实体。填充模式可通过调用 setf

文档评论(0)

157****8893 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档