Flood fill

✍ dations ◷ 2025-11-22 10:29:41 #计算机图形学,算法

Flood fill算法是从一个区域中提取若干个连通的点与其他相邻区域区分开(或分别染成不同颜色)的经典算法。因为其思路类似洪水从一个区域扩散到所有能到达的区域而得名。在GNU Go和扫雷中,Flood Fill算法被用来计算需要被清除的区域。

Flood fill算法接受三个参数:起始节点,目标颜色和替换颜色。算法遍历所有的节点以寻找和起始节点相连的节点(通过一条目标颜色的路径相连),然后改变他们的颜色为替换颜色。目前有许多flood-fill算法的构建方式,但是他们都显示或隐式的使用队列或者栈根据我们是否考虑当前节点对角线方向的节点,算法分为四路算法(不考虑对角线方向的节点)和八路算法(考虑对角线方向的节点)。

最简单的实现方法是采用深度优先搜索的递归方法,也可以采用广度优先搜索的迭代来实现。

相关

  • 盖伦克劳狄乌斯·盖伦(129年-200年)是一位古罗马的医学家及哲学家。他的见解和理论在他身后的一千多年里是欧洲起支配性的医学理论。出生于别迦摩,逝世于罗马。盖伦出生于一个建筑师
  • 橡胶橡胶是一种有弹性的聚合物。橡胶可以从一些植物的树汁中取得,也可以是人造的,两者皆有相当多的应用及产品,例如轮胎、垫圈等,遂成为重要经济作物。橡胶的种植主要集中在东南亚地
  • 布氏硬度布氏硬度试验(Brinell scale)是压入硬度试验之一种,其测量值用HB或BHN表示。该试验最初由瑞典工程师 Johan August Brinell(1849年-1925年)于1900年提出。布氏硬度是第一个被广泛
  • 三苯氯甲烷三苯氯甲烷(Triphenylmethyl chloride, TrCl),化学式C19H15Cl,是一种呈白色固体的卤代烃,有机合成中作为三苯甲基保护基的来源。三苯氯甲烷是一种商业试剂。它可由三苯甲醇与乙
  • 渤海湾渤海湾是渤海西部的一个海湾,位于河北省唐山,天津,河北省沧州和山东省黄河口之间。海河注入渤海湾。渤海湾盆地形成于中生代和新生代。渤海湾中有丰富的石油储藏。其北部是著名
  • 瓦隆-布拉班特省瓦隆-布拉班特省(法语:Province du Brabant wallon)是位于比利时(瓦隆大区,法语社群)中南部的一个省,首府瓦夫尔,人口366,481(2006年)面积1,090 km²。安特卫普省 · 东佛兰德省 ·
  • 安东尼奥·洛佩斯·德圣安娜安东尼奥·德帕杜亚·玛丽亚·塞维里诺·洛佩斯·德桑塔·安纳·伊·佩雷斯·德·莱乌隆(西班牙语:Antonio de Padua María Severino López de Santa Anna y Pérez de Lebr
  • 四川并殖吸虫四川并殖吸虫(学名:Paragonimus szechuanensis)为并殖科并殖属的动物。在中国大陆,分布于四川、云南、陕西等地,营寄生生活,终末宿主猫、犬、野猫、人工感染终末宿主猫、犬、大白
  • 安托瓦内特郡主 (摩纳哥)安托瓦内特郡主(法语:Antoinette,1920年12月28日-2011年3月18日)全名为安托瓦内特·路易丝·阿尔贝迪·苏珊娜·格里马尔迪(Antoinette Louise Alberte Suzanne Grimaldi),为已故摩
  • 天主教沃特福德暨利斯莫尔教区天主教沃特福德暨利斯莫尔教区(拉丁语:Dioecesis Vaterfordiensis et Lismoriensis、爱尔兰语:Deoise Phort Láirge agus Leasa Móire)是爱尔兰一个罗马天主教教区。属卡舍尔