Mean Curvarture
#1 into
The objective of this project is to implement the main part of the mean curvature algorithm as described in the paper "Discrete Differential-Geometry Operators for Triangulated 2-Manifolds". This algorithm computes curvature at each vertex, which can be processed in parallel. As a result, the implementation is well-suited for CUDA, allowing for significant speed improvements compared to a CPU-based algorithm. However, this project will not include a formal comparison with a CPU-based implementation.
#2 quick algorithm explanation
The main advantage of this algorithm is its ability to refine a mesh surface using an anisotropic smoothing technique that preserves the mesh's inherent features, such as sharp angles between distinct regions (e.g., the nose and cheek on a human face).
Drag
To achieve this, a composite metric is used, combining curvature K (indicating the change in surface curvature at vertex V) and a weighted Voronoi area around V. The resulting delta value D dictates the extent of the vertex position update in its normal direction. We have: v(i) = v(i) + n(i) * k_v(i) where k_v(i) is computed using a combination of the Voronoi Area and the mean curvature of edges within a ring.