计算机图形学 - 扫描线种子填充算法
来源:互联网 发布:p2p信贷系统源码php 编辑:程序博客网 时间:2024/04/28 07:06
算法描述:
种子填充算法原理和程序都很简单, 但由于多次递归, 费时、费内存, 效率不高。为了减少递归次数, 提高效率可以采用扫描线种子填充算法。算法的基本过程如下: 当给定种子点( x, y) 时, 首先填充种子点所在扫描线上的位于给定区域的一个区段, 然后确定与这一区段相连通的上、下两条扫描线上位于给定区域内的区段, 并依次保存下来。反复这个过程, 直到填充结束。
区域填充的扫描线算法可由下列4 个步骤实现:
① 初始化: 堆栈置空。将种子点(x, y) 入栈。
② 出栈: 若栈空则结束。否则取栈顶元素( x, y) , 以y 作为当前扫描线。
③ 填充并确定种子点所在区段: 从种子点(x, y) 出发, 沿当前扫描线向左、右两个方向填充, 直到边界。分别标记区段的左、右端点坐标为xl 和xr。
④ 确定新的种子点: 在区间[xl,xr] 中检查与当前扫描线y上、下相邻的两条扫描线上的像素。若存在非边界、未填充的像素, 则把每一区间的最右像素作为种子点压入堆栈, 返回第②步。
详细代码:计算机图形学 - Code 2
生成结果:
0 0
- 计算机图形学 - 扫描线种子填充算法
- 边标志扫描算法,种子填充算法,计算机图形学
- 种子填充算法(计算机图形学)
- 扫描线种子填充算法
- 扫描线种子填充算法
- 图形学扫描线填充算法
- 种子填充算法的使用—计算机图形学
- 图形填充算法(扫描线种子填充算法)
- 区域填充_扫描线种子填充_广度优先算法种子填充
- 计算机图形学(三)扫描线多边形填充算法讲解与源代码
- Java编写图形学的种子填充算法
- 计算机图形学(四)多边形的种子填充算法讲解与源代码
- C语言实现的扫描线种子填充算法
- 种子填充算法(简单和扫描线)
- 算法系列之十二:多边形区域填充算法--扫描线种子填充算法
- 算法系列之十二:多边形区域填充算法--扫描线种子填充算法
- 算法系列之十二:多边形区域填充算法--扫描线种子填充算法 .
- 算法系列之十二:多边形区域填充算法--扫描线种子填充算法
- 计算机图形学 - 全斜率直线中点生成算法
- 计算机图形学 - 圆的中点生成算法验证
- 计算机图形学 – 椭圆的中点生成算法
- 计算机图形学 - 抛物线的中点生成算法
- 一个简单的Android Service实例,包括:bindService、IntentService
- 计算机图形学 - 扫描线种子填充算法
- 计算机图形学 - 线段裁剪 - Cohen Sutherland算法
- 计算机图形学 - 线段裁剪 - Liang Barsky算法(梁友栋算法)
- 图形学学习笔记2——点阵图形光栅化
- 内存泄漏分析二-线程
- 永远不要对一个外行聊你的专业
- mysql游标处理复杂逻辑,分支结构代码示例
- iOS 社交分享、应用统计
- Chapter 5 Garbage Collectors