基本光栅图形生成算法PPT讲稿.ppt
《基本光栅图形生成算法PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《基本光栅图形生成算法PPT讲稿.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基本光栅图形生成算基本光栅图形生成算法法2022/10/8第1页,共41页,编辑于2022年,星期六在计算机上绘图的一般方法在计算机上绘图的一般方法用现有绘图软件系统用现有绘图软件系统画图Word中的图文编辑工具AutoCADPhotoshop等大型绘图软件 用绘图软件包用绘图软件包 OpenGL就是一个典型的、已经被接受的国际工业标准的图形软件包。Java3D用操作系统的绘图功能用操作系统的绘图功能 如Windows中Win32API中就提供了基本的绘图功能第2页,共41页,编辑于2022年,星期六在数学上,理想的直线是一条由无穷多个无限小的连续的点组成。在光栅显示平面上,我们只能用二维光栅
2、格网上尽可能靠近这条直线的象素点的集合来表示它。每个象素具有一定的尺寸,是显示平面上可被访问的最小单位,它的坐标x和y只能是整数,也就是说相邻象素的坐标值是阶跃的而不是连续的。直线生成算法直线生成算法第3页,共41页,编辑于2022年,星期六DDA算法描述算法描述设(xs,ys)和(xe,ye)分别为直线的起点坐标和终点坐标,则:可通过计算由x方向的增量引起y的改变来生成直线。由,得到:同样,可通过计算由y方向的增量引起x的改变来生成直线。由,得到:直线生成算法直线生成算法DDA算法算法第4页,共41页,编辑于2022年,星期六DDA算法基本思想算法基本思想选定和中较大者作为步进方向,在此方向
3、上每次增加(或者减少)一个像素,然后计算另一个方向上增量的值,把每次计算出的值经取整后顺序输出到显示器,则可以得到光栅化的直线。DDA算法特点算法特点算法简单,实现容易,但计算量较大,每产生一个像素需要取整运算,此外算法还要除法运算,因此生成直线的速度较慢。直线生成算法直线生成算法DDA算法算法第5页,共41页,编辑于2022年,星期六例题1:已知起点A(16,-5)和终点B(-4,8),用DDA法在A和B之间生成一段直线。第一步:计算初值:,由于,所以选定x轴方向作为步进方向;第二步:在x轴方向上每次的变化量为,则y轴方向的变化量为第三步:循环计算点的坐标,并取整显示:直线生成算法直线生成算
4、法DDA算法算法第6页,共41页,编辑于2022年,星期六Bresenham算法基本思想算法基本思想令,直线方程:,其中为起点坐标;考虑,则x方向增加1,y方向增加m,由起点(xs,ys)可求得直线上的点(xi,yi),i=1,2,3,其中 x1=xs,y1=ys;用坐标为(xi,round(yi)的象素来表示直线上的点,其中round(yi)表示最靠近y的整数;直线生成算法直线生成算法Bresenham算法算法第7页,共41页,编辑于2022年,星期六Bresenham算法基本思想算法基本思想令yi,r=round(yi),用坐标为(xi,yi,r)的象素来表示直线上的点,第i+1个点只能在
5、C和D中选取。令误差项当时,即选C点当时,即选D点直线生成算法直线生成算法Bresenham算法算法第8页,共41页,编辑于2022年,星期六Bresenham算法基本思想算法基本思想的递推公式=初始值直线生成算法直线生成算法Bresenham算法算法第9页,共41页,编辑于2022年,星期六实际上,误差项的数值大小与算法的执行没有关系,相关的只是的符号,因而我们可以改变的定义,在两边同乘以,可消除除法运算:令初始如果,则:如果,则:直线生成算法直线生成算法Bresenham算法算法第10页,共41页,编辑于2022年,星期六 Bresenham算法基本思想算法基本思想上述算法扩展到任一八分圆
6、坐标空间图,从而形成一般的Bresenham算法。下图是各象限的判断条件。直线生成算法直线生成算法Bresenham算法算法第11页,共41页,编辑于2022年,星期六例题2:已知起点A(20,10)和终点B(30,18),用Bresenham法在A和B之间生成一段直线。解:解:x=10,y=8,斜率在0和1之间;直线生成算法直线生成算法Bresenham算法算法ixiyi12010=2*8-10=6x加1,y加122111x加1,y加132212x加1,y不变42312x加1,y加152413x加1,y加162514x加1,y加172615x加1,y加182716x加1,y不变92816x加
7、1,y加1102917x加1,y加1ixiyi12010 x加1,y加122111x加1,y加132212x加1,y不变42312x加1,y加152413x加1,y加162514x加1,y加172615x加1,y加182716x加1,y不变92816x加1,y加1102917x加1,y加1第12页,共41页,编辑于2022年,星期六这里仅讨论圆心位于坐标原点的圆的扫描转换算法,对于圆心不在原点的圆,可先用平移变换,将它的圆心平移到原点,然后进行扫描转换,最后再平移到原来的位置;圆的八分对称性中点算法生成圆圆的生成算法圆的生成算法第13页,共41页,编辑于2022年,星期六圆心位于原点的圆有四条
8、对称轴x=0、y=0、y=x和y=x,见下图。从而若已知圆弧上一点P(x,y),就可以得到其关于四条对称轴的七个对称点,这种性质称为八分对称性。因此只要能画出八分之一的圆弧,就可以利用对称性的原理得到整个圆弧。圆的生成算法圆的生成算法圆的八分对称性圆的八分对称性第14页,共41页,编辑于2022年,星期六设要显示圆的圆心在原点(0,0),半径为R,起点在(0,R)处,终点在(,),顺时针生成八分之一圆,利用对称性扫描转换全部圆;为了应用圆的生成算法,我们定义一个圆函数:F(x,y)=任何点(x,y)的相对位置可由圆函数的符号来确定:若F(x,y)0,点(x,y)位于圆外圆的生成算法圆的生成算法
9、中点算法生成圆中点算法生成圆第15页,共41页,编辑于2022年,星期六如何选取下一象素点?如何选取下一象素点?假定当前取点为P(xi,yi),如果顺时针生成圆,那么下一点只能取正右方的点E(xi+1,yi)或右下方的点SE(xi+1,yi-1)两者之一。假设M是E和SE的中点,即 M(xi+1,yi-0.5),用中点M的圆函数作为决策变量di,则:l当di 0时,M在圆外(如图a),说明点SE距离圆更近,应取点SE作为下一象素点;l当di=0时,在E点与SE点之中随便取一个即可,我们约定取点SE作为下一象素点。图a图b圆的生成算法圆的生成算法中点算法生成圆中点算法生成圆第16页,共41页,编
10、辑于2022年,星期六如何计算新的决策变量?如何计算新的决策变量?当前(1)下面分两种情况来讨论在迭代计算中决策变量di+1的推导:若di0,则选择E点,接着下一个中点就是M(xi+2,yi),这时新的决策变量为(2)(2)-(1)得:若di0,则选择SE点,接着下一个中点就是M(xi+2,yi),这时新的决策变量为(3)(3)-(1)得:di0di0圆的生成算法圆的生成算法中点算法生成圆中点算法生成圆第17页,共41页,编辑于2022年,星期六如何计算初始决策变量?如何计算初始决策变量?对于初始点(0,R),顺时针生成八分之一圆,下一个中点M的坐标是(1,R-0.5),所以:圆的生成算法圆的
11、生成算法中点算法生成圆中点算法生成圆第18页,共41页,编辑于2022年,星期六输入:圆的半径R;算法步骤:1.计算初始决策变量值d=1.25-R、x=0、y=R;2.绘制点(x,y)及其在八分圆中的另外七个对称点;3.判断决策变量d的符号:若d0,则先将d更新为d+2x+3,再将(x,y)更新为(x+1,y);否则先将d更新为d+2(x-y)+5,再将(x,y)更新为(x+1,y-1);4.当x=y时,重复步骤3和4。否则结束。void midPointCircle(int r)float d;x=0;y=r;d=1.25-r;while(x=y)draw(x,y);/绘制点(x,y)及其七
12、个对称点;if(d0)d+=x*2.0+3;elsed+=2.0*(x-y)+5;y-;x+;圆的生成算法圆的生成算法中点算法生成圆中点算法生成圆第19页,共41页,编辑于2022年,星期六多边形的表示方法多边形的表示方法顶点表示顶点表示是用多边形的顶点的序列来描述多边形,该表示几何意义强、占内存少,但不能直观地说明哪些像素在多边形内;点阵表示点阵表示是用位于多边形内的象素的集合来刻划多边形,该方法虽然没有多边形的几何信息,但具有面着色所需要的图像表示形式;多边形填充多边形填充就是把多边形的顶点表示转换为点阵表示把多边形的顶点表示转换为点阵表示,即从多边形的给定边界出发,求出位于其内部的各个像
13、素,并将帧缓冲器内的各个对应元素设置相应的灰度或颜色。多边形顶点表示多边形点阵表示 多边形的填充多边形的填充第20页,共41页,编辑于2022年,星期六填充条件:多边形的顶点序列(Pi,i=0,1,n)、填充色。对多边形进行填充,关键是找出多边形内的象素。多边形内点的判别准则从测试点引出一条伸向无穷远处的射线(假设是水平向右的射线),那么:若射线与多边形边界的交点个数为奇数时,则该点为内点;若交点个数为偶数时,则该点为外点。奇异点上述的判别准则,在大多数情况下是正确的,但当水平扫描线正好通过多边形顶点时,要特别注意。例如,图中过顶点的射线1、射线6,它们与多边形的交点个数为奇数,按照判别准则它
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 光栅 图形 生成 算法 PPT 讲稿
限制150内