Qtaichi icon indicating copy to clipboard operation
Qtaichi copied to clipboard

Qtaichi: Turn Drawing to Animation

Qtaichi: Turn Drawing to Animation

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.

Introduction Article (In Chinese) 中文介绍

Taichi编程语言初探:太极之趣——自由绘制的2D冰雪仿真世界

Dependencies

  • Qt5 libs (Qt5Core, Qt5GUI, Qt5Widgets)

How to install

  • 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.

How to play

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

Demos

  1. Qtaichi

Shown in the teaser.

Drawing Particle Animation
  1. Shoot a bullet towards snowman
Drawing Particle Animation
  1. Water Spike
Drawing Particle Animation
  1. Jelly Spike
Drawing Particle Animation

  1. Snowball fight
Drawing Particle Animation
  1. We also try to reproduce one result in SIGGRAPH13 MPM paper:
SIGGRAPH13 MPM Our Corresponding Results
  1. Other user drawings

Update

  • 5/11/2020: Support saving scene to image

Future work

  1. Add rigid body support
  2. Rewrite Qtaichi with taichi.py!