栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【splishsplash】splishsplash入门使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【splishsplash】splishsplash入门使用

本文的目地为总结splishsplash的入门使用方法

splishsplash是一个C++开源流体引擎,主要用于产生流体动画。 它的核心算法是SPH法。

资源汇总
github: https://github.com/InteractiveComputerGraphics/SPlisHSPlasH
文档:https://splishsplash.readthedocs.io/en/latest/
算法论文:https://interactivecomputergraphics.github.io/SPH-Tutorial/

安装

主要参考文档。

有两种版本:python版本和c++版本。但是程序主体是c++写的。python版本只是用pybind11转换成啦python的API,所以建议直接用c++版本。但是python版本由于可以使用pip包管理工具,所以安装非常简便,无需编译,直接安装二进制包。

python版本的安装:

pip install pysplishsplash

运行

splash

c++版本的安装:
先下载下来源代码:

git clone https://github.com/InteractiveComputerGraphics/SPlisHSPlasH.git

无论是linux还是windows,都使用cmake来进行构建,然后编译。
需要先下载cmake(建议使用GUI版本,linux也有GUI版本):https://cmake.org/

然后打开cmake,填写源代码的位置,还有你想构建的位置(一般是源代码文件夹下自己新建一个叫build的文件夹)。

点击下方Configure之后,就会出现图中的各种编译选项。这项相当于各种开关,选择想要的功能。如果初次使用就默认即可。然后再次Configure,最后Generate。

Generate就会自动构建编译所需要的工程文件。在Windows下是.sln和.projx文件,在linux下就是MakeFile文件。在windows下打开.sln文件,然后编译即可。

这里有自动构建了四种工程,即Debug, Release, MinSizeRel, RelWithDebInfo
如果想要Debug就用Debug,如果想最快速的运行(建议初次运行用此)就用Release。

在Linux下面,进入build文件夹

make 

即可

编译时间较长,请耐心等待。有一两个错误是不碍事的,只要最后bin目录下出现了SPHSimulator.exe就是成功。

运行Demo

编译的结果是生成可执行的二进制文件,在bin目录下面。其中最关键的是SPHSimulator.exe,其余的可执行文件只是一些第三方功能。

双击SPHSimulator.exe会自动弹出窗口,让用户选择所需要的json
这些json文件代表的是不同的场景:比如龙的场景、兔子的场景、溃坝场景等。
json文件所在的位置为data/Scences

建议初次使用DoubleDamBreak.json场景。

用户也可以自己定义json文件,其规则请查看文档相应章节。

对于linux用户,不会弹出窗口选择json。所以需要在CLI中输入参数来指定json。
命令如下:

./SPHSimulator ../data/Scenes/DoubleDamBreak.json

然后就会打开如下GUI窗口。

注意此时处于暂停状态,按空格或者取消勾选Pause即可开始运行。

GUI的快捷键

查看文档,可见控制GUI的各种快捷键。

Space: pause/contiunue simulation
r: reset simulation
w: wireframe rendering of meshes
m: recompute min and max values for color-coding the color field in the rendering process
i: print all field information of the selected particles to the console
s: save current simulation state
l: load simulation state (currently only Windows)
+: perform a single time step
ESC: exit

其中最主要的是这两个:
空格 暂停
r reset

在debug的时候,还有两个很关键

i 打印粒子信息(需要先用鼠标左键框选粒子,然后会打印到终端)

  • 运行单个时间步(需要先暂停)
    

其中i的使用很有用。首先左键框选粒子,然后按i,会打印粒子信息

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/864249.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号