计算机图形学教学资料-第5讲ppt课件_第1页
计算机图形学教学资料-第5讲ppt课件_第2页
计算机图形学教学资料-第5讲ppt课件_第3页
计算机图形学教学资料-第5讲ppt课件_第4页
计算机图形学教学资料-第5讲ppt课件_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Interactive Computer Graphics-交互式计算机图形学2022-5-191本章内容v直线的扫描转换v圆与椭圆的扫描转换v区域填充v二维裁剪v字符生成v反走样Interactive Computer Graphics-交互式计算机图形学2022-5-192三种绘制直线的算法v数值微分法v原理简单,实现方便,但在效率上低于后者。v用到了浮点数运算,不方便硬件实现。v中点画线法vBresenham画线法v 后两种算法都是较为常见的画线算法。对于直线段来说,两种方法是等同的和最有效的。kyyxxiiii111:递推计算0201221;211110iiiiiiiiiiidyyad

2、dyybaddxxbad当当递推公式:di-eiInteractive Computer Graphics-交互式计算机图形学2022-5-193第二节 圆与椭圆的扫描转换v圆的扫描转换v中点画圆算法vBresenham画圆算法v内接正多边形迫近法v椭圆的扫描转换v中点画法v若干相关问题Interactive Computer Graphics-交互式计算机图形学2022-5-194圆的表示Ryyxx2020)()( 原始定义: 等价定义 ),( (00222偏移yxRyx22xRy2 , 0sincosRyRxInteractive Computer Graphics-交互式计算机图形学20

3、22-5-195代数离散法,.,1 , 022RxxRy2,.,0sincosRyRx效率低Interactive Computer Graphics-交互式计算机图形学2022-5-196圆的属性分析v对称性(y,x)(y,-x)(x,-y)(-x,-y)(-y,-x)(-y,x)(-x,y)(x,y)v正负划分性0),(:222Ryxyxf定义圆的方程.),(,0),(;),(,0),(:在圆的内侧点时在圆的外侧点时则yxyxfyxyxfInteractive Computer Graphics-交互式计算机图形学2022-5-197圆的扫描转换的数学模型v找到逼近如下圆弧线的像素点集合:

4、 0 xy222Ryx01k切线斜率范围: 取x为自变量Interactive Computer Graphics-交互式计算机图形学2022-5-198中点画圆算法的原理)21, 1()(kkkyxfMfd判别量定义:下一象素的3位置选项当前象素的2位置选项P=(xk,yk)MSEMEMSEE前一个象素位置), 1(, 0);1, 1(, 0kkkkkkyxdyxd选择当选择当 ?: 提高dk计算效率?增量运算Interactive Computer Graphics-交互式计算机图形学2022-5-199续:rrrrfd25.1)5 .0(1)5 .0, 1 (220)5 .0, 1(11

5、1kkkyxfd0)5 .1,2(0)5 .0,2(kkkkkkdyxfdyxf0)5 .1()2(0)5 .0()2(222222kkkkkkdryxdryx022)5 .0(32)1(0)5 .0(32)1(222222kkkkkkkkkdryyxxdryxx05)(2032kkkkkkkdyxddxd浮点数浮点数!Interactive Computer Graphics-交互式计算机图形学2022-5-1910续:rp10设:25. 0kkdp具有等价布尔值。以及与显然025. 00kkkppd可替代的高效算法:kkdp4则判别量的初值为: Interactive Computer G

6、raphics-交互式计算机图形学2022-5-1911opypyyxxpyxppxpprpkkkkkkkkkkkkkkk10105)(203211110则:结论 Interactive Computer Graphics-交互式计算机图形学2022-5-1912二阶差分方法任意多项式均可使用该方法实现增量计算22)32(3) 1(23211111kkkkkdxxxd04025)(21211212kkkkkkkddddyxd类似地:310drd2520可使用增量运算5)(23221kkkkkyxdxdInteractive Computer Graphics-交互式计算机图形学2022-5-1

7、913中点画圆算法伪代码Void MidPointCircle(int r, int color) int x,y,d; x=0;y=r;d=1-r; delta1=3;delta2=5-2r; drawpiexl(x,y,color); while(yx) if(d2条件:下一点满足 )21() 1(22pxpyyrxrES区域 1区域 2切线斜率= -1梯度矢量区域2内?Interactive Computer Graphics-交互式计算机图形学2022-5-1936椭圆弧上部的扫描转换1)n椭圆弧上部对应的决策参数:)21, 1(41iiiyxfd之间选择。或者应在,则下一点若当前绘制

8、的点为) 1, 1(), 1(),(),(11iiiiiiiiyxyxyxyxv根据决策参数的取值,成立:01)1, 1(01), 1(),(11iiiiiiiidyxdyxyx当当Interactive Computer Graphics-交互式计算机图形学2022-5-1937椭圆弧上部的扫描转换2)n决策参数的递推计算初始条件:), 0(),(00yryx2220441xyxyrrrrd化简得到:)5 . 0, 1 (410yrfd则:)5 . 0(422222yxyxyrrrrrInteractive Computer Graphics-交互式计算机图形学2022-5-1938椭圆弧上

9、部的扫描转换3)iiiddd1111可表示为:判别量的递推计算公式)5 . 0, 2(4)5 . 0, 1(41111iiiiiyxfyxfd)5 . 0()2( 412222221yxixiyirryrxrd展开:)5 . 0() 1(2) 1( 422222222yxixyiyiyrryrrxrxr224) 1(8)5 . 0, 1(4yiyiirxryxf)32(412iyixrd) 32(412iyixrd时:当01 idInteractive Computer Graphics-交互式计算机图形学2022-5-1939椭圆弧上部的扫描转换4)) 1(8)32(4122ixiyiyrx

10、rd式时对应的判别量递推公类似可得01 id)5 . 1, 2(4)5 . 0, 1(41111iiiiiyxfyxfd)5 . 1()2( 412222221yxixiyirryrxrd展开:2224)1 (8) 1(8)5 . 0, 1(4yixiyiiryrxryxf)1 (8)32(4122ixiyiyrxrd时:当01 idInteractive Computer Graphics-交互式计算机图形学2022-5-1940椭圆弧上部的扫描转换5)01) 1(8)32(4101)32(4112221iixiyiiiyiidyrxrddxrdd2220441xyxyrrrrd判别量初值:

11、), 0(),(00yryx点:第一象限椭圆弧的起始01) 1, 1(01), 1(),(11iiiiiiiidyxdyxyx当当0)()()(),(222yxxyrryrxryxf椭圆方程:递推计算过程:Interactive Computer Graphics-交互式计算机图形学2022-5-1941椭圆弧下部的扫描转换1)v同理对椭圆弧的下部进行扫描转换。) 1, 5 . 0(42iiiyxfd判别参数为:)1, 1(),(02)1,(),(02)0,(),(111100iiiiiiiiiixyxyxdyxyxdryx时当时当开始:绘制从初始点Interactive Computer G

12、raphics-交互式计算机图形学2022-5-1942椭圆弧下部的扫描转换2))0 ,(xr初始点为:222044) 1 , 5 . 0(42yyxxxrrrrrfd判别参数的初始值为:02) 1(8) 32(4202) 32(4222221iiyixiiixiidxryrddyrdd:判别参数的递推公式为判别参数的递推计算:Interactive Computer Graphics-交互式计算机图形学2022-5-1943椭圆弧的扫描转换v从(0,ry)开场,绘制椭圆弧的上部,采用判别参数为d1i;v当绘制当前点满足切线斜率大于-1时,椭圆弧上部绘制完成;v从(rx,0)开场,绘制椭圆弧的

13、下部,采用判别参数为d2i;v当绘制当前点的坐标与椭圆弧上部的最后一点交叉时,椭圆弧下部绘制完成;v根据椭圆的对称性完成整个椭圆的绘制.Interactive Computer Graphics-交互式计算机图形学2022-5-1944若干相关问题(1)v曲线的扫描转换:v一般方法:直线段逼近v 注意象素点的等距。为此可使用曲线的参数表示,或按照曲线斜率选择自变量,而从显式表示中生成等距位置点。 正区域 负区域 n正负法:n尤其适合易画曲线:n具有正负划分性、平坦性、连续性n初始定向:起始点切线方向;n前进规则:正负划分性确定;Interactive Computer Graphics-交互式

14、计算机图形学2022-5-1945若干相关问题(2)v直线绘制算法的并行实现:v任何线生成算法都可以通过线段分割而适用于并行实现。v有足够多的处理器时,按照屏幕的不同区域分配处理器。Interactive Computer Graphics-交互式计算机图形学2022-5-1946若干相关问题(3)v图元几何尺寸的保留:v在扫描转换过程中注意象素集合的实际尺寸,如线段的始末点坐标的定义。v不同图元的尺寸变化不同。Interactive Computer Graphics-交互式计算机图形学2022-5-1947若干相关问题4) 线宽控制标准线宽的直线被扫描转换为一个象素宽的直线段。其它线宽的实

15、现可以采用笔或刷的方式。通过沿相邻平行线路径画额外的象素可以定义标准线宽的正整数倍的其它线宽。线刷子方法实现的线宽控制:分水平和垂直两种。垂直线刷子:一般地,对于任意线段,当某点切矢斜率在-1,1之间时,扫描转换过程是:给定x以固定步长,确定y方向的增量,所以可用垂直线刷子扫过象素,即得到所要求的线段。水平线刷子:对于其切矢斜率在-1,1之外的线段,可用水平线刷子扫过即可。Interactive Computer Graphics-交互式计算机图形学2022-5-1948 线刷子的设计简单高效。但它存在如图所示的缺陷。线刷子方案的缺陷Interactive Computer Graphics-

16、交互式计算机图形学2022-5-1949v采用矩形刷子可以避免第一个缺陷v 需设计新的数据结构以避免象素的重复绘制。v采用画轮廓线再填充的方法可以避免上述三种缺陷。解决方案Interactive Computer Graphics-交互式计算机图形学2022-5-1950线型控制线型属性:实线、虚线和点划线等。线型的实现方式:通过设置沿线路径显示的实线段的长度和间距来修改画线算法得到不同类型的线。例如:用布尔数组定义出指定的类型,如间距为5的虚线:11111000001表示绘制点,0表示不绘制点),并使其在直线段的有效定义范围内不断重复,即扫描转换后得到的象素点依序与线型定义数组一一对应,并根据线型定义数组决定该象素点的绘制与否。若干相关问题5)Interactive Computer Graphics-交互式计算机图形学2022-5-1951线型的精确控制v采用上述固定划线长度的实现方法会在直线方向定义不同时产生出不等长的划线段。v原因在于相同个数的象素沿不同方向将生成不同长度的线段。v为实现精确的线型定义,应按照线的斜率调整线型定义数组中实线段和空白段的象素数目。Interactive Computer Graphics-交互式计算机图形学2022-5-1952v另一种精确定义线型的方法是:将线上的每一段实划线作为一段单独的线段,定位其始末端点

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论