计算机图形学实指导书_v1.docVIP

  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文档。上传文档
查看更多
计算机图形学实指导书_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(

文档评论(0)

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

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

1亿VIP精品文档

相关文档