- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章直线和直线图形-广州市广播电视大学.doc
广州市广播电视大学开放教育试点
计算机科学与技术专业(本科 )
《计算机图形学》实验题目
?
实验一、直线和直线图形
实验内容:
用逐点比较法、数值微分法(DDA)、Bresenham算法,分别实现直线的生成直线;
实验要求:
设计类CMyLine,将逐点比较法、数值微分法(DDA)、Bresenham算法分别作为类的公开成员函数;在Visual C++环境下,测试类,并演示三种线段的生成。
报告要求:
给出类CmyLine的源程序,并给出适当的说明;
给出程序的演示步骤;
实验二、多边行填充
实验内容:
实现扫描线算法;
实验要求:
设计类CMyPloyLine,将扫描线算法实现程序作为类的公开成员函数;在Visual C++环境下,测试类,并演示填充效果。
报告要求:
给出类CMyPloyLine的源程序,并给出适当的说明;
给出程序的演示步骤;
实验三、二次曲线的生成
实验内容:
圆弧的逐点插补法,圆弧的Bresenham算法,椭圆的生成算法;
实验要求:
设计类CMyCurve,将圆弧的逐点插补法,圆弧的Bresenham算法,椭圆的生成算法实现程序作为类的公开成员函数;在Visual C++环境下,测试类,并演示填充效果。
报告要求:
给出类CMyCurve的源程序,并给出适当的说明;
给出程序的演示步骤;
实验四、裁剪
实验内容:
Sutherland-Cohen分割线算法,中点分割算法,多边形裁剪,凹区域裁剪—Weiler-Atherton算法
实验要求:
设计类CMyClipping,将Sutherland-Cohen分割线算法,中点分割算法,多边形裁剪,凹区域裁剪—Weiler-Atherton算法实现程序作为类的公开成员函数;在Visual C++环境下,测试类,并演示填充效果。
报告要求:
给出类CMyClipping的源程序,并给出适当的说明;
给出程序的演示步骤;
实验五、平面自由曲线
实验内容:
二次、三次Bezier曲线,二次、三次B样条曲线的生成;
实验要求:
设计类CMyFreedomCurve,将S二次、三次Bezier曲线,二次、三次B样条曲线的生成程序作为类的公开成员函数;在Visual C++环境下,测试类,并演示填充效果。
报告要求:
给出类CMyFreedomCurve的源程序,并给出适当的说明;
给出程序的演示步骤;
实验六、综合
实验内容:
将前面的几次实验获得的类进行组合,设计一个简单的图形演示系统;
实验要求:
系统在设计时,应充分考虑图形系统的设计原则;
报告要求:
给出系统的概要设计报告;报告格式可参考张海籓的《软件工程导论》或郑人杰的《实用软件工程》。
注意:后面提供报告封面样版:
学号:
姓名:
班级:
完成时间:
绪论
1.1 计算机图形学的概念
计算机图形学:研究如何计算机生成、处理和显示图形的学科;
图像处理:研究如何将客观世界的物体映象处理成数字化图像的技术;
模式识别:研究如何对输入的图像进行分析识别,找出内在联系或抽象模型的技术;
计算几何:研究几何模型和数据处理的学科;
1.2 计算机图形学的发展
1962年,Ivan E. Sutherland首次提出“计算机图形(Computer Graphics)”术语;
1964年,S.Coons提出用“小块曲面面片组合”表示自由型曲面;
P.Bezier提出了Bezier曲线和曲面;
图形设备不断更新完善;
图形软件不断更新完善;
1.3 计算机图形学的应用
用途广泛;如:计算机辅助设计、制造等
1.4 常用的图形输入/输出设备
输入设备:键盘、坐标数字化仪、光笔、触摸屏、图形扫描仪;
输出设备:显示器、绘图仪、打印机;
1.5 计算机图形系统
由硬件和软件组成;
系统的基本功能:
计算功能
存储功能
对话功能
输入功能
输出功能
第2章 直线和直线图形
2.1 直线及直线的绘制
生成直线的四点要求:
生成的直线要直
直线的终点要准
直线的粗细要均匀
速度要快
2.2 生成直线的几种常用算法
一、逐点比较法
基本思想:在绘制直线的过程中,每绘制一个点就与原直线进行比较,根据比较结果决定下一步的走向;
关键:如何衡量偏差;利用判断;
特点:增量方向可能是交替出现;
设直线段端点:,不妨设是左端点,将其取为起点,目前已取到第步,取的点是,
=
=
由于0,取=,其性质同一致,
注意:-=
-()
=-()
=
即,-=
当,若,点在线段的下方,取下一点,其中,,=否则,,然后计算=,直至或;
当,若,点在线段的下方,取下一点,其中,,否则,,然后计算,直至或;
二、数值微分法(DDA)
基本思想:在生成直线的某点上增加一个同和的一阶导数成比例的小步长;
特点:计算总量由落差决定;递推公
文档评论(0)