CG02图形基础算法专用课件.pptVIP

  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文档。上传文档
查看更多
CG02图形基础算法专用课件

第二章图形算法基础 DDA画线算法 是用舍入的方法获得离直线最近的点。舍入就是我们常用的四舍五入,在程序中实现四舍五入的方法是将值加0.5然后取整。 由于在求线上的点的时候用的是数值微分的方法。因而此方法也称为数值微分法(DDA,digital differential analyzer)方法 Bresenham画线算法 Bresenham画线算法是一种精确而有效的光栅线段生成算法,它可用于圆和其他曲线显示的整数增量运算 算法原理 选择表示直线的最佳像素的位置,即用最靠近直线的网格点来代表这一直线。根据直线的斜率确定或选择变量x或y每次递增一个单位,另一个变量y或x每次增量为0或1,这取决于理论直线段与最近像素点的距离。避免了低效率的取整运算。 中点画线法 基本原理 如果直线在x方向上增加一个单位,则在y方向上的增量只能在0和1之间。假设x坐标为xk的各象素点中,与直线最近者已经确定,为(xk,yk),用黑色的小圆点表示。那么,下一个与直线最近的象素只能是正右方的Pu(xk+1,ykr)或者右下方的Pb(xk+1,ykr-1)两者之一,用红色小圆点表示。用M表示Pu与Pb的中点,M=(xk +1,ykr +0.5)。而Q是直线与x=xk+1的理想交点。显然,若M在Q的下方则Pu离直线近,就取其为下一个象素。 思考题: 一、将中点画线算法推广以便能画出任意斜率的直线。 二、试设计端点为浮点数坐标的Bresenham画直线算法 中点画线法: Bresenham生成圆弧算法 椭圆的画法 算法原理 构造上半部分Ⅰ中点偏差判别式 上半部分Ⅰ的递推公式 构造Ⅱ中点偏差判别式 下半部分Ⅱ的递推公式 直线距离加权反走样技术 走 样 直线扫描算法在处理斜线时会出现锯齿,这是因为直线在油印机扫描显示器上显示的图像是由一系列高密度相同而面积不为0的离散像素点形成的结果。这种由离散量表示边疆量而引起失真称为“走样(aliasing)”。 基本原理   加权反走样算法是采用空间混色原理来对直线进行修正。空间混色原理是指,人眼对某一区域颜色的识别是取这个区域的颜色的平均值。算法是根据像素和理想直线的距离对像素的色饱和度别进行调节。 实现方法 距离加权反走样算法原理是对理想直线上的任一点,同时用色饱和度不同的相邻像素显示。点与理想直线距离与该点的色饱和度成反比。 1.中点偏差判别式的递推公式 现在如果考虑主位移方向上再走一步,应该选择哪个中点代入中点偏差判别式以决定应该点亮的像素,如图3-16所示,分两种情况讨论。 P(xi,yi) M(x i+0.5,y i-1) M(x i+1.5,y i-2) d20 P(xi,yi) M(x i+0.5,y i-1) M(x i+0.5,y i-2) d2≥0 图3-16 下半部分中点偏差判别式的递推 ⑴当d20时,下一步的中点坐标为:M(x i+1.5,y i-2)。所以下一步中点偏差判别式为: (3-23) ⑵当d2≥0时,下一步的中点坐标为:M(x i+0.5,y i-2)。所以下一步中点偏差判别式为: (3-24) y向分量为: 。则对于上半部分椭圆上一点任意P(xi,yi), 如果在其当前中点M(xi+1,yi-0.5)处,满足x向分量小于y 向分量: 2.中点偏差判别式d2的初值 由图3-11知道,在上半部分Ⅰ,法矢量的x向分量小于y向分量;在C点,法矢量的x向分量等于y向分量;在下半部分Ⅱ,法矢量的x向分量大于y向分量。由公式3-15知道:x向分量为: (3-25) 假定图3-17中P(xi,yi)点是椭圆上半部分Ⅰ的最后一个像素,MⅠ(xi+1,yi-0.5)是用于判断点亮Pu和Pd像素的中点。由于下一像素转入了下半部分Ⅱ,所以其中点改为判断Pl和Pr的中点MⅡ(xi+0.5,yi-1),所以下半部分的初值d20为: (3-26) P(xi,yi) Pu(xi+1,yi) Pl(xi,yi-1) MⅠ(xi+1,yi-0.5) Pd(xi+1,yi-1)= Pr(xi+1,yi-1) MⅡ(xi+0.5,yi-1) 图3-17 下半部分的初值 * 用上式可求出图2-1中直线PsPe上红色的各点,但显示时用像素(图中的黑点)表示,用舍入的方法找到靠近红点的像素。 舍入就是我们常用的四舍五入,在程序中实现四舍五入的方法是将值加0.5然后取整。   也可以使用直线的斜截式方程:y=mx+b来求出y值。但是使用这种方法的效率比较低。 算法原理 设有一直线,其两端点为P(xs,ys)、P(xe,ye) 令:⊿x=xe-xs, ⊿y=ye-ys 则要会制的直线的微分 方程为: ⊿t=max(|⊿x|,|⊿y|)

文档评论(0)

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

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

1亿VIP精品文档

相关文档