Featured image of post 半拉格朗日法流体仿真

半拉格朗日法流体仿真

由于XCPC的连环打击,这博客停了多久了😂(JSCPC打完后写反思) 有一说一这本书是真的好看,两天看完了。感觉好多国外的读物和教材不是那么分明,又有趣又硬核,什么时候也能有更多这样的中文书啊!

最简单的流体仿真

背景简介

第二节流体仿真课之后,天添老师提到了The Art of Fluid Animation [Stam 2015]及其中译本《流体动画的计算艺术》– 叶军涛、杨旭波译这一科普向的读物。刚好校图书馆里有,我便拿来翻了翻。的确大部分都十分可理解,可是在其通俗诙谐的文字中还是包含了许多硬核的知识,可无奈作者都跳过了。而在其中一部分给出了一个流体仿真器的主体部分C实现,看上去比较友好,于是便有了这次作业。

其实书中关于这个流体仿真器的实现是作者总结了自己在GDC2003上的Real-Time Fluid Dynamics for Games与发布的A Simple Fluid Solver based on the FFT(Journal of Graphics Tools 2001)这篇。

成功效果展示

fluid velocity Taichi_Logo

使用方法

单击添加流速,右击添加染料

v键切换画布与速度场视图

s键截图,r键录制

t键添加Taichi的Logo

还存在的问题

FFT部分由于python本身的效率低下及我对numpy和taichi结合不良,而我自己又不太会写并行FFT,所以基本不能运行,甚至完全不能调试(假装我写对了吧)

GUI中对于鼠标点击拖动的采样率太低,所以笔迹完全不连续

我也不太清楚如何用ti.VideoManager录制直接绘制屏幕上的符号

Code

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计