计算机图形学3- 基本图形的扫描转换
计算机科学技术:计算机图形学题库三

计算机科学技术:计算机图形学题库三1、名词解释扫描转换答案:在矢量图形中,多边形用顶点序列来表示,为了在光栅显示器或打印机等设备上显示多边形,必须把它转换为点阵表示。
这种转换称为扫描转换。
2、单选下面对光栅扫描图形显示器描述正确的是()A.荧光粉涂层均匀离散分布;B.是一种点画设备;C.电子束从顶到底扫描;D.通过控制电子束的强弱实现色彩的强弱;答案:A3、填空题计算机图形系统由()系统和软件系统组成。
答案:硬件4、填空题在处理图形时常常涉及的坐标系有模型坐标系(),世界坐标系,观察坐标系,设备坐标系。
答案:局部坐标系5、单选计算机图形学与计算机图象学的关系是()。
A.计算机图形学是基础,计算机图象学是其发展B.不同的学科,研究对象和数学基础都不同,但它们之间也有可转换部分C.同一学科在不同场合的不同称呼而已D.完全不同的学科,两者毫不相干答案:B6、问答题简述中点分割法进行裁剪的过程?答案:中点分割剪取法,主要是对线段不断地进行对分,并排除在区域外的部分,找出线段落在窗口内的部分。
其方法主要是通过求出离线段的一个端点最近并且在区域内的点的方法,来确定线段落在窗口内的端点。
7、问答题局部光照模型和全局光照模型的不同之处是什么?答案:局部光照模型主要是考虑光源发出的光对物体的直接影响。
另外,全局光照模型除了处理光源发出的光之外,还考虑其他辅助光的影响,如光线穿过透明或半透明物体,以及光线从一个物体表面反射到另一个表面等。
8、判断题彩色阴极射线管主要是由红绿蓝三个彩色电子束的亮度不同,进而组合形成各种色彩的。
答案:错9、问答题什么叫做走样?什么叫做反走样?反走样技术包括那些?答案:走样指的是用离散量表示连续量引起的失真。
为了提高图形的显示质量。
需要减少或消除因走样带来的阶梯形或闪烁效果,用于减少或消除这种效果的方法称为反走样。
其方法是①前滤波,以较高的分辨率显示对象;②后滤波,即加权区域取样,在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。
计算机图形学第3章 基本图形生成算法

例题:有点P0(4,3);P1(6,5);P2(10,
6 );P3(12,4),用以上4点构造2次B样条曲线。
2.1.7 非均匀有理B样条
非均匀有理B样条NURBS(Non Uniform Rational BSpline);
3.2.2
Bresenham画圆法
该算法是最有效的算法之一。
不失一般性,假设圆心(xc,yc) ,圆上的点(x′,y′),则:
x' x xc
y ' y yc
圆心为原点,半径为R的位于第一象限1/8圆弧的画法,即(0, R)~( R , R )。
2 2
yi ), 思想:每一步都选择一个距离理想圆周最近的点P( xi , 使其误差项最小。
画其他曲线。
3.3
自由曲线的生成
正弦函数曲线
指数函数曲线
多项式函数曲线
自 由 曲 线
概率分布曲线及样条函数曲线
3.3.1 曲线的基本理论
基本概念
2.1.4
规则曲线:可用数学方程式表示出来的,如抛物 线等。
自由曲线:很难用一个数学方程式描述的,如高
速公路等。可通过曲线拟合(插值、逼近)的方法来
例题: 利用Bresenham算法生成P (0,0)到Q(6,5)的直 线所经过的像素点。要求先 列出计算式算出各点的坐标 值,然后在方格中标出各点。
(1,1)
3.1.5 双步画线法 原理
模式1:当右像素位于右下角时,中间像素位于底线 模式4:当右边像素位右上角时,中间像素位于中线 模式2和模式3:当右像素位于中线时,中间像素可能位于底线 上,也可能位于中线上,分别对应于模式2和模式3,需进一步 判断。 当0≤k≤1/2时,模式4不可能出现,当1/2≤k≤1时,模式1不 可能出现。
计算机图形学——多边形的扫描转换(基本光栅图形算法)

计算机图形学——多边形的扫描转换(基本光栅图形算法)⼀、多边形扫描转换在光栅图形中,区域是由【相连的】像素组成的集合,这些像素具有【相同的】属性值或者它们位于某边界线的内部1、光栅图形的⼀个基本问题是把多边形的顶点表⽰转换为点阵表⽰。
这种转换成为多边形的扫描转换。
2、多边形的扫描转换与区域填充问题是怎样在离散的像素集上表⽰⼀个连续的⼆维图形。
3、多边形有两种重要的表⽰⽅法:(1)顶点表⽰:⽤多边形的定点序列来表⽰多边形优点:直观、⼏何意义强、占内存少、易于进⾏⼏何变换缺点:没有明确指出那些象素在多边形内,故不能直接⽤于上⾊(2)点阵表⽰:是⽤位于多边形内的象素集合来刻画多边形缺点:丢失了许多⼏何信息(eg:边界、顶点等)但是【点阵表⽰是光栅显⽰系统显⽰时所需的表现形式。
】多边形的扫描转换就是把多边形的顶点表⽰转换为点阵表⽰,即从多边形的给定边界出发,求出位于其内部的各个像素,并将帧缓冲器内的各个对应元素设置相应的灰度或颜⾊。
实际上就是多边形内的区域的着⾊过程。
4、多边形分类⼆、X扫描线算法X扫描线算法填充多边形的基本思想是按扫描线顺序,计算扫描线与多边形的相交区间,再⽤要求的颜⾊显⽰这些区间的象素,即完成填充⼯作。
区间的端点可以通过计算扫描线与多边形边界线的交点获得。
如扫描线y=3与多边形的边界相交于4点(2,3)、(4,3)、(7,3)、(9,3)这四个点定义了扫描线从x=2到x=4,从x=7到x=9两个落在多边形内的区间,该区间内像素应取填充⾊。
算法的核⼼是按x递增顺序排列交点的x坐标序列。
由此可得到扫描线算法步骤如下:算法步骤:1.确定多边形所占有的最⼤扫描线数,得到多边形定点的最⼩最⼤值(y min和y max);2.从y min到ymax每次⽤⼀条扫描线进⾏填充;3.对⼀条扫描线填充的过程分为四个步骤:a)求交点;b)把所有交点按递增顺序排序;c)交点配对(第⼀个和第⼆个,第三个和第四个);d)区间填⾊。
多边形的扫描转换算法

多边形的扫描转换算法概述多边形的扫描转换算法是计算机图形学中用于将多边形转换为像素的常用算法。
它通过扫描线的方式来确定多边形与像素的相交关系,并将多边形的内部区域填充为指定的颜色。
本文将详细介绍多边形的扫描转换算法的原理、步骤和应用。
原理多边形的扫描转换算法基于扫描线的概念,将多边形的边界线与一条水平线或垂直线进行比较,从而确定多边形的内部和外部区域。
算法的关键在于边界线的处理和内部区域的填充。
步骤多边形的扫描转换算法一般包括以下步骤:1.初始化扫描线的位置和内部区域的填充颜色。
2.遍历多边形的边界线,将其与扫描线比较,确定内部和外部区域。
3.根据内部区域的状态,进行填充颜色。
4.更新扫描线的位置,继续扫描下一条线段,直至完成对所有边界线的处理。
算法详解初始化扫描线在开始进行多边形的扫描转换之前,需要初始化扫描线的位置和内部区域的填充颜色。
一般情况下,扫描线的位置可以从多边形的最低点开始,逐渐向上扫描。
内部区域的填充颜色可以根据具体需求进行选择。
边界线处理多边形的边界线可以由多个线段组成,需要按照一定的顺序进行处理。
一种常用的处理方式是按照边界线的上端点的纵坐标从小到大排序,然后依次处理每条线段。
对于每条线段,通过比较线段的上端点和下端点的纵坐标与扫描线的位置,可以确定线段与扫描线的相交关系。
根据线段的斜率可以进一步确定线段与扫描线的交点。
内部区域填充确定了线段与扫描线的相交关系后,就可以确定内部和外部区域。
一般情况下,内部区域被定义为线段上方的区域,而外部区域被定义为线段下方的区域。
根据内部区域的状态,可以进行填充颜色。
如果内部区域是连续的,则可以使用扫描线的颜色进行填充。
如果内部区域有间隙,则需要采用其他填充算法,如边界填充算法或种子填充算法。
更新扫描线处理完当前线段后,需要更新扫描线的位置,继续扫描下一条线段。
一般情况下,扫描线的位置会逐渐向上移动,直至到达多边形的最高点。
应用多边形的扫描转换算法在计算机图形学中有广泛的应用。
计算机图形学——圆的扫描转换(基本光栅图形算法)

计算机图形学——圆的扫描转换(基本光栅图形算法)与直线的⽣成类似,圆弧⽣成算法的好坏直接影响到绘图的效率。
本篇博客将讨论圆弧⽣成的3个主要算法,正负法、Bresenham 法和圆的多边形迫近法,在介绍算法时,只考虑圆⼼在原点,半径为R的情况。
⼀、正负法1、基本原理假设已选取Pi-1为第i-1个像素,则如果Pi-1在圆内,就要向圆外⽅向⾛⼀步;若已在圆外就要向圆内⾛⼀步。
总之,尽量贴近圆的轮廓线。
2、正负法的具体实现1)圆的表⽰:设圆的圆⼼为(0,0),半径为R,则圆的⽅程为:F(x,y)=x2+y2–R2=0当点(x,y)在圆内时,F(x,y)<0。
当点(x,y)在圆外时,F(x,y)>0。
2)实现步骤第1步:x0=0,y0=R第2步:求得Pi(x i,y i)后找点P i+1的原则为:当P i在圆内时(F(xi,yi)≤0),要向右⾛⼀步得P i+1,这是向圆外⽅向⾛去。
取x i+1= x i+1, y i+1= y i当P i在圆外时(F(xi,yi)>0),要向下⾛⼀步得P i+1,这是向圆内⽅向⾛去,取x i+1= x i, y i+1= y i-1⽤来表⽰圆弧的点均在圆弧附近且 F(xi, yi)时正时负假设已经得到点(x i, y i),则容易算出F(x i, y i),即确定了下⼀个点(x i+1, y i+1),则如何计算F(x i+1, y i+1),以确定下下个点(x i+2, y i+2)?分为两种情况:右⾛⼀步后:x i+1=x i+1,y i+1=y i,此时:F(x i+1, y i+1)=x i+12+y i2-R2=x i2+y i2-R2+2x i+1 = F(x i, y i)+2x i+1下⾛⼀步后:x i+1=x i,y i+1=y i-1, 此时:F(x i+1, y i+1)=x i2+(y i-1)2-R2= F(x i, y i)-2y i+1由此可得:确定了F(xi+1, yi+1)之后,即可决定下⼀个点(xi+2, yi+2),选择道理同上。
计算机图形学_基本算法

应不同的设备。
12
返回
2
Ø曲线也可由直线段逼近生成 Ø解决的问题:给定直线两端点P0(x0,y0)
和P1(x1,y1),画出该直线。 主要步骤可以表示如下:
13
初值
偏差判别
移动绘图 偏差计算
终点 判断
N
Y 结束
图2-2 一般线段绘制过程的主要步骤示意图
• 偏差判别:根据当前绘图点位置与理想位置的偏差情况,确定
在不考虑线宽时,一维图形的扫描转 换主要是确定一维的像素序列,二维图 形的扫描转换是确定平面区域所对应的 像素集(称为区域填充)。
5
Ø 一般微机系统板上都配有图形显示缓冲区,
为了快速、及时地控制图形的输出,系统在基
本内存中开辟了从
A0000H ~ CFFFFH的256K字节
甚至到FFFFFH的512K字节
29
返回
因递推公式: Xi+1=Xi+1 yi+1 = kxi+1+b= k1xi+b+k∆x= yi+k∆x
所以:当 ∆x =1; yi+1 = yi+k。 即当x每递增1,y递增k(即直线斜率)
y
yi+1
计算机图形学基础试题

名词解释:1图形的扫描转换:确定最佳逼近图形的象素集合,并用指定的颜色和灰度设置象素的过程称为图形的扫描转换或光栅化。
2区域填充:区域填充指先将区域的一点赋予指定的颜色,然后将该颜色扩展到整个区域的过程。
3图形:通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成, 强调场景的几何表示,由场景的几何模型和景物的物理属性共同组成。
4直线的扫描转换:当我们对直线进行光栅化时,需要在显示器有限个象素中,确定最佳逼近该直线的一组象素,并且按扫描线顺序,对这些象素进行写操作,这个过程称为用显示器绘制直线或直线的扫描转换。
5剪裁:确定图形中哪些部分落在显示区之内,哪些落在显示区之外,以便只显示落在显示区内的那部分图形的选择过程称为裁剪。
6计算机图形学:计算机图形学是研究怎样用数字计算机生成、处理和显示图形的一门学科。
7种子填充算法:根据已知多边形区域内部的一个象素点来找到区域内其它象素点,从而对多边形区域内部进行填充。
8走样:在光栅显示设备上,由于象素点和象素点之间是离散的,因此用象素点阵组合出的图形,与真实景物之间必然存在一定的误差。
比如,直线或曲线往往呈现锯齿状,细小物体在图上显示不出来等。
这种现象就是图形的走样9CRT:一种真空器件,它利用电磁场产生高速的、经过聚焦的电子束,偏转到屏幕的不同位置轰击屏幕表面的荧光材料而产生可见图形。
10区域:是指已经表示成点阵形式的填充图形,它是像素集合。
11.图形和图象主要不同之处:在计算机图形学中,前者是指矢量表示的图,后者是指用点阵表示的图。
12.随机扫描和光栅扫描主要不同之处:前者是电子束扫描路径随图形不同而不同,后者是电子束扫描路径固定不变。
填空:1.刷新式CRT图形显示器按扫描方式分为随机扫描和光栅扫描两种。
2.屏幕上最小的发光单元叫做象素点,它的多少叫做分辨率,颜色深度指的是位平面的个数。
3.汉字字库一般可分为电阵字库和矢量字库两种。
4.在线段AB的区域编码裁剪算法中,如A、B两点的码均为零,则该线段位于窗口内;如A、B两点的码按位与不为零,则该线段在窗口外。
扫描转换直线段的中点算法

扫描转换直线段的中点算法1. 引言直线段在计算机图形学中是一个常见的基本元素,扫描转换是将直线段转换为图像的常用算法之一。
扫描转换直线段的中点算法是一种经典的算法,用于在计算机屏幕上绘制直线段。
本文将就该算法进行全面、详细、完整和深入地探讨。
2. 扫描转换算法概述扫描转换是将几何图形转换为图像的一种算法。
对于直线段,扫描转换算法将逐个像素地计算并确定其颜色,并将直线段转换为像素的集合,从而在屏幕上绘制出直线段。
中点算法是扫描转换算法中使用广泛的一种算法,它通过迭代的方式计算直线段上的每一个像素点的坐标。
3. 中点算法原理中点算法通过确定直线段上的每一个像素点,来近似绘制出直线段。
其原理可简述如下:1.计算直线段的斜率,如果斜率大于1,则将直线段旋转90度,并交换起点和终点的坐标。
2.初始化起点的坐标,并计算直线段的长度。
3.遍历直线段的每一个像素点,计算每个像素点相对于起点的坐标,并将其绘制到屏幕上。
4.对于直线段斜率大于1的情况,绘制像素点时需要将坐标交换回原始坐标系。
4. 中点算法步骤详解中点算法主要包括以下步骤:4.1 确定起点和终点的坐标首先需要确定直线段的起点和终点的坐标。
坐标可以使用屏幕上的像素点来表示,如(x,y)。
4.2 计算直线段的斜率通过起点和终点的坐标计算直线段的斜率k。
若斜率大于1,则进行坐标旋转和交换。
4.3 初始化变量初始化变量,包括计算直线段的长度length,以及绘制直线所需的其他参数。
4.4 迭代计算每个像素点的坐标利用迭代计算的方式,根据直线段的起点、斜率和长度,计算直线段上的每一个像素点的坐标。
4.4.1 若斜率小于等于1,遍历x坐标对于斜率小于等于1的直线段,从起点的x坐标遍历到终点的x坐标,通过直线方程计算出对应的y坐标。
4.4.2 若斜率大于1,遍历y坐标对于斜率大于1的直线段,从起点的y坐标遍历到终点的y坐标,通过直线方程计算出对应的x坐标,并将坐标转换回原始坐标系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Pu(x i+1,y i)
圆中点Bresenham算法原理
31
3.2.2 构造中点偏差判别式
从P(xi,yi)开始,为了进行下一像素点的选取, 需将Pu和Pd的中点M(x i+1,y i-0.5)代入隐函数, 构造中点偏差判别式:
d F ( x M , y M ) F ( xi 1, yi 0.5) ( xi 1) 2 ( yi 0.5) 2 R 2 (3-9)
d 0 F ( x0 1, y0 0.5) y0 0.5 k ( x0 1) b
y 0 kx0 b k 0.5
其中,因为(x 0,y 0)在直线上,所以 y0 kx0 b 0 则:
d 0 0.5 k
(3-6)
23
3.2 圆的扫描转换
,)
29
假定圆当前点是P(xi,yi),下一点 只能在Pu(x i+1,y i)和Pd(x i +1,yi-1)中选取,如图3-7所示。 Pu和Pd的中点为M(x i+1,y i- 0.5)显然,若M点在理想圆弧的下方, 则Pu点离圆弧近,点亮Pu;否则应点 亮Pd。
30
y
P(xi,yi) M(x i+1,y i-0.5) Pd(x i+1,yi-1)
yi 1 yi 1 yi
(d 0) (d 0)
(3-3)
20
三、 递推公式
1.中点偏差判别式的递推公式 在主位移x方向上已走一步的情况下,现 在考虑沿主位移方向再走一步,应该选择哪个中 点代入中点偏差判别式以决定下一步该点亮的像 素,如图3-3所示,分两种情况讨论。
M(x i+2,y i+1.5) M(x i+1,y i+0.5) P(xi,yi) M(x i+1,y i+0.5) P(xi,yi)
中点画线法
一、原理: 每次在主位移方向上走一步,另一个方 向上走不走步取决于中点偏差判别式的 值。 给定理想直线的起点坐标为P0(x0, y0),终点坐标为P1(x1,y1),则直 线的隐函数方程为:
F(x, y) y kx b 0
k
(3-1)
其中,直线的斜率:
直线水平方向位移 :
x 0 1 2 3 4 5 int(y+0.5) 0 0 1 1 2 2 y+0.5 0+0.5 0.4+0.5 0.8+0.5 1.2+0.5 Line: P0(0, 0)-- P1(5, 2) 1.6+0.5 3 2.0+0.5
2 1 0 1 2 3 4 5
缺点: 在此算法中,y、k必须是float, 13 且每一步都必须对y进行舍入取整,不利于硬 件实现。
(3-10)
32
3.2.3 递推公式
1.中点偏差判别式的递推公式
现在如果考虑主位移方向再走 一步,应该选择哪个中点代入中点 偏差判别式以决定下一步应该点亮 的像素,分两种情况讨论。
33
⑴当d<0时,下一步的中点坐标为: M(x i+2,y i-0.5)。 所以下一步中点偏差判别式为: 2 2 2 dr 1 ( xi 1) ( yi 0.5) R 2xi 3 di 2xi 3
直线、圆、椭圆是图形设计的最基本的图形(图 元)。 图形的扫描转换(光栅化):在像素点阵中确定 最佳逼近于理想图形的像素占集的过程。
4
步骤如下:
1、确定有关像素 2、用图形的颜色或其它属性,对像素进行写操作。
对一维图形,不考虑线宽,则用一个像素宽的 直线来显示图形。 二维图形的光栅化,即区域的填充:确定像素 集,填色或图案。 任何图形的光栅化,必须显示在一个窗口内, 否则不予显示。即确定一个图形的哪些部分在 窗口内,哪些在窗口外,即裁剪。
基本图形(直线、圆、椭圆) 的扫描转换
◆扫描转换的基本概念 ◆绘制像素点函数SetPixel的
用法 ◆直线圆和椭圆的中点 Bresenham原理 ◆直线反走样原理
3.1 3.2 3.3 3.4 3.6 3.7
直线的扫描转换 圆的扫描转换 椭圆的扫描转换 反走样算法 本章小结 习题
什么是扫描转换?
d0 F (1, R 0.5)
2 2
(3-13)
1 ( R 0.5) R 1.25 R
M(x i+2,y i+0.5)
d<0
d≥0
中点偏差判别式的递推
21
(1)当d<0时
d i 1 F ( xi 2, yi 1.5) yi 1.5 k ( xi 2) b
yi 0.5 k ( xi 1) b 1 k d i 1 k
直线垂直方向位移 :
x x1 x0
y y1 y 0
Δy y 1 y 0 Δx x1 x 0
y
x
理想直线将平面划分成三个区域: 对于直线上的点,F(x,y)=0; 对于直线上方的点,F(x,y)>0; 对于直线下方的点,F(x,y)<0。 假设直线的斜率为0≤k≤1,则 x ,所以 y 确定x方向为主位移方向。 按照Bresenham原理,x方向上每次加1, y方向上加不加1取决于中点偏差判别式的 值。
34
P(xi,yi)
M(x i+1,y i-0.5) M(x i+2,y i-0.5) M(x i+2,y i-1.5)
M(x i+1,y i-0.5)
d<0
d≥0
中点偏差判别式的递推
35
2.中点偏差判别式的初始值
圆的起点为P0(0,R),x为主位移方 向。因此,第一个中点是(1,R-0.5), 对应的d的初始值为:
(3-11)
⑵当d≥0时,下一步的中点坐标为: M(x i+2,y i-1.5)。 所以下一步中点偏差判别式为:
d i 1 F ( xi 2, yi 1.5) ( xi 2) 2 ( yi 1.5) 2 R 2(3-12)
( xi 1) 2 ( yi 0.5) 2 R 2 2 xi 3 (2 yi 2) d i 2( xi yi ) 5
float dx, dy, y, k; dx, = x1-x0, dy=y1-y0; k=dy/dx, y=y0;
for (x=x0; xx1, x++)
drawpixel (x, int(y+0.5), color); y=y+k;
12
例:画直线段P0(0,0)--P1(5,2)
(3-2)19ຫໍສະໝຸດ 当d<0时,中点M在直线的下方,Pu点 离直线距离近,下一像素点应点亮 Pu,即y方向上走一步;
当d>0时,中点M在直线的上方,Pd点 离直线距离近,下一像素点应点亮 Pd,即y方向上不走步; 当d=0时,中点M在直线上, Pu、Pd 与直线的距离相等,点亮Pu或Pd均 可,约定取Pd。
数值微分法(DDA)
假定直线的起点、终点分别为:(x0,y0), (x1,y1),且都为整数。
。 。
(X i , Yi)
。
栅格交点表示象素点位置
(X i+1 ,Yi + k) (X i , Int(Yi +0.5))
。
8
基本思想
已知过端点P0 (x0, y0), P1(x1, y1)的直线 段L y=kx+b 直线斜率为 y1 y0
17
F(x,y)>0
F(x,y)=0
直线中点Bresenham算法原理
F(x,y)<0
18
二、 构造中点偏差判别式
从P(xi,yi)点走第一步后, 为了进行下一像素点的选取,需 将Pu和Pd的中点 M(x i+1,y i+0.5)代入隐函 数方程,构造中点偏差判别式d。
d F ( xM , y M ) F ( xi 1, yi 0.5) yi 0.5 k ( xi 1) b
10
增量算法:在一个迭代算法中,如果每 一步的x、y值是用前一步的值加上一个 增量来获得,则称为增量算法。 DDA算法就是一个增量算法。这种方法 直观,但效率太低,因为每一步需要一 次浮点乘法和一次舍入运算。
11
void DDALine(int x0,int y0,int x1,int y1,int color) int x;
16
假定直线的当前点是 P( xi , yi ) , 沿主位移x方向走一步,下一点只能 P 在 P d ( xi 1, yi ) u ( xi 1, yi 1) 和 P P d 的中点 两点中选取。 和 u 为 M ( xi 1, yi 0.5),如图3-2所 示。显然,若中点M在理想直线的下 方,则 P u 点距离直线近,点 亮 P 。 u ;否则点亮 P d
5
图形显示前需要:扫描转换+裁剪 ●裁剪---〉扫描转换:最常用,节约计算时间。 ●扫描转换---〉裁剪:算法简单;
6
3.1 直线的扫描转换
直线的扫描转换: 确定最佳逼近于该直线的一组 象素,并且按扫描线顺序,对这些象素进行写 操作。 三个常用算法:
数值微分法(DDA) 中点画线法 Bresenham算法。
当d<0时,中点M在圆内,下一像素点应点亮 Pu,即y方向不退步;当d>0时,中点M在圆外,下 一像素点应点亮Pd,即y方向退一步;当d=0时, 中点M在圆上, Pu、Pd和圆的距离相等,点亮Pu 或Pd均可,约定取Pd。
因此,
yi yi 1 yi - 1
(d 0) (d 0)
3.2.1 算法原理 3.2.2 构造中点偏差判别式 3.2.3 递推公式
24
本节主要讲解仅包含加减操作的顺时 针绘制1/8圆的中点Bresenham算法原理。