计算机图形学理论及应用技术 第6章 图形的生成与计算.ppt

计算机图形学理论及应用技术 第6章 图形的生成与计算.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学理论及应用技术 第6章 图形的生成与计算

第6章 图形的生成与计算 6.1 直线生成的算法 6.1.1 直线生成的算法要求 6.1.2 逐点比较法 6.1.3 数值微分法 6.2 圆的生成算法 ? 6.3 多项式曲线图的绘制 6.3.1 多项式计算的差分法 6.3.2 差分法计算步骤 6.3.3 多项式曲线图绘制的程序设计 6.4 内插法绘制曲线图的方法 6.4.1 内插法的原理和特点 6.4.2 用内插法实现曲线圆滑处理方法 6.4.3 用内插法实现曲线圆滑处理的程序设计 6.5 贝塞尔法曲线和B样条曲线 6.5.1 贝塞尔曲线 6.5.2 B样条曲线 6.6 字符的生成 6.6.1 点阵式字符的生成方法 6.6.2 矢量式字符的生成方法 6.6.3 方向编码式字符 6.6.4 轮廓字形技术 习题6 6.1 直线生成的算法 6.1.1 直线生成的算法要求 6.1.2 逐点比较法 6.1.3 数值微分法 数值微分法称为DDA法( Digital Differential Analyzer ),它通过微分方程的方法简化方程,从而减小绘图计算的复杂度。 对上面的直线用微分方程法处理,具体方法是: 求导: X=Xa+(Xb-Xa)t; Y=Ya+(Yb-Ya)t. ? 得: * 从而得出: ?即: Δx = (Xb-Xa)×Δt ; Δy = (Yb-Ya)×Δt . 式中的Δt、Δx和Δy的意义分别为;直线参变量增加的数值(步长)、对应图形在X方向和Y方向增加的坐标值。 若令 Δt=1/L,L=max(|Xb-Xa|,|Yb-Ya|),并计算出Δx和Δy的值,则在绘图过程中图形坐标的计算公式为: Xi+1=Xi +Δx ; Yi+1=Yi+Δy . * 6.2 圆的生成算法 设要输出的图形是圆心在原点,半径为R的圆。它的参数方程为: X = R×cos(t) ( 0≤t≤2π ) Y = R×sin(t). 1. 求圆轨迹逼近方程 由圆微分方程: dx=-R×sin(t)×dt=-Y×dt; dy=R×cos(t)×dt=X×dt. 得出差分方程: Δx = -Y×Δt; Δy=X×Δt. 若点(Xi,Yi)在圆上,令步长Δt=δ,则圆轨迹逼近方程: Xi+1=Xi-δ×Yi; Yi+1=Yi+δ×Xi. * 2. 求步长δ值 由于δ是一个很小的值,但不可能无穷小,所以逼近点(Xi+1,Yi+1)近似在圆上。为了使(Xi+1,Yi+1)与(Xi,Yi)邻近,要求满足关系式: (Xi+1-Xi)2+(Yi+1-Yi)2≤2 变换它的形式: (Xi+1-Xi)2+(Yi+1-Yi)2 = δ2(Yi2+Xi2)=δ2R2 ≤2 要满足该式,则要求: 3. 求逼近点的误差 逼近点(Xi+1, Yi+1)所在的圆轨迹方程为: Xi+12+Yi+12 = (Xi2+Yi2)+δ2(Xi2+Yi2) = (1+δ2) (Xi2+Yi2) 显然,逼近点不在要求的圆轨迹上。也就是说,如果按上述的圆逼近方程的算法绘图,每走一步,新点离圆心越远,其半径总要乘以一个大于1的系数(1+δ2),使得图形越来越偏离理想圆,结果会是一个螺旋线,起始点与终止点不重合。 * 4. 求消除误差的圆轨迹逼近方程 对原圆轨迹逼近方程进行修正,使它的新形式为: Xi+1=Xi-δYi Yi+1=Yi+δXi+1=δXi+(1-δ2)Yi 根据修正后的圆轨迹逼近方程,不难得出逼近点(Xi+1,Yi+1)与已有点(Xi,Yi)之间满足关系: Xi+12-δXi+1Yi+1+Yi+12=Xi2-δXiYi+Yi2 该关系式说明,如果已有点(Xi,Yi)在X2-δXY+Y2=R2上,则逼近点(Xi+1,Yi+1)也在X2-δXY+Y2=R2上。而X2-δXY+Y2=R2是一个与圆X2+Y2=R2非常接近的椭圆,它的长半轴是 短半轴是 * 6.3 多项式曲线图的绘制 6.3.1 多项式计算的差分法 设要处理的三次多项式为: Y = f ( X ) = aX3+bX2+cX+d 令:Xi = i·h, 其中:h 为绘图的步长,它可以是变量或常量,一般情况下它为常量。i 为步数,即已经进行逼近点计算次数。Xi 为曲线上第i个象素点的X坐标值。 1. 求一阶差值 将多项式曲线上的相邻点(Xi,Yi)和(Xi+1,Yi+1)代入方程: Yi = f (i,h) =

文档评论(0)

ranfand + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档