计算机图案填充的两种方法,计算机图形学课件 第9讲 区域填充和字符处理.ppt...

计算机图形学课件 第9讲 区域填充和字符处理

信息科学与工程学院 1999年7月 5.4.1 多边形的扫描转换 多边形的两种表示方法: 顶点表示:用多边形的顶点序列来刻划多边形。直观、几何意义强、占内存少;不能直接用于面着色。 点阵表示是用位于多边形内的像素的集合来刻划多边形。失去了许多重要的几何信息;便于运用帧缓冲存储器表示图形,易于面着色。 算法步骤: (1)确定多边形所占有的最大扫描线数,得到多边形顶点的最小和最大y值(ymin和ymax)。 (2)从y=ymin到y=ymax,每次用一条扫描线进行填充。对一条扫描线填充的过程可分为四个步骤: a. 求交:计算扫描线与多边形各边的交点; b. 排序:把所有交点按x值递增顺序排序; c. 配对:第一个与第二个,第三个与第四个等等;每对交点代表扫描线与多边形的一个相交区间; d. 填色:把相交区间内的像素置成多边形颜色,把相交区间外的像素置成背景色。 存在问题和解决方法:当扫描线与多边形顶点相交时,交点的取舍问题。 3. 改进的有效边表算法(Y连贯性算法) 有效边(Active Edge):指与当前扫描线相交的多边形的边,也称为活性边。 有效边表(Active Edge Table, AET):把有效边按与扫描线交点x坐标递增的顺序存放在一个链表中,此链表称为有效边表。 有效边表的每个结点: x ymax 1/k next 边表(Edge Table)——方便有效边的建立和更新 边表的构造: (1)首先构造一个纵向链表,链表的长度为多边形所占有的最大扫描线数,链表的每个结点,称为一个桶,其对应多边形覆盖的每一条扫描线。 (2)将每条边的信息链入与该边最小y坐标(ymin )相对应的桶处。也就是说,若某边的较低端点为ymin,则该边就放在相应的扫描线桶中。 (3)每条边的数据形成一个结点,内容包括:该扫描线与该边的初始交点x(即较低端点的x值),1/k,以及该边的最大y值ymax。 x|ymin ymax 1/k next 算法步骤: (1)初始化:构造边表,AET表置空; (2)将第一个不空的ET表中的边与AET表合并; (3)由AET表中取出交点对进行填充。 填充时设一布尔变量b(初值为假),令指针从AET中第一个结点到最后一个结点遍历一次,每访问一个结点,把b取反一次,若b为真,则把从当前结点的x值到下一结点的x值结束的区间用多边形色填充。填充之后删除y=ymax的边。(期间,x=round(x) ) (4)yi+1=yi+1,根据xi+1=xi+1/k计算并修改AET表,同时合并ET表中y=yi+1桶中的边,按次序插入到AET表中,形成新的AET表; (5)AET表不为空则转(3),否则结束。 5.4.2 边缘填充算法 边缘填充算法基本思想 按任意顺序处理多边形的每条边。在处理每条边时,首先求出该边与扫描线的交点,然后将每一条扫描线上交点右方的所有像素取补。 5.4.3 区域填充 区域填充是指从区域内的一个点(种子)开始,由内向外将填充色扩展到整个区域内的过程。 区域是指已经表示成点阵形式的填充图形,它是像素集合。通常有内点表示和边界表示两种形式。 边界表示法 边界表示法:把位于给定区域的边界上像素一一列举出来的方法。 在边界表示法中,区域边界上的像素着同一颜色,而区域内的像素点不能着这种颜色。 由于边界以特殊颜色指定,填充算法可逐个像素地向外处理,直到遇到边界颜色为止。以此为基础的区域填充算法称为边界填充算法(Boundary-fill Algorithm)。 内点表示法 内点表示:枚举出给定区域内所有像素的表示方法。 在内点表示法中,区域内的所有像素点着同一颜色,而区域边界上的像素着不同的颜色。 以内点表示法为基础的区域填充算法称为泛填充算法(Flood-fill Algorithm)。 区域通常分为4-连通区域和8-连通区域两类。 一个点p的4-邻接点是指上、下、左、右四个相邻的点。 一个点p的8-邻接点是指上、下、左、右、左上、右上、左下、右下八个相邻的点。 4-连通区域是指从区域上一点出发,通过访问已知点的4-邻接点,在不越出区域的前提下,遍历区域内的所有像素。 8-连通区域是指从区域上一点出发,通过访问已知点的8-邻接点,在不越出区域的前提下,遍历区域内的所有像素。 1. 边界填充算法 算法的输入:种子点坐标(x,y),填充色和边界颜色。 栈结构实现4-连通边界填充算法的算法步骤为: 种子像素入栈;当栈非空时重复执行如下三步操作: (1)栈顶像素出栈; (2)将出栈像素置成填充色;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561813.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql server 2008表中计算机,电脑删除SQLsever2008表格数据出现“不能删除”怎么办

SQLsever2008专门用于大批量的数据存储和管理,适合服务器数据管理,电脑在编辑或删除总会出现一些故障问题。这不一些用户说电脑删除SQLsever2008表格数据出现“不能删除”遭到阻止,怎么办?不要紧张,参考下文教程设置一下即可。具体…

@JsonFormat(pattern=“yyyy-MM-dd“)时间差问题

原因:JsonFormat(pattern"yyyy-MM-dd")时间差问题 解释:默认情况下timeZone为GMT(即标准时区),而北京是在东八区,所以会造成差8小时。 解决方法:加上timezone "GMT8…

酒店三合一终端服务器,【MOXA NPort6650-8八口三合一信号安全终端服务器价格_MOXA NPort6650-8八口三合一信号安全终端服务器厂家】- 网络114...

简介NPort 6600专为那些需要通过网络实现集中监控的串口设备而设计。目前已经推出8/16/32串口终端服务器。一旦大量 串口设备接入以太网络时,数据传输的安全性就变的十分重要。NPort 6600为计算机和串口设备之间的通信提供了功能强大的加密机制,如当今的…

‘cnpm‘ 不是内部或外部命令,也不是可运行的程序

​ npm install -g cnpm --registryhttps://registry.npm.taobao.org ​

js文件夹上传到服务器,js 上传img到服务器

jQuery插件之ajaxFileUpload前端视图,HTML与JS代码,成功上传后,返回图片真实地址并绑定到的SRC地址lt;head>lt;script src"/jquery-1.7.1.js"type"text/javascript">lt;script>lt;script src"/...文章wenv…

Linux后台运行jar报错:nohup: ignoring input and redirecting stderr to stdout

解决方法: 执行:nohup java -jar kaoqin20210327.jar >nohup.out 2>&1 &

基于java+Springboot操作系统教学交流平台详细设计实现

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 功能设计和技术&#x…

只在当前页面生效的css样式,修改页面中的一个样式 仅在当前页面生效

问题描述校验的提示框出现在其他位置 怎么修改问题出现的环境背景及自己尝试过哪些方法尝试直接修改 样式 会修改掉全局的样式 怎么让这个样式仅在当前页面生效相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码):rules"[ {required: true,validator:isContainerQtyE…

程序员也可以很浪漫--精选10个圣诞节特效网页设计-前端HTML+CSS等实现

最近离圣诞节不远了、整理了一些关于圣诞相关的前端特效网页设计和小游戏的代码送大家、直接上效果吧。 视频演示&#xff1a;点击查看完整视频演示 》》》 html5基于svg绘制调皮圣诞老人&#xff1a; <![CDATA[import url(https://fonts.googleapis.com/css?familyLuckies…

css动画改变高度有过渡效果,css3-形变、过渡、动画

一、2D形变平移transform:translate(x&#xff0c;y)相对当前位置&#xff0c;向左移动x像素&#xff0c;像下移动y像素transform:translateX(num)相对当前位置&#xff0c;向左移动num像素transform:translateY(num)相对当前位置&#xff0c;向下移动num像素缩放transform:sca…

Web前端期末大作业--零食商城网页设计(HTML+CSS+JavaScript+)实现

临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大&#xff1f;网页要求的总数量太多&#xff1f;HTML网页作业无从下手&#xff1f;没有合适的模板&#xff1f;等等一系列问题。你想要解决的问题&#xff0c;在专栏&#x1f447;&#x1f3fb;&#x1f447;&…

css3 z-index,z-index的工作原理

可能并不是那么显而易见&#xff0c;但是HTML文档中的元素却是存在于三个维度之中。除了大家熟知的平面画布中的x轴和y轴&#xff0c;还有控制第三维度的z轴。像 margin , float , offset 这些属性&#xff0c;控制着元素在x轴和y轴上的表现形式一样。 z-index 这个属性控制着元…

【CSDN】-京东云部署java项目及性能测试

前言&#xff1a; 最近因为华为云服务器购买过期了&#xff0c;其实本来自己的个人项目部署或不部署到服务器都是可以的、但最近刚好看见京东云服务器在做活动、就想着搞一搞。刚好官方送了我一张代金券。那我就直接用起来吧。 个人需求 因为个人需求、我选择了一个的是2核/内存…

typecho模板ajax,typecho ajax登陆

typecho ajax登陆 反回responseText返回的为html代码&#xff01;帐户密码为admin/123456$.ajax({url: "<?php $this->options->loginAction(); ?>",data:{name:admin,password:123456},type: "POST",dataType:json,success:function(data){…

SpringBoot vue图片上传不能立即回显问题解决

最开始项目是放在eclipse之中的、springboot项目默认把静态的文件加载到classpath的目录下的。而此时我们上传的图片并没有传入启动了的项目当中去、所以明明路径是对的、却访问不了、在项目重新启动之后项目会打成新的jar包、这个时候上一次上传的图片才会正常显示。 解决方法…

IDEA中运行springboot+vue项目设置terminal路径

File->settings->Tools->terminal 设置后刷新IDEA即可生效。

win8服务器无法安装win7系统安装,win8怎么安装win7 win8改win7教程详解【图文】

继win7系统后&#xff0c;微软又推出了win8、win8.1以及win10系统&#xff0c;每个系统在原来的版本上都有了更改和创新。大家都知道&#xff0c;人是一种容易习惯的动物。很多人在使用了win7之后&#xff0c;更换到win8系统会很不习惯、觉得win8无法与win7比拟&#xff0c;这种…

【PAG组件】-从解码渲染层面对比 PAG 与 lottie

从解码渲染层面对比 PAG 与 lottie 最近由于业务需求&#xff0c;需要调研一下业界的知名动画渲染框架。经过一些时间的调研与探索&#xff0c;我将目光聚焦在两款不错的动画框架上。一款是知名的 lottie&#xff0c;一款是腾讯出品的 PAG。 lottie 相信大部分端上的研发都会…

电脑预览,电脑怎么预览psd格式?

经常使用PS的朋友们都知道Photoshop文档的默认格式是psd格式&#xff0c;可是在电脑上可能不能像jpg图片一样显示缩略图预览。遇到这种情况我们该怎么办?要是电脑上并没有安装PS软件又该怎么预览?下面我们就一起来看看哪些解决方法。步骤如下:方法一:有安装PS&#xff0c;使用…

一个二线城市程序员的一年【坐标成都】

前言&#xff1a; 好快呀&#xff01;不知不觉一年又快过去了。总的来说还算丰收的一年吧。从毕业之后就一直在成都工作、对于最开始其实并没有特别清晰的职业规划。我还记得面试时面试官经常问到一句话是什么。你为啥选择我们公司&#xff1f;我记得当时回答好像是就说工作岗位…