计算机图形学理论及应用技术 第6章图形的生成与计算.ppt
《计算机图形学理论及应用技术 第6章图形的生成与计算.ppt》由会员分享,可在线阅读,更多相关《计算机图形学理论及应用技术 第6章图形的生成与计算.ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章图形的生成与计算图形的生成与计算6.16.16.16.1 直线生成的算法直线生成的算法直线生成的算法直线生成的算法6.1.16.1.1直线生成的算法要求直线生成的算法要求直线生成的算法要求直线生成的算法要求6.1.2 6.1.2 6.1.2 6.1.2 逐点比较法逐点比较法逐点比较法逐点比较法 6.1.36.1.3数值微分法数值微分法数值微分法数值微分法 6.26.26.26.2 圆的生成算法圆的生成算法圆的生成算法圆的生成算法 6.36.3多项式曲线图的绘制多项式曲线图的绘制多项式曲线图的绘制多项式曲线图的绘制 6.3.16.3.1多项式计算的差分法多项式计算的差分法多项式计算的差
2、分法多项式计算的差分法 6.3.26.3.2差分法计算步骤差分法计算步骤差分法计算步骤差分法计算步骤 6.3.36.3.3多项式曲线图绘制的程序设计多项式曲线图绘制的程序设计多项式曲线图绘制的程序设计多项式曲线图绘制的程序设计 6.46.46.46.4 内插法绘制曲线图的方法内插法绘制曲线图的方法内插法绘制曲线图的方法内插法绘制曲线图的方法 6.4.16.4.1内插法的原理和特点内插法的原理和特点内插法的原理和特点内插法的原理和特点 6.4.26.4.2用内插法实现曲线圆滑处理方法用内插法实现曲线圆滑处理方法用内插法实现曲线圆滑处理方法用内插法实现曲线圆滑处理方法 6.4.36.4.3用内插法
3、实现曲线圆滑处理的程序设计用内插法实现曲线圆滑处理的程序设计用内插法实现曲线圆滑处理的程序设计用内插法实现曲线圆滑处理的程序设计 6.56.56.56.5 贝塞尔法曲线和贝塞尔法曲线和贝塞尔法曲线和贝塞尔法曲线和B B B B样条曲线样条曲线样条曲线样条曲线 6.5.16.5.1贝塞尔曲线贝塞尔曲线贝塞尔曲线贝塞尔曲线 6.5.26.5.2B B样条曲线样条曲线样条曲线样条曲线 6.6 6.6 6.6 6.6 字符的生成字符的生成字符的生成字符的生成 6.6.16.6.1点阵式字符的生成方法点阵式字符的生成方法点阵式字符的生成方法点阵式字符的生成方法 6.6.26.6.2矢量式字符的生成方法矢
4、量式字符的生成方法矢量式字符的生成方法矢量式字符的生成方法 6.6.36.6.3方向编码式字符方向编码式字符方向编码式字符方向编码式字符 6.6.46.6.4轮廓字形技术轮廓字形技术轮廓字形技术轮廓字形技术 习题习题习题习题6 6 6 6 6.1直线生成的算法直线生成的算法6.1.1直线直线生成的算法要求的算法要求6.1.2逐点比较法逐点比较法6.1.3数值微分法数值微分法数数值值微微分分法法称称为为DDA法法(DigitalDifferentialAnalyzer),它它通通过过微微分分方程的方法简化方程,从而减小绘图计算的复杂度。方程的方法简化方程,从而减小绘图计算的复杂度。对上面的直线用
5、微分方程法处理,具体方法是:对上面的直线用微分方程法处理,具体方法是:求导:求导:X=Xa+(XbXa)t;Y=Ya+(YbYa)t.得:从而得出:即:x=(XbXa)t;y=(YbYa)t.式中的t、x和y的意义分别为;直线参变量增加的数值(步长)、对应图形在X方向和Y方向增加的坐标值。若令t1/L,L=max(XbXa,YbYa),并计算出x和y的值,则在绘图过程中图形坐标的计算公式为:Xi+1=Xi+x;Yi+1=Yi+y.6.2圆的生成算法设要输出的图形是圆心在原点,半径为R的圆。它的参数方程为:X=Rcos(t)(0t2)Y=Rsin(t).1.求圆轨迹逼近方程求圆轨迹逼近方程由圆微
6、分方程:dx=Rsin(t)dt=Ydt;dy=Rcos(t)dt=Xdt.得出差分方程:x=Yt;y=Xt.若点(Xi,Yi)在圆上,令步长t,则圆轨迹逼近方程:Xi+1=XiYi;Yi+1=Yi+Xi.2.求步长求步长值值由于是一个很小的值,但不可能无穷小,所以逼近点(Xi+1,Yi+1)近似在圆上。为了使(Xi+1,Yi+1)与(Xi,Yi)邻近,要求满足关系式:(Xi+1Xi)2+(Yi+1Yi)22变换它的形式:(Xi+1Xi)2+(Yi+1Yi)2=2(Yi2+Xi2)=2R22要满足该式,则要求:3.求逼近点的误差求逼近点的误差逼近点(Xi+1,Yi+1)所在的圆轨迹方程为:Xi
7、+12+Yi+12=(Xi2+Yi2)+2(Xi2+Yi2)=(1+2)(Xi2+Yi2)显然,逼近点不在要求的圆轨迹上。也就是说,如果按上述的圆逼近方程的算法绘图,每走一步,新点离圆心越远,其半径总要乘以一个大于1的系数(1+2),使得图形越来越偏离理想圆,结果会是一个螺旋线,起始点与终止点不重合。4.求消除误差的圆轨迹逼近方程求消除误差的圆轨迹逼近方程对原圆轨迹逼近方程进行修正,使它的新形式为:Xi+1=XiYiYi+1=Yi+Xi+1=Xi+(12)Yi根据修正后的圆轨迹逼近方程,不难得出逼近点(Xi+1,Yi+1)与已有点(Xi,Yi)之间满足关系:Xi+12Xi+1Yi+1+Yi+1
8、2=Xi2XiYi+Yi2该关系式说明,如果已有点(Xi,Yi)在X2XY+Y2=R2上,则 逼 近 点(Xi+1,Yi+1)也 在 X2 XY+Y2=R2上。而 X2XY+Y2=R2是一个与圆X2+Y2=R2非常接近的椭圆,它的长半轴是短半轴是6.3多项式曲线图的绘制6.3.1多项式计算的差分法设要处理的三次多项式为:Y=f(X)=aX3bX2cXd令:Xi=ih,其中:h为绘图的步长,它可以是变量或常量,一般情况下它为常量。i为步数,即已经进行逼近点计算次数。Xi为曲线上第i个象素点的X坐标值。1.求一阶差值求一阶差值将多项式曲线上的相邻点(Xi,Yi)和(Xi+1,Yi+1)代入方程:Y
9、i=f(i,h)=ah3i3bh2i2chidYi+1=ah3(i1)3+bh2(i1)2+ch(i1)d求一阶差值:Yi+1Yi=ah3(3i23i1)bh2(2h1)ch=q(i,h)令:Ri=Yi+1Yi=q(i,h)得:Yi+1=Yi+Ri.显然,一阶差值Ri为i的二阶多项式,比原方程降了一阶。2.求二阶差值求二阶差值设:Ri+1Ri=R(h,i),则R(h,i)为二阶差值。由于Ri+1与Ri对于q(i,h)来说,变量i的最高次数差别为(i+1)2和i2,其系数一样,最终结果R(h,i)的最高次数项(二次项)会抵消。R(h,i)为i的一次多项式,比原方程降了二阶。令:Si=R(h,i)
10、即:Ri+1=Ri+Si3.求三阶差值求三阶差值设:Si+1Si=S(h),则S(h)为三阶差值。Si+1与Si是有关i的一次多项式,它们的一次项系数是相等的,相减后,一次项被消去。S(h)是一个与i无关的常数。S(h)可以利用S1和S0求得:S(h)=S1S0=(R2R1)(R1R0)=R22R1R0=(Y3Y2)2(Y2Y1)(Y1Y0)=Y33Y23Y1Y06.3.2差分法计算步骤差分法计算步骤用差分法绘制多项式曲线方程,其计算步骤按下列顺序进行:S0=(R1R0)=(Y2Y1)(Y1Y0)=Y22y1Y0S(h)=S1S0=Y33Y23Y1Y0R0=Y1Y0Si+1=SiS(h)Ri+
11、1=RiSiYi+1=YiRiXi=ih该计算步骤用图示表示为:S(h)+S(h)+S(h)+S(h)+S(h)S0-S1-S2-S3-S4-S5-+R0R1R2-R3-R4-R5-+Y0Y1Y2Y3Y4-Y5-Y6图图6-3差分法计算多项式值步骤差分法计算多项式值步骤上述计算步骤说明:用差分法计算多项式要分两步进行,第一步为初始计算,第二步才是正式计算。初始计算结果得出正式计算需要的初始数据,它的内容有:(1)通过多项式方程计算出Y0、Y1、Y2和Y3值。(2)对于Y0、Y1、Y2及Y3,求它们相邻数之间的差,得出R0、R1、R2值。(3)求R1R0、R2R1,得出S0和S1。(4)计算S1
12、S0,得出S(h)。正式计算是根据已知数据及他们之间的差值关系,求下一个逼近点Yi+1值,具体求法是:Xi+1=Xi+h;Yi+1=Yi+Ri;Ri+1=Ri+Si;Si+1=Si+S(h).6.3.3多项式曲线图绘制的程序设计多项式曲线图绘制的程序设计1.绘制多项式曲线图的关键问题绘制多项式曲线图的关键问题(1)坐标转换多项式方程对应的曲线坐标系是用户坐标系,而曲线图要通过设备坐标系输出,两个坐标系之间存在较大的差异。多项式方程的数据取值范围(Xmin,Xmax,Ymin,Ymax)和对图形坐标轴方向的要求,决定了图形的窗口情况;输出设备的绘图区域(Xmin,Xmax,Ymin,Ymax)和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机图形学理论及应用技术 第6章 图形的生成与计算 计算机 图形 学理 论及 应用技术 生成 计算
限制150内