Qtaichi is a real-time simulator turning user drawing inputs to physics-based animations with Moving Least Squares Material Point Method based on taichi.h
developed by Yuanming Hu.
"Qtaichi" is the combination of "Qt & taichi".
Written in C++ by Zhehao Li as a homework on the computer graphics course taught by Prof. Ligang Liu at USTC.
Taichi编程语言初探:太极之趣——自由绘制的2D冰雪仿真世界
- Qt5 libs (Qt5Core, Qt5GUI, Qt5Widgets)
-
Method 1(Recommand on Winx64):
Directly run
./Qtaichi_installer/Release/setup.exe
.If Chinese users meet problems with pulling this repo from github , you can try gitee:https://gitee.com/zhehaoli/Qtaichi
-
Method 2(Compile from source):
Use CMake to configure, generate, then open the project and finally build it. (Here I have used UCMake From @Ubpa, which is a extended wrapper of CMake.) You can also try directly using CMake by rewriting CMakeLists.txt.
You can use the toolbar on GUI to:
- Draw basic geometries, like free curve, ecllipse, polygons.
- Select physical properties like fluid, solid, snow and jelly
- Draw "velocity line" to give objects initial velocities
- Start, pause or reset animation
- Qtaichi
Shown in the teaser.
Drawing | Particle | Animation |
---|---|---|
- Shoot a bullet towards snowman
Drawing | Particle | Animation |
---|---|---|
- Water Spike
Drawing | Particle | Animation |
---|---|---|
- Jelly Spike
Drawing | Particle | Animation |
---|---|---|
- Snowball fight
Drawing | Particle | Animation |
---|---|---|
- We also try to reproduce one result in SIGGRAPH13 MPM paper:
SIGGRAPH13 MPM | Our Corresponding Results |
---|---|
- Other user drawings
- 5/11/2020: Support saving scene to image
- Add rigid body support
- Rewrite Qtaichi with taichi.py!