无需登录 数据私有 本地保存

落沙模拟器 - 像素物理沙盒

17
0
0
0
画笔: 3px
粒子: 0
点击或拖拽绘制粒子 | 移动端支持触摸绘画 | 滚动调节画笔大小 | 试试火+木头的组合!
常见问题与知识点
什么是落沙模拟器(Falling Sand Simulator)?
落沙模拟器是一种基于元胞自动机(Cellular Automata)的像素级物理模拟工具。它模拟了不同物质(如沙子、水、火等)在二维网格中的物理行为。每个像素代表一个粒子,遵循简单的规则进行移动和交互,从而产生复杂而有趣的涌现行为。这一概念最早源于经典的"Falling Sand Game",是探索计算物理和复杂系统的趣味入口。
模拟器中有哪些粒子类型?各有什么特性?
  • 🟡 沙子:受重力影响向下掉落,可在障碍物两侧滑落,模拟真实沙堆的堆积行为。
  • 🔵 水:向下流动并向两侧扩散,会填满容器底部形成水平面,展现液体的流动特性。
  • ⬜ 石头:固定不动的固体障碍物,可用于构建容器或结构。
  • 🔴 火:向上升腾并随机左右飘动,会点燃木头,遇水熄灭,有概率自然熄灭。
  • 🟤 木头:静态固体,但接触火焰时会被点燃并转化为火粒子。
  • ⬜ 蒸汽:向上升腾并扩散,上升到一定高度后冷却凝结为水珠。
  • 🟢 植物:装饰性固体,不会被点燃,适合构建景观。
落沙模拟背后的物理原理是什么?
模拟基于简化的离散物理规则:每一帧从底部向上扫描所有粒子,根据粒子类型执行不同行为。沙子类颗粒检查下方及对角线方向,若为空则移动;液体除向下流动外还会水平扩散;气体向上运动。这些简单规则组合产生了高度逼真的集体行为——这正是元胞自动机的核心思想:简单的局部规则导致复杂的全局模式。实际模拟中还融入了随机因素以避免过于对称的"数字感"。
为什么火和蒸汽会向上移动?
这模拟了浮力对流的基本原理。在现实世界中,热空气和蒸汽的密度低于周围冷空气,因此受到向上的浮力。在我们的模拟器中,火和蒸汽粒子被赋予向上移动的倾向,同时伴随随机水平偏移,以模拟湍流扩散效果。火还具有有限的"寿命",会以概率方式熄灭,反映了真实燃烧中燃料消耗的过程。
如何在移动设备上使用这个模拟器?
移动端完全支持触摸操作。直接用手指在画布上滑动即可放置粒子,工具栏中的画笔大小调节可帮助适应手指触控的精度。建议在移动端使用稍大的画笔尺寸(4-6px)以获得更好的操控体验。画布已设置touch-action: none以防止绘制时页面意外滚动。
模拟器的性能如何?会影响设备流畅度吗?
本模拟器使用320×200像素网格(共64,000个潜在粒子位置),采用优化的从底向上扫描算法和requestAnimationFrame渲染循环。在桌面端和主流移动设备上均能流畅运行。粒子数量指示器可帮助您了解当前活跃粒子的规模。如果极端情况下粒子填满整个画布,老旧设备可能会有轻微帧率下降,但这在日常使用中很少发生。
什么是元胞自动机(Cellular Automata)?
元胞自动机是由数学家约翰·冯·诺依曼斯坦尼斯瓦夫·乌拉姆在20世纪40年代提出的计算模型。它由规则的网格单元组成,每个单元根据其邻居的状态按照固定规则更新。最著名的例子包括康威的"生命游戏"(Game of Life)和Wolfram的一维元胞自动机。落沙模拟器是元胞自动机在物理模拟领域的经典应用,展示了如何用简单规则生成复杂行为。
有哪些有趣的实验可以尝试?
推荐尝试以下实验:
1. 建造沙堡:用石头构建容器,填入沙子观察堆积形态。
2. 水火交融:在木头结构上点火,观察火势蔓延,再用水灭火。
3. 蒸汽循环:在水池下方点火加热,观察蒸汽上升后凝结回水珠。
4. 地形塑造:用石头构建复杂地形,让沙子和水自然流动形成景观。
5. 多米诺效应:构建精巧的连锁反应结构。