- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
这是精心收集的精品经典资料,值得下载保存阅读!
第二章 图形系统
2.1 图形系统的组成:计算机图形系统=硬件系统+软件系统,硬件系统:中央主机、图形输入设备、图形输出设备
2.1.1 图形系统的功能:1.计算功能、2.存储功能、3.输入功能、4.输出功能、5.交互功能
2.1.2 图形系统的分类:1、输入设备(键盘鼠标、数字化仪、光笔、跟踪球和空间球、触摸板、扫描仪)2、输出设备(显示器、绘图机、打印机、投影仪)
2.3图形软件系统:1.零层图形软件(驱动程序、接口程序)、 2.一层图形软件(基本子程序)、3.二层图形软件(通用程序)、 4.三层图形软件(应用程序)、
第三章 基本图形生成算法
3.1 直线生成算法(逐点比较法、DDA画线算法、中点画线算法、Bresenham算法)
逐点比较法:
算法思想:在绘图的过程中,把每画一笔(走一步)都和标准图形进行比较,然后 确定下一步的走向,用步步逼近的方法画出规定图形。
原则:①使逼近的误差最小;②使走笔方向和画图的趋势一致
偏差计算:计算当前点相对于直线的位置偏差
①一般方法:(第一象限)
设定线段OA,笔位于M点,A(Xa,Ya),M(Xm,Ym)。
则OA和OM斜率分别为:
dA=tgα= Ya/Xa
dM=tgβ= Ym/Xm
M点偏差值d为:
d=tgβ-tgα=Ym/Xm-Ya/Xa=(YmXa-YaXm)/XmXa
∵ XmXa0
∴ 令 Fm= YmXa-YaXm(偏差判别式、两乘除一加减)
若 Fm0,βα,点M位于直线上方, M2,走X+。
Fm=0,α=β,点M位于直线上, M0,走X+。
Fm0,βα,点M位于直线下边, M1,走Y+。
即 Fm≥0,β≥α,点M位于直线上方, M2,走X+。
Fm0,βα, 点M位于直线下边, M1,走Y+。
在图中,计算点从M1到M3的走步过程和偏差判别式:
当点M1→M2时,Fm0 ,令沿Y+走一步距
即 X2=X1,Y2=Y1+1
判别式计算:F2=Y2Xa-YaX2
当点M2→M3时,Fm=0,
令沿X+走一步距
即 X3=X2+1,Y3=Y2
判别式计算:F3=Y3Xa-YaX3
② 递推方法:
F1=Y1Xa-YaX1
F2=Y2Xa-YaX2=(Y1+1)Xa-YaX1=F1+Xa
F3=Y3Xa-YaX3=Y2Xa-Ya(X2+1)=F2-Ya
计算量:
当Fm0 时, 令沿Y+走一步距,即 X2=X1,Y2=Y1+1
偏差判别式 F2=F1+Xa 即 Fi+1=Fi+Xa
当Fm≥0 时,令沿X+走一步距,即X3=X2+1,Y3=Y2
偏差判别式 F3=F2-Ya 即 Fi+1=Fi-Ya
4) 终点判断:
终点判断:
① 坐标判断:Xm≥Xa
Ym≥Ya
②走步数控制:即单向步数和总步数。
若绘图的步距设为dt,直线在X和Y方向上的增量分别为dx和dy,则:
X方向的步数 Nx=|dx/dt|
Y方向的步数 Ny=|dy/dt|
总步数 N=Nx+Ny =|dx/dt|+|dy/dt|
单向步数 N单=max(Nx,Ny)
3.1.4直线属性:直线的属性包括线型、线宽和线的颜色等。
3.2圆弧的生成算法。
终点条件:
通常采用步数控制:即单向步数和总步数。
若步距为dt,直线在X和Y方向上增量分别为dx和dy,
则: X方向的步数 Nx=|dx/dt|
Y方向的步数 Ny=|dy/dt|
总步数 N=Nx+Ny =|dx/dt|+|dy/dt|
单向步数 N单=max(Nx,Ny)
优弧和劣弧的判断:
3.3 区域填充 常用算法:种子填充算法、扫描线填充算法、影线填充算法等。
1) 区域:一组相邻而且又相连的像素,而且具有相同属性的封闭区域。
2) 种子:具有一定填充属性单位的像素或像素组合。
3) 区域填充:在区域内确定种子,并将这种属性扩展到整个区域的过
文档评论(0)