This repository contains an implementation of the C⁵D algorithm proposed in the SIGGRAPH 2025 paper C⁵D: Sequential Continuous Convex Collision Detection Using Cone Casting.
mkdir build
cd build
cmake ..
makeCMake should download third-party dependencies (Eigen, CGAL, etc.) automatically. However, if you want to use your local installations, please modify the CMakeLists.txt file accordingly.
For Windows, it is recommended to use the vcpkg package manager to install Boost and CGAL. For other dependencies, you can also use vcpkg or install them manually shall there be any issues with the automatic download.
vcpkg install boost
vcpkg install cgalYou will need to modify the CMakeLists.txt file to include the vcpkg toolchain file. Put the following line before the project() command in CMakeLists.txt:
include("C:/Users/xiaodiyuan/Repos/vcpkg/scripts/buildsystems/vcpkg.cmake")Then, replace the CGAL and Boost include and link commands with the following:
# include(boost)
# target_link_libraries(c5d PUBLIC Boost::timer Boost::filesystem Boost::regex)
find_package(Boost REQUIRED COMPONENTS timer filesystem regex)
target_link_libraries(c5d PUBLIC Boost::timer Boost::filesystem Boost::regex)
# ...
# include(cgal)
# target_link_libraries(c5d PUBLIC CGAL::CGAL CGAL::CGAL_Core)
find_package(CGAL CONFIG REQUIRED COMPONENTS Core)
target_link_libraries(c5d PRIVATE CGAL::CGAL CGAL::CGAL_Core)I am still working on the Windows build, so please let me know if you encounter any issues.
The executable datagen generates synthetic data to test the C⁵D algorithm.
cd ..
mkdir data
./build/bin/datagen configs/base.yaml dataThe executable compare compares the variants of the C⁵D algorithm with ACCD, the baseline algorithm. The results will be saved in csv files.
mkdir outputs
./build/bin/compare data/base outputs/baseYou can then use the python script scripts/plot_curve.py to plot the results.
python scripts/plot_curve.py