Skip to content

RaymondMcGuire/XProtoSphere

Repository files navigation

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.

Environment Requirements

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

Installation

  1. 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
  1. Install required software:
  • Install Visual Studio 2022 Community
  • Install CUDA
  • Install CMake

How to Build and Run

For Windows

  1. Navigate to the scripts folder:
cd ./scripts
  1. 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.

Visualization

You can use the blender template in the "./blender_template" folder to visualize the packing results.

Example

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published