One-Shot Method for Computing Generalized Winding Numbers
<|reference_start|>One-Shot Method for Computing Generalized Winding Numbers: The generalized winding number is an essential part of the geometry processing toolkit, allowing to quantify how much a given point is inside a surface, often represented by a mesh or a point cloud, even when the surface is open, noisy, or non-manifold. Parameterized surfaces, which often contain intentional and unintentional gaps and imprecisions, would also benefit from a generalized winding number. Standard methods to compute it, however, rely on a surface integral, challenging to compute without surface discretization, leading to loss of precision characteristic of parametric surfaces.   We propose an alternative method to compute a generalized winding number, based only on the surface boundary and the intersections of a single ray with the surface. For parametric surfaces, we show that all the necessary operations can be done via a Sum-of-Squares (SOS) formulation, thus computing generalized winding numbers without surface discretization with machine precision. We show that by discretizing only the boundary of the surface, this becomes an efficient method.   We demonstrate an application of our method to the problem of computing a generalized winding number of a surface represented by a curve network, where each curve loop is surfaced via Laplace equation. We use the Boundary Element Method to express the solution as a parametric surface, allowing us to apply our method without meshing the surfaces. As a bonus, we also demonstrate that for meshes with many triangles and a simple boundary, our method is faster than the hierarchical evaluation of the generalized winding number while still being precise.   We validate our algorithms theoretically, numerically, and by demonstrating a gallery of results \new{on a variety of parametric surfaces and meshes}, as well uses in a variety of applications, including voxelizations and boolean operations.<|reference_end|>
@article{martens2024one-shot,
    title={One-Shot Method for Computing Generalized Winding Numbers},
    author={Cedric Martens and Mikhail Bessmeltsev},
    journal={arXiv preprint arXiv:2408.04466},
    year={2024},
    archivePrefix={arXiv},
    eprint={2408.04466},
    primaryClass={cs.GR}
}