This commit is contained in:
2025-10-18 12:39:52 +00:00
parent 79de47d01b
commit 8f1cc5a673
153 changed files with 1462 additions and 754 deletions
+1
View File
@@ -0,0 +1 @@
import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as i,a as o,o as a}from"./app-zNUiodpH.js";const r="/images/2014/08/sph_45.jpg",n={};function l(p,t){return a(),i("div",null,[...t[0]||(t[0]=[o('<p>上几节,我们推导出一大推复杂无比的公式,似乎有点纸上谈兵,这节来点真的,写一个可以运行的SPH系统,下面就是SPH基本的运算流程</p><ol><li>初始化粒子,为每个粒子赋上初始位置</li><li>根据公式3.7计算每个粒子的密度</li><li>根据公式3.10计算每个粒子的压强</li><li>根据公式3.18计算每个粒子的加速度</li><li>根据临界条件调整加速度</li><li>根据加速度计算每个粒子的速度变化</li><li>根据速度计算粒子位置的变化</li><li>绘制粒子</li><li>回到步骤2<br> 下面有个简单的示例程序,运行效果如下</li></ol><figure><img src="'+r+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><p>这个程序基本上没有怎么考虑效率,只是让系统跑起来,所以比较适合拿来对照公式学习,按照惯例,放出源代码和可执行程序<br> Github:<a href="https://github.com/thejinchao/fluid" target="_blank" rel="noopener noreferrer">https://github.com/thejinchao/fluid</a><br> 可执行程序下载: <a href="https://github.com/thejinchao/fluid/releases/download/v1.0/fluid_relase_x64.zip" target="_blank" rel="noopener noreferrer">fluid_relase_x64.zip</a>(132KB)<br> SPH还有很多细节值得讨论,比如表面张力、并行计算、构建网格、真实材质的水渲染等,这些部分我会抽时间再写一些东西出来介绍。</p>',4)])])}const m=e(n,[["render",l]]),s=JSON.parse('{"path":"/blog/2025/02/SPH004.html","title":" SPH算法简介(四): 算法实现","lang":"zh-CN","frontmatter":{"title":" SPH算法简介(四): 算法实现","tags":"数学 流体 程序 算法","prev":{"text":"SPH算法简介(三): 光滑核函数","link":"SPH003.md"},"description":"上几节,我们推导出一大推复杂无比的公式,似乎有点纸上谈兵,这节来点真的,写一个可以运行的SPH系统,下面就是SPH基本的运算流程 初始化粒子,为每个粒子赋上初始位置 根据公式3.7计算每个粒子的密度 根据公式3.10计算每个粒子的压强 根据公式3.18计算每个粒子的加速度 根据临界条件调整加速度 根据加速度计算每个粒子的速度变化 根据速度计算粒子位置的...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\" SPH算法简介(四): 算法实现\\",\\"image\\":[\\"https://thejinchao.github.io/images/2014/08/sph_45.jpg\\"],\\"dateModified\\":\\"2025-08-31T08:33:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"JinChao\\",\\"url\\":\\"https://thecodeway.com\\"}]}"],["meta",{"property":"og:url","content":"https://thejinchao.github.io/blog/2025/02/SPH004.html"}],["meta",{"property":"og:site_name","content":"我的博客和笔记"}],["meta",{"property":"og:title","content":" SPH算法简介(四): 算法实现"}],["meta",{"property":"og:description","content":"上几节,我们推导出一大推复杂无比的公式,似乎有点纸上谈兵,这节来点真的,写一个可以运行的SPH系统,下面就是SPH基本的运算流程 初始化粒子,为每个粒子赋上初始位置 根据公式3.7计算每个粒子的密度 根据公式3.10计算每个粒子的压强 根据公式3.18计算每个粒子的加速度 根据临界条件调整加速度 根据加速度计算每个粒子的速度变化 根据速度计算粒子位置的..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://thejinchao.github.io/images/2014/08/sph_45.jpg"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-08-31T08:33:30.000Z"}],["meta",{"property":"article:modified_time","content":"2025-08-31T08:33:30.000Z"}]]},"git":{"createdTime":1740225290000,"updatedTime":1756629210000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":2,"url":"https://github.com/thejinchao"}]},"readingTime":{"minutes":1.15,"words":346},"filePathRelative":"blog/2025/02/SPH004.md","autoDesc":true}');export{m as comp,s as data};