细胞自动机:从一维到二维的探索
1. 连续细胞自动机(Continuous CA)
1.1 基本原理
连续细胞自动机(Continuous CA)并非简单地将细胞状态切换为开或关,而是通过对其邻域内细胞的实际颜色值进行平均计算,以此来确定下一代细胞的颜色。不过,单纯的平均计算并不能产生特别有趣的结果。为了得到更有趣的效果,需要引入一些随机性,具体分为两个步骤:
1. 为每个平均后的颜色分量(r, g, b)添加一个常量值。
2. 引入一个阈值(threshold),作为每个分量值的约束条件。
以下是使用伪代码实现的示例:
// 伪代码
c = constant
t = threshold
CN.r = (C1.r + C2.r + C3.r)/3 + c
CN.g = (C1.g + C2.g + C3.g)/3 + c
CN.b = (C1.b + C2.b + C3.b)/3 + c
if (CN.r > t) then CN.r -= t
if (CN.g > t) then CN.g -= t
if (CN.b > t) then CN.b -= t
Create next generation using CN
1.2 代码实现
在实际实现中,使用整数范围 0 - 255 来简化系统。以下是 CA_1DC
类的代码:
/**
* Cellular Automat