用于进行有趣的有机模拟的算法

这篇文章主要介绍了用于制作模拟效果的技术,包括以下内容:

  • Jeff Jones 的 Physarum 算法(2010 年):基本原理是粒子移动并留下痕迹,通过感知周围痕迹强度来旋转和移动,最后在新位置添加痕迹值并进行扩散和衰减。通过修改四个主要参数(SD、SA、RA、MD)可观察到各种模拟行为。
  • Sage Jenson 的“36 点”(2019 - 2022 年):是前一算法的更复杂版本,每个“点”代表不同参数,可产生不同行为。通过使经典算法的参数根据粒子位置的轨迹图值而变化,增加了可调整的参数数量。还使用了其他重要参数和重生机制。
  • Bleuje 的实现:在 GitHub 上有相关实现(physarum - 36p),使用 GPU 计算 shader 实现实时快速计算,有 4 个 shader 分别用于不同功能。与“36 点”在轨迹图处理等方面存在重要差异,且添加了新的参数和点。
  • 颜色实验:将粒子计数器映射到颜色梯度,通过检查轨迹图和延迟轨迹图的差异来为像素赋予不同颜色,可获得更彩色的模拟效果。
  • 奇怪的速度效果实验:为粒子添加速度属性,通过特定代码可产生平滑而复杂的结果。
  • 有趣的交互想法和点混合:制作了一个有趣的版本,通过控制光标来混合不同的点,用户可控制笔的大小和点的选择,并可在特定位置生成粒子。
  • 其他实验:如利用粒子的航向插值参数、使用负效果量和强制添加速度等技术进行实验。
  • 附加资源:列举了其他关于 Physarum 模拟的资源,如交互式解释、Go 实现、演示视频等。
  • 最后备注:承认部分结果得益于“36 点”,一些实验可能强制了行为和结构,希望能激发他人进行实验。文章使用CC BY - NC - SA 3.0许可证。
阅读 29
0 条评论