Skip to content

An implementation of the fluid solver in the book The Art of Fluid Animation using Taichi

License

Notifications You must be signed in to change notification settings

0xrabbyte/taichi_simple_fluid_solver

Repository files navigation

最简单的流体仿真

背景简介

仿真部分还是要交作业的

第二节流体仿真课之后,天添老师提到了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

整体结构

-LICENSE
-|output
-README.MD
-main.py                    主程序
-bruteforce_fluid_solver.py 半拉格朗日法流体仿真
-fft_fluid_solver.py        用FFT写了project部分
-taichi_logo_list.py        用List存了Taichi的Logo

使用方法

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

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

s键截图,r键录制

t键添加Taichi的Logo

还存在的问题

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

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

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

运行方式

我直接 python3 main.py

About

An implementation of the fluid solver in the book The Art of Fluid Animation using Taichi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages