欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    计算机图形学教学资料6.ppt

    • 资源ID:477581       资源大小:1,015.50KB        全文页数:60页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机图形学教学资料6.ppt

    边缘填充算法n思路思路:利用求余运算代替交点排序、配对、构造填充区间。n原理原理:象素点颜色值经过偶数次求余运算后保持不变,经过奇数次求余运算后变为其余数。n算法算法:1.以扫描线为中心的边缘填充算法2.以边为中心的边缘填充算法以扫描线为中心的边缘填充算法基本思想基本思想:对于每一条扫描线和每条多边形边的交点(xi,yi),将该扫描线上交点右方的所有象素取补.对多边形的每条边做此处理,边的顺序随意。以扫描线为中心的边缘填充算法0 x1x2x3x向右求余从0)(xa(1)先将当前扫描线上的所有象素着上指定颜色的补色(2)当前扫描线上的各交点依次将右方的象素颜色取补色以扫描线为中心的边缘填充算法向右求余从0)(xa0 x1x2x3x以扫描线为中心的边缘填充算法向右求余从1)(xb0 x1x2x3x以扫描线为中心的边缘填充算法向右求余从1)(xb0 x1x2x3x以扫描线为中心的边缘填充算法向右求余从2)(xc0 x1x2x3x以扫描线为中心的边缘填充算法向右求余从2)(xc0 x1x2x3x以扫描线为中心的边缘填充算法0 x1x2x3x向右求余从3)(xd以扫描线为中心的边缘填充算法0 x1x2x3x向右求余从3)(xd以扫描线为中心的边缘填充算法对各条扫描线循环上述处理过程。以边为中心的边缘填充算法原始多边形以边为中心的边缘填充算法初始化:将绘图窗口的背景色置为多边形颜色的补色以边为中心的边缘填充算法对非水平边上的每个象素点向右求余以边为中心的边缘填充算法以边为中心的边缘填充算法以边为中心的边缘填充算法优点:优点:与扫描线算法相比,边缘填充算法的数据结构和程序结构简单。缺点:缺点:但该算法需要对帧缓存的大量象素反复赋值,速度较慢。边缘填充算法特点栅栏填充算法栅栏:栅栏:一条与扫描线垂直的直线,过多边形的某个顶点,并把多边形分为左右两半。基本思想基本思想:对于每条扫描线与多边形边的交点,仅将交点与栅栏之间的象素取补.栅栏填充算法0 x1x2x3x向左求余从0)(xa将当前扫描线上的所有象素着上指定颜色的补色0 x1x2x3x向左求余从1)(xa栅栏填充算法0 x1x2x3x向左求余从2)(xa将当前扫描线上的所有象素着上指定颜色的补色栅栏填充算法0 x1x2x3x向右求余从3)(xa将当前扫描线上的所有象素着上指定颜色的补色栅栏填充算法边标志填充算法(1)n原理:当一条直线穿越多边形时,其上各点针对多边形的归属状态将交替变化;若点在多边形外,则在直线与多边形相交一次后,点在多边形内;边标志填充算法(2)n算法步骤:n第一步:多边形各边界线段经扫描转换过程后,对应象素打上边标志;n第二步:对每一扫描线,由左至右逐点访问:每访问到标志点,则进行一次多边形内/外部的转换,直至扫描线末。对判别为多边形内部的象素点进行填充;n第三步:第二步循环至扫描结束。n优点:边标志算法进一步改进了栅栏算法,使得算法对每个象素仅访问一次,用硬件实现时速度优势更明显。扫描线算法:扫描线算法:对每条扫描线,首先计算它与扇形区域边界的交点,再把配对交点之间的像素用指定颜色填充。Filling Ellipse Arcs 区域(种子)填充是指先将区域内的一点(种子点)赋予给定颜色,然后将颜色扩充到整个区域内的过程(染色过程).n区域:已经表示成点阵形式的象素集合,具有相同颜色.n与多边形扫描转换的比较n基本思想n边界要求n基于的条件区域填充(种子填充算法)n区域的两种表示:内点表示、边界表示.v边界表示:给位于边界上的所有象素着同一种颜色(特征值),而区域内着不同的颜色.区域的表示v 内点表示:给区域内所有象素都着上同一种颜色 (特征值),边界上pixel着不同的颜色.种子填充算法要求:区域具有一定的连通性:4连通或8连通。4连通区域连通区域:取区域内任意两点,在该区域内(不能通过区域外的点),若从其中一点出发,通过上、下、左、右 四种运动可到达另一点时,则称该区域为4连通区域.区域连通性(区域连通性(1)4连通运动方向8连通运动方向区域连通性(区域连通性(2)区域连通性(区域连通性(3)边界连通性边界连通性:4连通区域虽可看作是8连通区域,但其作4连通区域或是8连通区域时其边界边界不同。区域连通性(区域连通性(4)允许从4个方向搜索下一个象素的填充算法称为是四向填四向填充算法充算法.允许从8个方向搜索下一个象素的填充算法称为是8向填向填充算法充算法.种子填充算法种子填充算法n递归填充算法递归填充算法n扫描线算法扫描线算法算法思想算法思想:设G为一内点表示的区域,(x,y)是G内一点,以(x,y)为种子点,先将(x,y)置为newcolor,然后对(x,y)的4(或8)领域进行递归处理递归处理,逐步将整个区域G置为newcolor.(1)递归算法void FloodFill4(int x,int y,int oldColor,int newColor)if(GetPixel(x,y)=oldColor)PutPixel(x,y,newColor);FloodFill4(x,y+1,oldColor,newColor);FloodFill4(x,y-1,oldColor,newColor);FloodFill4(x-1,y,oldColor,newColor);FloodFill4(x+1,y,oldColor,newColor);Algorithm12345678910111213141516171819202122Example:优点优点:算法原理和程序都很简单缺点:缺点:效率不高,原因是递归次数太多,区域内的每个象素都引起一次递归,即系统堆栈的一次进出操作,费时费内存。递归算法思想:(1)填充并确定种子点所在的区段;(2)将种子区段压栈;(3)若堆栈非空,栈顶区段出栈;否则算法 结束;(4)填充并确定新的区段,将其区段信息 压栈,返回第(3)步。(2)扫描线种子填充算法扫描线种子填充算法流程(1)n初始化:由指定的种子象素点(x,y)生成种子区段(y,xl,xr),填充并入栈。(xl,xr分别为种子点所在扫描线上多边形内部区间的左、右端点)n第一步:若种子栈空则算法终止,否则栈顶种子出栈n第二步:确定新种子:分别确定y+1,y-1扫描线上与(y,xl,xr)连通的区间;填充新区间并将新种子压入堆栈,n第三步:上述过程循环执行。扫描线种子填充算法流程(2)n新种子的确定:在y+1扫描线的xl,xr区间内遍历象素点,对其上非边界且未被填充的象素点,确定其左、右端点并定义为新种子。扫描线种子填充算法流程(3)考虑到区域可以是凹的或有内环的,所以可能在该扫描线上出现多个填充区间,亦即需定义多个种子。yy+1同样考虑到凹或有孔的区域,需对扫描线y-1进行同样的处理,获得新的种子。扫描线种子填充算法的改进思路n算法中的回溯过程并非总是必要的。无需进行填充回溯需要进行填充回溯Pattern fillingn用图像(pattern)填充区域v Definition of the pattern:v M X N bitmapsv patternij:the value of the position(i,j)Two issues n the relation of the area of the pattern to that of the primitive Relative anchor(相对锚定)Absolute anchor(绝对锚定)n write mode Transparent(透明写)Opaque(不透明写)Relative anchor(相对锚定)To anchor the pattern at a vertex of the primitive:(x0,y0)valuexy=pattern(x-x0)%M(y-y0)%N(x0,y0)M*N个像素定义的图案Absolute anchor(绝对锚定)M*N个像素定义的图案 To consider the entire screen as being tiled with the pattern and to think of the primitive as consisting of an outline or filled area of transparent bits that let the pattern show through valuexy=patternx%My%N(x,y)write mode(写模式)nFilling with a pattern:Adding extra control to the part of the scan-conversion algorithm that actually writes each pixelnWrite modenDoing PutPixel with foreground color at a pixel for a 1 in the patternnIn transparent mode(透明写):若图案为0,则不改变屏幕上该象素的颜色(不做任何处理);nIn opaque mode(不透明写):若图案为0,则用背景颜色显示该象素:Pattern filling without repeated scan conversionnRectangle writenTo scan convert a primitive first into a rectangular work area,and then to write each pixel from that bitmap to the appropriate place in the canvas.nBe suitable to characters,icons and application symbols(a)Mountain scene(b)Outline of house icon(d)(e)(g)(c)Brick pattern(f)(d)Bitmap for solid version of house icon.(e)Clearing the scene by writing background(f)Brick pattern applied to house icon(g)Writing the screen transparently with patterned house iconAn example:Writing a patterned object in opaque mode with two transparent writesThick primitives 在产生一定宽度的线条时,只需用一个“刷子”来替代单象素直线段中扫描生成的单象素即可.线画图元的属性控制Replicating pixels(1)(线刷子)nUsing more than 1 pixel for each column(or row)during scan conversionThick line drawn by column replicationvPixels are duplicated in column for lines with 1slope1vPixels are duplicated in rows for all other lines原理:假设直线斜率在-1,+1之间,如图(a)所示.这时可把刷子置成垂直方向图(b).首先将刷子的中点对准直线的一个端点,从该点开始,让刷子中点沿直线的轨迹往直线的另一端点平移即可“刷出”具有一定宽度的直线.如图(c).m1m2(a)(b)(c)Replicating Pixels(2)缺点:(1)线的始末端总是水平或垂直的.(2)线的粗细不一样.水平和垂直线最粗,45斜线最 细.(3)当线宽为偶数个时,绘制的线条宽度不精确.Disadvantages 方形刷子是一个宽度为指定线宽的正方形.将正方形的中心对准

    注意事项

    本文(计算机图形学教学资料6.ppt)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!

    收起
    展开