- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学二维图形变换课程设计
目录
一、课程设计任务及要求 1
二、需求分析 1
2.1 设计目标 1
2.2 设计环境 1
2.2.1 VC++6.0 1
2.2.2 MFC 2
2.3 设计题目及要求 2
三、总体设计 3
3.1 实现的算法 3
3.1.1 DDA算法画直线 3
3.1.2 Bresenham算法画直线 4
3.1.3中心点算法画圆和椭圆 4
3.2 图形变换的基本原理 6
3.2.1 平移变换 6
3.2.2 旋转变换 6
3.2.3 比例变换 6
四、详细设计 7
4.1 主要界面设计 7
4.2 设置颜色界面 7
4.2.1 界面设置代码: 7
4.2.2 点击“设置--颜色”后,运行结果如下: 8
4.3 二维线画图元实现 8
4.4 画多边形功能的实现 12
4.5 画Bezier曲线功能的实现 13
4.6 二维图形变换的实现 15
五、运行调试与分析讨论 17
六、设计体会与小结 17
七、参考文献 17
一、课程设计任务及要求
利用VC++设计实现二维图形变换:
1、学会使用VC++编写实现图形的绘制变换,需包括直线、曲线、多边形的绘制和变换
2、建立图形信息输入窗口,来输入图形的几何信息、拓扑信息和属性信息等
3、建立图形变换参数输入窗口,来输入图形的基本几何变换参数
4、熟练掌握平移变化、旋转变化和比例变换
二、需求分析
计算机图形学(Computer Graphics,简称CG)是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。是计算机科学的一个分支领域,主要关注数字合成与操作视觉的图形内容。计算机图形学研究的是应用计算机产生图像的所有工作,不管图像是静态的还是动态的,可交互的还是固定的,等等。图形API是允许程序员开发包含交互式计算机图形操作的应用而不需要关注图形操作细节或任务系统细节的工具集。计算机图形学有着广泛的应用领域,包括物理、航天、电影、电视、游戏、艺术、广告、通信、天气预报等几乎所有领域都用到了计算机图形学的知识,这些领域通过计算机图形学将几何模型生成图像,将问题可视化从而为各领域更好的服务。二维图形变换是实现这些的基础,本课程设计就是研究如何实现二维图形变换。
2.1 设计目标
以图形学算法为目标,深入研究。继而策划、设计并实现一个能够表现计算机图形学算法原理的或完整过程的演示系统,并能从某些方面作出评价和改进意见。通过完成一个完整程序,经历策划、设计、开发、测试、总结和验收各阶段,达到:巩固和实践计算机图形学课程中的理论和算法;学习表现计算机图形学算法的技巧;培养认真学习、积极探索的精神。
2.2 设计环境
2.2.1 VC++6.0
VC++6.0是 Microsoft 公司推出的一个基于 Windows 系统平台、可视化的 集成开发环境,它的源程序按 C++语言的要求编写,并加入了微软提供的功能 强大的 MFC(Microsoft Foundation Class)类库。MFC 中封装了大部分 Windows API 函数和 Windows 控件,它包含的功能涉及到整个 Windows 操作系统。MFC 不仅给用户提供了 Windows 图形环境下应用程序的框架, 而且还提供了创建应 用程序的组件,这样,开发人员不必从头设计创建和管理一个标准 Windows 应 用程序所需的程序,而是从一个比较高的起点编程,故节省了大量的时间。另 外,它提供了大量的代码,指导用户编程时实现某些技术和功能。因此,使用VC++提供的高度可视化的应用程序开发工具和 MFC 类库,可使应用程序开发变 得简单。
2.2.2 MFC
MFC(Microsoft Foundation Classes) ,是 一 个 微 软 公 司 提 供 的 类 库 ( class libraries)以 C++类的形式封装了 Windows 的 API, , 它包含了窗口等许多类的定义。各种类的集合构成了一个应运程序的框架结构,以减少应用程序开发人员的工作 量。其中包含的类包含大量 Windows 句柄封装类和很多 Windows 的内建控件和组 件的封装类。MFC 6.0 版本封装了大约 200 个类,其中的一些可以被用户直接使用。例如CWnd 类封装了窗口的功能,包括打印文本、绘制图形及跟踪鼠标指针的移动等;CsplitterWnd 类是从 CWnd 类派生出来的,继承了基类或称父类 CWnd 类的所 有特 性,但增加了自己的功能,实现拆分窗口,使窗口至少可被拆分成两个窗口,用户 可以移动两个
您可能关注的文档
- 苏科版九年级物理上册导学案().doc
- 苏科版九年级初三数学导学案().doc
- 英文专业毕业实施正确的教育方法防止两极分化.doc
- 英文版《计算机网络》电子教案-Chapter 2 Application Layer.ppt
- 苏科版八年级初二数学导学案().doc
- 英文版《计算机网络》电子教案-Chapter 4 Network Layer.ppt
- 英文版《计算机网络》电子教案-Chapter 5 The Data Link Layer.ppt
- 英文版《计算机网络》电子教案-Chapter 8 Network Management.ppt
- 英文版《计算机网络》电子教案-Chapter 6 Multimedia Applications.ppt
- 英文版《计算机网络》电子教案-Part I Introduction.ppt
文档评论(0)