Tessellating Algebraic Curves and Surfaces Using A-Patches
This work approaches the problem of triangulating algebraic curves/surfaces with a subdivision-style algorithm using A-Patches. An implicit algebraic curve is converted from the monomial basis to the bivariate Bernstein-Bezier basis while implicit algebraic surfaces are converted to the trivariate Bernstein basis. The basis is then used to determine the scalar coefficients of the A-patch, which are used to find whether or not the patch contains a separation layer of coefficients. Those that have such a separation have only a single sheet of the surface passing through the domain while one that has all positive or negative coefficients does not contain a zero-set of the surface. Ambiguous cases are resolved by subdividing the structure into a set of smaller patches and repeating the algorithm. Using A-patches to generate a tessellation of the surface has potential advantages by reducing the amount of subdivision required compared to other subdivision algorithms and guarantees a single-sheeted surface passing through it. This revelation allows the tessellation of surfaces with acute features and perturbed features in greater accuracy.