编程模拟自然(二):仿人工拼接碎片

  另一个世界,共工与颛顼争为帝,怒而触不周之山,四根擎天大柱倾倒,九州大地裂毁,天不能覆盖大地,大地无法承载万物。

  后传有一个名叫NvWa的程序YUAN炼出五色石补好天空,折神鳖之足撑四极,平洪水杀猛兽,万灵始得以安居。

 

 第零章 Sunday_Initialize

  ”一定要保证基类安全,这片天地是面向对象设计...要密切关注子类受波及的蔓延态势。“

  --事发两刻钟后,NvWa接到了通知,当即成立了抢险指挥部并做了重要发言。

  ”天阙碎片散落人间,但有上古架构师盘古留下的设计文档,只要收集齐天地碎片并用五色石加以炼化就可以复原天空。“

  --NvWa仔细听取了现场工程人员的说明。

  ”立刻落实碎片和五彩石收集工作,大家要在最短时间内完成代码重构,上下一心,尽最大努力挽回不必要的损失。“

  --NvWa对现场的应急小组下达了指令。

  ...

  凌晨两点,经过8小时奋战,碎片全部收集完毕。

编程模拟自然(二):仿人工拼接碎片_第1张图片

 

 第一章 Monday_预处理

      把碎片颜色信息二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果

编程模拟自然(二):仿人工拼接碎片_第2张图片

 

   “凡事预则立,不预则废。”

 

 第二章 Tuesday_特征提取

  获取碎片边缘向量信息,分别用0和1标记白色和黑色。

编程模拟自然(二):仿人工拼接碎片_第3张图片

  

  “/*不是每个人都能看到这句话。*/”

 第三章 Wedsday_特征比对

  通常来说,如果两个碎片相连,它们对应的边缘特征相似度也就越高。这里可以用余弦定理计算两个向量的相似度。

编程模拟自然(二):仿人工拼接碎片_第4张图片

 

  “天阙碎片封印的这段代码似乎上古程序员写的无聊注释”

 

 第四章 Thursday_匹配空间

  想象有个工作桌,左边是零散的未拼好的碎片,右边是已经拼了的碎片。

编程模拟自然(二):仿人工拼接碎片_第5张图片

  

   “嗯,全交给你想象了。”

   “我会编程一个美丽的公主哦。”

 

 第五章 Friday_迭代匹配

  有了上面想象的空间,每拼好一张,就在拼好的基础上继续迭代,拼好的一整块碎片就会慢慢变大直至拼接完成。

编程模拟自然(二):仿人工拼接碎片_第6张图片

 

  "这几章标题怎么看都像个变量名啊。"而且是中英文混搭。

 

 第六章 Saturday_人工干预

  程序部分已经完了,有时受限于匹配条件,迭代可能会无限进行下去。此时就需要人工干预了。

编程模拟自然(二):仿人工拼接碎片_第7张图片

 

  “周六还是要加班。”

  “不周山被撞导致天地崩落说明基类遭到破坏的后果是灾难性的。”NvWa同志在周六的灾后重建座谈会上发表重要讲话。

 

 后记

  “...元纪24年6月5日,星期天,天气晴,...今天在院子里发现了一颗爬有蛇的树...好怕喔”

  ...

  “...那只猿一动不动地蹲在树上,时间仿佛凝固了一万年,斜阳下是它以PI/4弧度仰望天空的剪影...”

  ...

  “...10024年12月8日...我们再也没见过那个猿,大概从天空出现一道裂缝那天起...”

  --《夏娃日记》

 

预知前情,请看上回分解。

你可能感兴趣的:(编程模拟自然(二):仿人工拼接碎片)