XProtoSphere: an eXtended multi-sized sphere packing algorithm driven by particle size distribution (CGI 2023)
*Xu Wang, Makoto Fujisawa, Masahiko Mikawa
[Project Page] [Springer Nature Sharedit]
This project implements an algorithm for packing multi-sized particles inside an arbitrary geometric object. Since this method is an extension version of the ProtoSphere method, we call this algorithm XProtoSphere. For detailed information, please refer to our paper.
- C++17 or higher
- CUDA (Tested with CUDA 12.3 and 12.6)
- Cmake 3.26 (recommended, newer versions may cause compatibility issues)
- Visual Studio 2022
- Blender 4.0 (for visualization)
- Clone the repository with submodules:
git clone --recursive https://github.com/RaymondMcGuire/XProtoSphere.git
If you forgot to use --recursive, you can initialize submodules manually:
git submodule update --init --recursive
- Install required software:
- Install Visual Studio 2022 Community
- Install CUDA
- Install CMake
- Navigate to the scripts folder:
cd ./scripts
- Run the following batch files in order:
build_vs2022_win64.bat
compile_vs2022_release.bat
run_example.bat
The results will be exported to the "./export" folder.
You can use the blender template in the "./blender_template" folder to visualize the packing results.
This project is licensed under the MIT License - see the LICENSE.md file for details