1 / 29

第 3 章 二维图形生成

第 3 章 二维图形生成.  点的位置可以用一个向量来表示:    如二维的点:[ x y ]     三维的点:[ x y z ]  那么要改变一个点的位置,就意味着  要改变这个向量 (大小及方向) 。. 第三节 自由曲线.  在我们工程中应用的拟合曲线,一般  地说可以分为两种类型:一种是最终  生成的曲线通过所有的给定型值点,  比如抛物样条曲线和三次参数样条曲  线等,这样的曲线适用于插值放样;  另一种曲线是,它的最终结果并不一  定通过给定的型值点,而只是比较好  地接近这些点,这类曲线(或曲面)  比较适合于外形设计。.

adia
Download Presentation

第 3 章 二维图形生成

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第3章 二维图形生成

  2.  点的位置可以用一个向量来表示:    如二维的点:[xy]     三维的点:[xyz]  那么要改变一个点的位置,就意味着  要改变这个向量(大小及方向)。 第三节 自由曲线

  3.  在我们工程中应用的拟合曲线,一般  地说可以分为两种类型:一种是最终  生成的曲线通过所有的给定型值点,  比如抛物样条曲线和三次参数样条曲  线等,这样的曲线适用于插值放样;  另一种曲线是,它的最终结果并不一  定通过给定的型值点,而只是比较好  地接近这些点,这类曲线(或曲面)  比较适合于外形设计。

  4.  因为在外形设计中(比如汽车、船舶),  初始给出的数据点往往并不精确;并  且有的地方在外观上考虑是主要的,  因为不是功能的要求,所以为了美观  而宁可放弃个别数据点。因此不须最  终生成的曲线都通过这些数据点。  另一方面,考虑到在进行外形设计时  应易于实时局部修改,反映直观,以  便于设计者交互操作。第一类曲线在  这方面就不能适应。

  5.  法国的Bezier 为此提出了一种新的  参数曲线表示方法,因此称为Bezier  曲线。后来又经过Gordon、Forrest  和Riesenfeld等人的拓广、发展, 提出了B样条曲线。   这两种曲线都因能较好地适用于 外形设计的特殊要求而获得了广泛的 应用。

  6.  一抛物线参数样条曲线 x*= v0 •T y*= 0.5 •G •T •

  7.   二、HERMITE曲线 a1 a2 0 b1 b2 0 c1 c2 1

  8. 三、三次参数样条曲线:  矩阵为: 1 0 0 0 -1 0 0 0 1

  9. 四、Bezier曲线 Bezier曲线的形状是通过一组多边折  线(特征多边形)的各顶点唯一地定  义出来的。在这组顶点中: (1) 只有第一个顶点和最后一个顶点  在曲线上; (2) 其余的顶点则用于定义曲线的导  数、阶次和形状; (3) 第一条边和最后一条边则表示了  曲线在两端点处的切线方向。

  10.  二、B样条曲线  1.从 Bezier 曲线到B样条曲线 (1) Bezier 曲线在应用中的不足: 缺乏灵活性 一旦确定了特征多  边形的顶点数(m个),也就决定了曲 线的阶次(m-1次),无法更改; 控制性差 当顶点数较多时,曲  线的阶次将较高,此时,特征多边形  对曲线形状的控制将明显减弱;

  11. 不易修改 由曲线的混合函数可  看出,其值在开区间 ( 0 , 1 ) 内均不为  零。因此,所定义之曲线在 ( 0 < t < 1)  的区间内的任何一点均要受到全部顶  点的影响,这使得对曲线进行局部修  改成为不可能。 (而在外形设计中,局部修改是随时要进行的)

  12.  为了克服 Bezier 曲线存在的问题, Gordon 等人拓展了Bezier曲线,就  外形设计的需求出发,希望新的曲线  要:易于进行局部修改; 更逼近特征多边形; 是低阶次曲线。  于是,用 n次B样条基函数替换了伯  恩斯坦基函数,构造了称之为B样条  曲线的新型曲线。

  13. n=2,二次B样条曲线 m+n+1个顶点,三 点一段,共m+1段。 i=1 P1,2(t) i=0 P0,2(t)

  14. 第4节 字符

  15.  在图形系统这部分内容中,我们已经  介绍了图形输出设备的工作原理。即  无论是画点设备或画线设备,其输出  的图线都不是连续的,而是由离散的  点或是折线近似地组成。 (两种字符) 4.1矢量字符的存储与显示

  16.  正因为如此,所以输出图线的质量就  决定于两个因素:  图形输出设备的精度(分辨率或    步距); 离散点(或走步)组合方案的科    学性和先进性。

  17.  对于图形输出设备的精度,理论上讲  当然是越高越好,但精度越高的设备  价格也越高,所以不可能无限追求。  就绘图机来讲,常用的绘图机的步距  在 0.1~0.02mm 之间,更精密的绘图  机的步距可达到 0.005 ~ 0.001mm。 一般来说,0.05mm的步距可使肉眼觉察  不出折线阶梯状的波动,0.01mm的步  距已可以满足于精密绘图的要求了。

  18.  另一个问题就是能否选择出最佳的组  合方式来逼近理想线条,这就是要讨  论所谓的 插补算法 。比较常用的插  补算法有 逐点比较法 、 正负法 和 数 值微分分析(DDA)法 等。 由于在一般的图形中,图主要是由基  本图形直线段和圆弧组成的,因此,  直线和圆弧的插补运算方法是最基本  的方法。

  19. 基本图形生成算法 就是介绍如何用 插补算法生成诸如直线、圆弧和文字 等基本图形的方法。这里,我们以逐 点比较法生成直线和圆弧为例。 所谓的逐点比较法,就是在绘图的过 程中,绘图笔每走一步就与规定图形 进行偏差比较,然后决定下一步的走 向。这样用步步逼近理想线条的方法 画出规定的图形。

  20. 直线的走步组合

  21. 圆弧的走步组合

  22.  逐点比较法的执行过程    开始    偏差判别    画笔走步   偏差计算    终点判断 (N) (Y)    结束

  23.  偏差判别:判断画笔的当前位置与规  定图形的位置之间的偏差,以确定画  笔下一步的走步方向。  画笔走步:画笔在X或Y向走一步。  终点判断:判断画笔的当前位置是否  是规定图形的终点。  偏差计算:计算画笔在当前位置上与  规定图形之间的偏差。

  24.  一、用逐点比较法生成直线  在用逐点法生成直线的过程中,要对  处于不同位置的直线和画笔,规定一  个合理的走笔方向,并讨论偏差的计  算方法。 4.2点阵字符的存储与显示

  25. 第5节 区域填充 1种子填充算法  设置一个计数器,记录下画笔应走的  总步数:N=X/S+ Y/S   X:直线段在X向的增量(X=|xa|)。   Y:直线段在Y向的增量(Y=|ya|)。  S: 绘图机步长。  故终点判断为 N=(|xa|+|ya|)/S ; 任何方向走一步后, N=N-1 ;   直至 N=0。

  26. 4。6。3多边形裁剪  直线是分四  个象限来考虑的,而因为多边形除了有  象限的不同外,还有顺时针画和逆时  针画的方向之间的差别。所以,  多边形时要分八种情况来考虑。

  27. 2扫描转换填充算法  要分顺、逆,四个象限共八种情况:

  28.  2.偏差计算规则  在圆弧的插补中,偏差的比较量是半  径。  圆的半径:  画笔所在点的半径:  (规定圆心在原点)  显然:Rp>R  笔在圆外 Rp<R  笔在圆内  偏差:=Rp–R

More Related