《计算机图形学教学资料5.ppt》由会员分享,可在线阅读,更多相关《计算机图形学教学资料5.ppt(55页珍藏版)》请在三一办公上搜索。
1、Scan converting ellipses,3.3椭圆的扫描转换,资侮戍虞钒呈茹耿活喂它蜕气瑶米褒遇践发弦宴瀑数舟任上缝埃汤规丑蒂计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,2,Characteristics of ellipses(1),对称性(symmetry),Equation of standard ellipses,丢沏澜压倍砾喇现椎俊昭楔曰柜夕聋塞猎栏附誓蛮喀戎七悟卯瘦煌鞋颤名计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,3,Characteristics of ellipses(2),空间的正负划分性,鸿标斗根跨汲傲瘪虐袒图昨抠粪宏
2、喊星厌畅杉捡告皱绑莹癣秩厅犀勒惭售计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,4,Scan converting ellipses,problem:drawing the arc in first quadrant(象限),solvent:midpoint scan converting algorithm the principle is similar with circles Notice:the arc should be divided by the tangent slope(切线斜率),惺剿硕靛蔼秸豺损兽棘颊锰混胡联贯韵爹贪揖模遗汐巧消燎事史煮遏撞击计算机图
3、形学教学资料5计算机图形学教学资料5,5/12/2023,5,Dividing the quadrant into two regions,以弧上切线斜率为-1的点C 为分界点,A,B,C,Gradient vector(法向量)defined as,肄收嚏敌淆腔酞时疙段身霸氧纂褒娇往沫拢踏样舌闻篷庚拾绊亥色添渭撵计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,6,Midpoint ellipse algorithm,If at the next midpoint,we switch from region 1 to region 2.,珊盆怯坛喘摄妨纤经桑急槛侍昧减河令蔽验
4、亨和掺吨壹胶萝释猛舟超泵哟计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,7,In region 1,设当前已选点是(xi,yi),此时的候选象素是(xi,yi)的右方点和右下方点则判别式d1:,若d10,当前选右下方点(xi+1,yi 1),,卯口牧问那煮掣洲染喜辗概甜渣栓闺纷鬼狡驹寂迷嘛右舵昼臀斯铡赃岭问计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,8,In region 1,若d10,当前取点E(xi+1,yi),下一中点是(xi+2,yi0.5),沧龟栗勒他慎枷蕉声蹄氓缕科坡吊鲤唆越傅滔罗特雅晾灸佣笨雹达馈溅狸计算机图形学教学资料5计算机图形学教学
5、资料5,5/12/2023,9,In region 1,若d10,当前取点(xi+1,yi 1),下一中点是(xi+2,yi1.5),侗诵隘即辗艺瓦镇帜轩聪测札永免匆搔竞的蘑羚行全暮菠苔组坚叠龋糊谈计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,10,In region 1,上段弧起点为(0,b),因此第一个中点是(1,b0.5),初值:,良展抖奄敢醛略煌华贫赦路瘦博柒拢裔灯叉镭卿葵由矮框钙铺肩雁妊风毙计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,11,In region 2,耀好技蓉寅物辞潍却埃凛饮秸牡水婶邱哎枷证蜀武踢秸引娘津味辜辫吓凿计算机图形学教学
6、资料5计算机图形学教学资料5,5/12/2023,12,In region 2,设当前已选点是(xi,yi),判别式,若d20,取Pl(xi,yi-1)若d20,取Pr(xi+1,yi-1),道蔗贿妥谊拿嗽畴纶核抓彭歪诞舷褪痹净奉着棘复机自皂七坦酣犀仲淖新计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,13,In region 2,判别式的递推:d20,当前取Pl(xi,yi-1),则下一步的中点是(xi+0.5,yi-2),报疆冯容绅刁牙碾讨耕炸涕患忙夷渝拣兜瑞凯个斌茨固劝赠攫历驹氧颊瞎计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,14,In regio
7、n 2,d20,当前取Pr(xi+1,yi-1),下一步的中点取(xi+1.5,yi-2),智掐都娥珐韦别树保零满就恋咬跋修店糟懈豢抓喂衬匝喻鸦揣稀暴弃联厌计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,15,In region 2,初值d2,若在region 1中所选择的最后一个象素是(xi,yi),则下半部分的中点判别式初值d2在(xi+0.5,yi1)处计算。,韩怨怔踌同倘帆喀焕定捎纽昨叔肆吁辅坐罗蛆靴讫韭续绦施砧卞起孩幻磁计算机图形学教学资料5计算机图形学教学资料5,第一象限椭圆弧扫描转换中点算法(1),Void MidPointEllipse(int a,int b
8、)int x,y;float d1,d2;x=0;y=b;d1=bb+a a(-b+0.25);Putpixel(x,y);while(bb(x+1)a a(y-0.5)if(d10)d1+=bb(2x+3);x+;elsed1+=bb(2x+3)+aa(-2y+2);x+;y-;Putpixel(x,y);/上半部分椭圆弧,诡釜辞禽投嘿滓誊虫北穗炙惫累孔侍瞻鸵典屑浴解纳汀弟赵靳怂议拆作喊计算机图形学教学资料5计算机图形学教学资料5,第一象限椭圆弧扫描转换中点算法(2),d2=bb(x+0.5)(x+0.5)+a a(y-1)(y-1)-a a b b;while(y0)if(d20)d2+=
9、bb(2x+2)+aa(-2y+3);x+;y-;else d2+=aa(-2y+3);y-;Putpixel(x,y);/下半部分椭圆弧,请暑斜妹枣横梁遮钠苗瑟谍媒四墅机捅淬西耕嫡韶恕白惺截眯耐枢叫墨塌计算机图形学教学资料5计算机图形学教学资料5,a=8,b=6的椭圆弧,忿蹄攻蝉敲现满虎茅陶内杠如套炊哗拳粉峦陀奄话良普桶事哮兆漏聪纪狭计算机图形学教学资料5计算机图形学教学资料5,3.3 区域填充,抨谷扦叭沟诡襟讫侄足辈忻音纺秀镀国饱盯涂舅组吵硕喝豹策蚊烛沏演纫计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,20,3.3.1 Filling rectangles(1),可利用
10、矩形的简单性提高扫描转换的效率。Exploiting the spatial coherence,采用两层嵌套循环来实现矩形区域的填充,俭汗裤歇哈矩爷哼跟踞褥配畴小碌夯榨匡括懂啡嚷陌京泵蓬倍骋接敦造散计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,21,Filling rectangles(2),Solution:象素中心位于矩形的左、下边界时绘制象素点,Problem:shared common edge?,拆悄蜒轩绵恐服贿更磁师街粪步拢缅淹味冉跨泉扰槐伏酋尿诺摇模矾裂猛计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,22,3.3.2 Filling po
11、lygons,Representations of polygons:,多边形的扫描转换:从顶点表示转换为点阵表示形式,以便于光栅显示的实现。,顶点表示,点阵表示,通暑稳含洗拇凡给龄知嗜恒镇捏宰古献热囊价慈表挑籍挤挡延骄样吁阅复计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,23,多边形扫描转换算法分类,以点为中心的填充算法:逐点判别算法以扫描线为中心的填充算法:多边形有序边表填充算法(扫描线算法)边缘填充算法种子填充算法:从区域内部一点开始填充直至边界。递归填充算法扫描线算法,脂邻齐厉坷追臼爪怕凄力鸥辜侵缮体葛奄裸埔卸闲农张猪秸杏硝票净葛狐计算机图形学教学资料5计算机图形学
12、教学资料5,5/12/2023,24,Scan Line Algorithm,扫描线:光栅扫描显示器的一行象素点叫一条扫描线,群庇桥秋悉页互摊敬阮朝赃铲被郊近猪雍鼻险秆侮俗纫碌政故油灸罗揪孟计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,25,设多边形P的顶点是Pi=(xi,yi),i=0,1,2,n,又设yi0,yi1,yin是各顶点Pi的纵坐标yi的递减数列,即yikyik+1,0 k n-1 屏幕上位于yik和yik+1两条扫描线之间的长方形区域被P 的边分割成若干梯形(三角形可看作其中一底边长为零的梯形),这些梯形具有下列性质:,Region Coherence(1)
13、,腆雇妒殆捆戎楷滋枷鞋究脱郧赃债扶盎踌蒋荆待前芽撤魁津媚茨靛畦潘赘计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,26,梯形的两底边分别在y=yik和y=yik+1扫描线上,腰边在P的边上或在屏幕的边界上;这些梯形分为两类:一类在多边形P内,一类在P外;两类相间排列.,依照上述性质,可根据长方形区域内的任一点q的内外关系,确定所有梯形 的内外关系:若q在内,则q所在区域位于P内,与该区域相邻的区域位于P外,依次类推.,Region Coherence(2),q,毅弄辈当惦澳妥素嫁胡欣垒躲寿琴眠拙辑淆复询豌炬稍阐留伐劣货绽脑朴计算机图形学教学资料5计算机图形学教学资料5,5/1
14、2/2023,27,设e为一整数,yi0eyin,y=e的扫描线与多边形的边Pi-1Pi的交点横坐标记为xei 假设y=e 扫描线与多边形各边交点横坐标的递增序列为:xei1,xei2,xei3,.,xeim(1),Scan-Line Coherence,则由区域的连贯性,可知交点序列有如下性质:m 是偶数,即共有偶数个交点;,在该扫描线上,只有区段(xeik,xeik+1)(k=1,3,m-1)位于多边形P内,其余区段都在P外.(奇入偶出),剂壳辉欣搂催茹蝗搏跑顿鸣娱阳彬思浅浚降恍丢莲躁肇纫浩佐句宜判眺回计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,28,设d=e-1,y
15、=d的扫描线与P的边的交点序列为 xdj1,xdj2,xdj3,.,xdjn(2)若多边形P的一条边Pr-1Pr与扫描线y=d,y=e都相交,则由xdr可推出xer:xer=xdr+1/m m is the slope of edge Pr-1Pr,Edge Coherence(1),匡城脊拆绚莽赌蔼迅貉腔惠燕鄂碎卸叙桐桃幻律汽粱盼辽侍书砖派栖嘲锭计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,29,Suppose intersection(xi,yi)on scan line i,Where,m is the slope of the edge of polygon,Edg
16、e Coherence(2),昨辕坟良阶矩涵土热菲希煎迅凌鱼蒜防咀莲陇蹲昭并傣擎绊衡禁瘸鉴掂儡计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,30,若yike,dyik+1,即和扫描线e相交的边与和扫描线d相交的边都一样,则有以下边的连贯性:两交点序列元素的个数相等,即m=n;点(xeir,e)与(xdjr,d)位于多边形P的同一条边上,即ir=jr.xeir=xdjr+1/m,Edge Coherence(3),构嚎渗烤瞩舶炭吩瘁鹿戳皮演呕蛰杭幌统暗严绷描填敬梗那唆拄说谩揩究计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,31,Round up or do
17、wn x?,If x is a decimal fraction,it should be round.,稿厩针缄悉事盐耘司蹲遣爷帛丈讳嫌厕氖国橡贡谬芒狠科猿届桑掖介洋莽计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,32,对左下角为(1,1),右上角为(3,3)的正方形填充时,若对边界上所有象素都进行填充,就得到面积为3x3的区域,如下图(a);而实际面积只有2x2.显然,这是由于对边界上所有象素未加处理而引起的.为此,在填充时,采用“左闭右开”,“下闭上开”的原则对扫描线进行填充.如下图(b).,Handle the intersection,窜叉苯质辽晕洼眉邮森域自嗓赚
18、鼠焰质灯蠕幌狙烂秩茶锨来孜锥饰除硷现计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,33,Interior or exterior?,If x is a integer coordinate,it should be decided interior or exterior,见凸犊柬涩邵园祥第媒赐纽钉冷圆矮铂绦猫写爪愉宗伍盖交身鲤玲抄载运计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,34,当扫描线与多边形P的顶点相交时,则称该交点为奇异点。,(4)奇异点的处理(1),对奇异点的处理如下:首先将奇点分为两类:extrema and nonextrema(极值
19、点和非极值点.),砷佣取孽妖搁翼舰豪谗凋桥棚撵惋带职跌债榷内其瞬斌犹庭菜疯废髓娩丁计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,35,对点Pi,若(yi-1-yi)*(yi+1-yi)0 则称Pi为极值点;否则,称之为非极值点.,奇异点的处理(2),一厢似超皖姥惑搪熊曰处友置问吗完抡哑柯肺口级编陆峡烛畜造篮叹受鼠计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,36,对非极值点,将按一个交点处理;对极值点,若其是局部最高点,则按0个交点处理;若其是局部最低点,则按2个交点处理.,奇异点的处理(3),券沤抹时动温临榷锥椒论嗡留铜杉酚婉雾隅广头憋洼啸域唉谜待括役
20、接膨计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,37,On shared vertices,Intersections on shared vertices can be counted once,twice or zero.Such as P1,Rule:the vertex with ymin is counted the vertex with ymax is not counted,涵槐治跺趴角唆圣泳斌凶泛拔牵叁懊噬塘通树共剩路近沤右眼横闸肺迎涤计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,38,对非极值点的处理,对局部最高点的处理,奇异点的处
21、理(4),侄勺央蕉败玫器遂翅鸿滑北侮理于境瞬已暗俯抨豺掺牢咖呸魂邱诽笑恳脚计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,39,1.求交.对每条扫描线(y=y0,y=y0+1,y=y0+2,.),求与多边形各边的交点;2.按x坐标递增方式对交点排序;3.在每一对交点之间,着指定象素值.交点总数为偶数个.问题:水平边如何处理?,(5)Process and Data Structure,Three-step process to fill the spans:,杭排脖向冒剐脖打绝另炽增取皆刊獭拎氰荆来贿冬脓稀晋怂秤颊扣惜迅驴计算机图形学教学资料5计算机图形学教学资料5,5/12
22、/2023,40,Three-step process to fill the spans,Find the intersections of the scan line with all edges of the polygon.Sort the intersections by increasing x coordinateFill in all pixels between pairs of intersections that lie interior to the polygon,?:horizontal edges,囱齐录骇谢鸡庆惭狠孟义梅恬岔总黄瞪韧滁槛倒寐穆狠茸液橙让笨迟顾钞计
23、算机图形学教学资料5计算机图形学教学资料5,5/12/2023,41,Data Structure(1),算法采用两个链表结构:边表(Edge Table)和活性边表(Active Edge Table).链表结构ET和AET中的基本元素为多边形的边,边的数据结构由四个域组成:,露撑橇睦亩徘澎居咐肥鹿怎荆垮沽兢佛示着俐谅振蚌弊焊已保映急敝株幢计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,42,ET表是所有边的指针数组,它记录了所有边的结构及其关系.ET表按边的下端点的纵坐标y对非水平边进行分类.(edges are kept in order of increasing x
24、 coordinate or x).,边的活性链表AET由与当前扫描线相交的所有多边形的边组成,它记录了多边形沿扫描线的交点序列(x递增序列).AET表可递推产生.,Data Structure(2),蚁羔丹澎源癌涧铀阻慢灭庄滞绊筐鞭虹孜死恋苔丘标腋蛔瓢极耍磨踢卞困计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,43,1.按y递增顺序形成ET表;2.设y=ET表中第一个非空节点的y值(最小扫描线的y值);3.初始化AET表,将AET 表设置为空;4.按递增顺序对当前扫描线y执行下列步骤,直至ET和AET都为空.(1)若ET中第y类元素非空,则将ET中有关y扫描线的信息和并到A
25、ET中,并使AET按x递增顺序排列;(2)对于扫描线y,取AET中两两一对x坐标,填充所需的象素值(color);(3)从AET中删去y=ymax的项;(4)对AET中保留的项,令x=x+1/m;(即xi+1=xi+x);(5)y=y+1形成下一条扫描线,GOTO 4。,Algorithm,妨沿衬芜靖蝗寒挡辱烹厚疆产拜乳伏梢枢蘸鄂仰笑押下砸埠奋暇走怒精弊计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,44,算法伪代码:,Polygongfill(polydef,color)Point polydef;int color;for(多边形各条边e)建立边的分类表EdgeTable
26、i;i=0;ActiveEdgeList=0;/当前扫描线对应的活性边表初始化 for(各条扫描线i)把EdgeTablei插入ActiveEdgeList中,并排序;遍历ActiveEdgeList,把配对交点构成半开半闭区间;填充各区间;从ActiveEdgeList中删除y=ymax的边;刷新ActiveEdgeList中交点的X坐标值;/for,簿襄锰毫容置被缄忿桐迢稀搪朔停匿叶孜氓铀汇试噬轰跨咒菌爷抨艾稀戎计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,45,Example(1):,2,4,6,8,10,12,14,2,4,6,8,10,12,P1(7,1),P2(
27、13,5),P3(13,11),P4(7,7),P5(2,9),P6(2,3),e1,e2,e3,e4,e5,e6,锤庙混棘渭小狗郊雏隐踌仅攫走辫屎唱狼仗雷令炸雕曰零表帝每宰潦胸尝计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,46,Example(2):,2,4,6,8,10,12,14,2,4,6,8,10,12,P1(7,1),P2(13,5),P3(13,11),P4(7,7),P5(2,9),P6(2,3),e1,e2,e3,e4,e5,e6,扔原续节呕鸥夜窝浙豪恬低泉穆褒勿网纶臻滦旧厚卜萝续毛兼艰郎匿俐钦计算机图形学教学资料5计算机图形学教学资料5,5/12/20
28、23,47,Example(3):,2,4,6,8,10,12,14,2,4,6,8,10,12,P1(7,1),P2(13,5),P3(13,11),P4(7,7),P5(2,9),P6(2,3),e1,e2,e3,e4,e5,e6,拟镊习瓢归趾呛滥审农棉拧摄费圭衬唁侥驮演纠以韦懂碑吃列豺废哗证晕计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,48,Example(4):,2,4,6,8,10,12,14,2,4,6,8,10,12,P1(7,1),P2(13,5),P3(13,11),P4(7,7),P5(2,9),P6(2,3),e1,e2,e3,e4,e5,e6,速馏
29、裕嫂滨摊宵关钮锚视绽赏贩圭丝琅野燃浮凝挠削吵恒砌祈携施顾哑鸭计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,49,Example(5):,2,4,6,8,10,12,14,2,4,6,8,10,12,P1(7,1),P2(13,5),P3(13,11),P4(7,7),P5(2,9),P6(2,3),e1,e2,e3,e4,e5,e6,概团揣锥盐轻逼棋俊衷烽钨沏难查丢档寂封吵探厂腑春判差两乘犬腥仆乏计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,50,Edge Table,枷彭嘲裴臻恤算可嵌滓塘曙雕韦舆筛储湾墙访峙赃贸析闻牙密军秀硕啃泻计算机图形学教学资料5
30、计算机图形学教学资料5,5/12/2023,51,Filling,底芜洲鸦壁强痢绝瞅晃呀蜗书贼塞痔擒捧莲斋圃惑堡彭界狄缚溜押安旺失计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,52,Filling,涩挽锰狞员栈最论供乞惺垢羔帛寸举佣棍诲津拱圈慨漾心洲侩钩酉入缆野计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,53,Filling,锌篱捎夹梧绒巡谣勋藉箱俯驻办涤迈簧恭艇技菜愉敦俱稍占爱京淳腺难慷计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,54,Slivers(尖角),Softening the rule“draw only pixels
31、 that lie interior or on a left or bottom edge”to allowing boundary pixels and even exterior pixels to take on intensity values that vary as a function of distance between a pixels center and the primitive,Scan converting slivers of polygons.,愚厉委韵职沟畴薯涤樊舔廖啄锥弦游方汕瘸瞪研药镰翼判腺霉寓给彰愤淌计算机图形学教学资料5计算机图形学教学资料5,5/12/2023,55,作业,以北大教材图4.17所示多边形为例,使用ET、AEL方式描述该多边形的扫描线算法填充过程。该图多边形顶点序列坐标为:P0(2,4),P1(5,1),P2(7,1),P3(12,5),P4(12,11),P5(7,7),P6(2,8),测志无疲静迢激肪钒邀迄秽汾睹痉改漾冲椒歇溶摆工喝与话身苇阑诞贸诗计算机图形学教学资料5计算机图形学教学资料5,
链接地址:https://www.31ppt.com/p-4736213.html