堂前燕
物理 · 高中 /初中 · 元胞自动机 · 涌现 · 模拟

下落的沙子

元胞自动机的入门作。每个像素只遵循"下方空就掉、侧下空就滑"这三条规则,宏观上就是真实的沙堆。

什么是元胞自动机

把空间切成网格,每个格子(元胞)只有有限状态。每一帧,所有元胞按完全本地的规则同时更新。看似限制重重,却足以产生 forwarder 复杂的整体行为 —— 这就是”涌现”。

沙子的三条规则

  • 下方为空 → 向下掉
  • 下方被占,左下空 → 滑到左下
  • 下方被占,右下空 → 滑到右下
  • 三个都被占 → 保持原位

就这四种情形,加上每帧重复一遍,几千个像素就能堆出真实的沙堆形状。

在画布上拖动

试试在不同的高度撒沙、撒不同颜色,看堆叠后的层次。也可以画”漏斗”和”挡板”,让沙子在结构里流动。