【原文链接:https://thecodeway.com/blog/?p=204】
上几节,我们推导出一大推复杂无比的公式,似乎有点纸上谈兵,这节来点真的,写一个可以运行的SPH系统,下面就是SPH基本的运算流程
- 初始化粒子,为每个粒子赋上初始位置
- 根据公式3.7计算每个粒子的密度
- 根据公式3.10计算每个粒子的压强
- 根据公式3.18计算每个粒子的加速度
- 根据临界条件调整加速度
- 根据加速度计算每个粒子的速度变化
- 根据速度计算粒子位置的变化
- 绘制粒子
- 回到步骤2
下面有个简单的示例程序,运行效果如下
这个程序基本上没有怎么考虑效率,只是让系统跑起来,所以比较适合拿来对照公式学习,按照惯例,放出源代码和可执行程序,下载地址位于 github。