- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学实指导书_v1
计算机科学与技术学院
《计算机图形学》
实验指导书
陈笑威 张健 编写
适用专业 计算机科学
贵州大学
二OO 七年八月
前 言
计算机图形学是计算机学科最活跃的分支之一,也是计算机专业的必修课程之一。
计算机图形学是一门实践性非常强的学科,其内容变化也是日新月异。
本指导书包含了光栅图形学、几何造型、真实感图形学三部分内容,对各部分内容中的经典算法有详细的算法原理介绍及算法描述。通过本指导书,读者可以快速地掌握计算机图形学中经典算法的应用及实现原理。在此基础之上,可以更好的了解计算机图形学的研究前沿。
目 录
实验一 直线生成算法 3
数值微分法 (DDA-Digital Differential Analyzer) 4
中点画线法 4
Bresenham画线算法 6
实验二 圆的生成算法 7
生成园弧的中点算法 8
Bresendham 画园算法 12
实验三 椭园的生成算法 15
中点算法 16
实验四 多边形填充算法 19
扫描线算法 20
边填充算法-正负相消法 21
边标志算法(轮廓填充算法) 21
种子填充算法 22
区域填充(种子填充法) 22
扫描线种子算法 23
实验五 常用曲面和曲线的生成算法 24
三次Hermite曲线的生成: 25
Bezier曲线(以逼近为基础的参数曲线): 26
B样条曲线: 27
实验六 二维图形的几何变换 30
标准齐次坐标(x,y,1) 二维变换的矩阵表示 32
实验七 裁减及消隐 36
直线裁减 37
多边形裁减 43
Roberts消隐算法 45
Z缓冲器算法 51
扫描线Z缓冲器算法 53
光线跟踪算法 53
实验八 曲线和曲面算法的应用/实体造型? 56
实验九 真实感图形生成 57
简单光照模型 58
Gouraud明暗处理 59
Phong明暗处理 60
运用光照模型的光线跟踪算法 62
实验报告的基本内容及要求 65
附件1:实验报告格式 66
实验一 直线生成算法
实验学时:4
实验类型:(验证、综合、设计)
实验要求:必修
一、实验目的
通过本实验,使学生了解并掌握在光栅显示系统中直线的生成和显示算法,熟悉相关开发平台。为后继实验打下基础。
二、实验内容
实现DDA画线算法,中点画线算法和Bresenham画线算法,并比较。
三、实验原理、方法和手段
参见本指导书。
四、实验组织运行要求
以学生自主训练为主的开放模式组织教学。
五、实验条件
硬件平台:PC
软件(推荐):Windows平台,Visual C++,matlab
六、实验步骤
掌握算法原理;
依据算法,编写源程序并进行调试;
对运行结果进行保存与分析;
把源程序以文件的形式提交;
按格式书写实验报告。
七、思考题
八、实验报告
主要包括实验预习、实验记录和实验报告三部分,基本内容详见附件1。
数值微分法 (DDA-Digital Differential Analyzer)
算法原理:
设直线两端点为:P1(x1,y1)及 P0(x0,y0),
则直线斜率为:
直线方程为:
当 |k|=1,x每增加1,y 最多增加1(或增加小于1)。
当 |k|1 ,y每增加1,x 最多增加1 (或增加小于1) 。
算法分析:
复杂度:加法+取整
优点:避免了y=kx+b 方程中的浮点乘法,比直接用点斜式画线快。
缺点:需浮点数加法及取整运算,不利于硬件实现。
中点画线法
算法原理:
设0k1
中点M在直线下方,下一点取p1点;
中点M在直线上方取p2点。
中点算法用整数加法及比较代替了DDA中的浮点数加法及取整运算,效率大大提高。
假设直线的起点、终点分别为:(X0,Y0),(X1,Y1),直线将二维空间划分为三个区域:
直线方程: F(x,y)=ax+by+c=0
其中: a=-(y1-y0),b=(x1-x0),c=-B(x1-x0)
如F(x,y)=0, 则(x,y) 在直线上
如F(x,y)0, 则(x,y)在直线下方
如F(x,y)0, 则(x,y)在直线上方
因此,可将中点M的坐标(Xp+1,Yp+0.5)代入直线方程,并判断其符号即可确定象素点的选取。
定义决策变量: d= F(xi+1,yi+0.5)=a(xi+1)+b(yi+0.5)+c
如果 d0,则M在理想直线上方,选正右方P2点;
如果 d0,则M在理想直线下方,选右上方P1点;
如果 d=0,则M在理想直线上,选P1/ P2点。
由于d是xi和yi的线性函数,可采用增量计算提高运算效率。
1.如由pi点确定在是正右方P2点(d0).,则新的中点M仅在x方向加1,新的d值为:
dnew=F(xi+2,yi+0.5)=a(
您可能关注的文档
最近下载
- 天奥电梯帝奥电梯GX90系列电梯一体化驱动控制系统调试参数说明故障代码.pdf
- 广南高铁工务段线路工指导书(2003).doc VIP
- 《葵花籽油中蜡含量及组成的测定 气相色谱测定法》征求意见稿.pdf
- 2025年上海外服招聘笔试参考题库含答案解析.pdf
- 大门施工方案.doc VIP
- 七年级数学新人教版下册7.1.2《两条直线垂直》同步练习题(含答案).docx VIP
- 1.1.1集合的概念课件-高一上学期高教版中职数学基础模块上册.pptx VIP
- Q-CR 9218-2024铁路隧道监控量测技术规程(OCR).pdf VIP
- 两宋东阳进士与文学.pdf VIP
- 最新小龙虾养殖项目可研报告.docx VIP
原创力文档


文档评论(0)