Cutting tetrahedral meshes with applications in surgical simulation, visual effects, mesh manipulation and 3D printing! Watch this demo on youtube:
https://www.youtube.com/watch?v=r2nqwWJuNPc
A tetrahedral element has 4 faces, 6 edges and 4 vertices:
When cut, each element is decomposed into multiple sub-elements:
The cut results in a reconnected mesh with smaller elements at the cut plane:
The software library is released under the terms of MIT license.
The source code for the example application uses the following libraries:
- GLFW: http://www.glfw.org/
- TBB: https://www.threadingbuildingblocks.org/
- libpng
Just execute build.sh on a unix-based system.
> ./build.sh
or perform the following in order:
> mkdir bin && cd bin
> cmake ..
> make
Start cutting a voxel grid of 8x8x8
> ./bin/tetcutter -e cube_8_8_8
The number of cells in the voxel can be altered arbitrarily: cube_[nx][ny][nz]
> ./bin/tetcutter -e cube_10_4_8
The same rule holds for our eggshell model: eggshell_[nh]_[nv] where nh and nv are the number of segments along the latitude and longtitude of the model, respectively.
> ./bin/tetcutter -e eggshell_20_16
Input models should follow the VEGA file format for volumetric meshes. More about this format: http://run.usc.edu/vega/index.html