SPH算法简介(四):Hello,SPH
来源:互联网 发布:有趣的c语言程序 编辑:程序博客网 时间:2024/03/29 06:23
SPH算法简介(四):Hello,SPH
2011年04月2日 |本网站遵守CC版权协议 转载请注明出自www.thecodeway.com上几节,我们推导出一大推复杂无比的公式,似乎有点纸上谈兵,这节来点真的,写一个可以运行的SPH系统,下面就是SPH基本的运算流程
- 初始化粒子,为每个粒子赋上初始位置
- 根据公式3.7计算每个粒子的密度
- 根据公式3.10计算每个粒子的压强
- 根据公式3.18计算每个粒子的加速度
- 根据临界条件调整加速度
- 根据加速度计算每个粒子的速度变化
- 根据速度计算粒子位置的变化
- 绘制粒子
- 回到步骤2
下面有个简单的示例程序,运行效果如下
这个程序基本上没有怎么考虑效率,只是让系统跑起来,所以比较适合拿来对照公式学习,按照惯例,放出源代码和可执行程序
源码下载:fluid_src.zip(394KB)
Update(2011-04-07): 更新,去掉了工程文件里对CUDA的引用,感谢网友提醒
源码下载:fluid_source.zip(395KB)
可执行程序下载: fluid.zip(120KB)
SPH还有很多细节值得讨论,比如表面张力、并行计算、构建网格、真实材质的水渲染等,这些部分我会抽时间再写一些东西出来介绍。
- SPH算法简介(四): Hello, SPH
- SPH算法简介(四):Hello,SPH
- SPH算法简介1
- SPH算法简介2
- SPH算法简介3
- SPH算法简介4
- SPH算法简介5
- SPH算法简介(一): 数学基础
- SPH算法简介(一): 数学基础
- SPH
- SPH算法初探(一)
- SPH算法简介(二): 粒子受力分析
- SPH算法简介(三): 光滑核函数
- SPH算法简介(二): 粒子受力分析
- SPH算法简介(三): 光滑核函数
- SPH算法简介(五):表面张力的计算
- RealFlow在线教程翻译(2)——Foam with SPH Fluids(基于平滑粒子流体动力学算法(SPH)的流体泡沫)
- 离散方法(三)——光滑粒子流体动力学(SPH)
- 【LeetCode】Triangle
- MySql常用命令总结
- 用VC6模拟点击图片按钮最简单的方法
- QT样式表
- C++ Primer 学习笔记 — 复制控制
- SPH算法简介(四):Hello,SPH
- UITableViewCell的背景
- JNI入门
- @synthesize obj=_obj的意义详解 @property和@synthesize
- NoSuchMethodError: javax.persistence.OneToOne.orphanRemoval()Z解决
- 深入分析 Java I/O 的工作机制
- 关键路径法(CPM)
- MigLayout —— 指定间距
- Maven的依赖-硬依赖,传递依赖,依赖排除(NEW)