C++ demo of the Vector Heat Method (Sharp, Soliman, and Crane 2019) & Affine Heat Method (Soliman & Sharp 2025).
The main implementation of these algorithms is in geometry-central
this repository just a simple application, wrapping the C++ library in a UI to demonstrate the functionality.
See also the geometry-central documentation for the Vector Heat Method and centers on surfaces.
git clone --recurse-submodules https://github.com/nmwsharp/vector-heat-demo.git
cd vector-heat-demo
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j4
./bin/vector_heat /path/to/your/mesh.obj
This will open a UI window showing your mesh. The command window in the upper right can be used to run the algorithms, while the window on the left adjusts visualization setting. Note that both transport sources and averaging sites can be selected in these windows; some arbtrirary vertices are selected initially.
If these algorithms contribute to academic work, please cite the following paper(s):
@article{sharp2019vector,
title={The Vector Heat Method},
author={Sharp, Nicholas and Soliman, Yousuf and Crane, Keenan},
journal={ACM Transactions on Graphics (TOG)},
volume={38},
number={3},
pages={24},
year={2019},
publisher={ACM}
}
@article{soliman2025affine,
title={The Affine Heat Method},
author={Yousuf Soliman, Nicholas Sharp,
booktitle={Computer Graphics Forum},
volume={44},
number={5},
year={2025}
}