RepulsionPak is a method to fill a container shape with deformable elements, creating 2D artistic packings/mosaics. Since the elements are pliable, they can deform to achieve a better fit with their neighbours and the container. The simulation starts with an initial random placement of small elements and gradually transform them using repulsion forces that trade off between the evenness of the packing and the deformations of the individual elements.
- RepulsionPak: Deformation-Driven Element Packing with Repulsion Forces (Graphics Interface 2018)
- Improved Deformation-Driven Element Packing with RepulsionPak (IEEE TVCG 2019)
- UWwaterloo Dissertation
01_animals.mp4
02_butterfly_skull.mp4
03_cats_in_a_fish.mp4
https://www.youtube.com/watch?v=oIRz9cuDbSc
Environment: Windows 10 x64 and Visual Studio 2017 (C++14)
Dependencies:
- Lua 5.3.3
- CGAL 4.13.1
- Boost 1.71.0
- Eigen 3.3.7
- OpenCV 4.0.1
- Input and output data
- imgui with freeglut
Additional tools:
- Illustrator plugin to convert .ai files to .path files
- Adobe_Illustrator_CC_2015.3_SDK to compile the converter tool above