首页 > 解决方案 > 是否有已知的算法来检测确保形状连续性所需的像素?

问题描述

我正在尝试用 Javascript 创建一个程序,以使小形状在二进制 2D 空间中随机演变。

第一条规则是形状使用的像素数保持不变。这是一个非常小的数字(目前是 9 个)。

第二条规则是所有像素都应该保持连续(至少在它们的角落)。

在每一步,一个像素被随机移除并移动到与剩余像素接触的位置。但是,只有在不破坏形状连续性的情况下才能移除像素。

在附图中,蓝色像素可以移动,而红色像素不能。

移动形状 9 像素

我不知道如何检测哪些像素是保持连续性所必需的。有什么已知的算法吗?这个问题似乎接近康威的生命游戏,但据我所知,康威的规则忽略了连续性的概念,并且不会保持恒定数量的激活细胞。到目前为止,我还没有找到任何合适的元胞自动机算法。

标签: javascriptalgorithmpixelcellular-automata

解决方案


这些被称为切点关节点,是的,有一种算法可以找到它们。


推荐阅读