Modeling with cubic A-patches

We present a sufficient criterion for the Bernstein-Bezier (BB) form of a trivariate polynomial within a tetrahedron, such that the real zero contour of the polynomial defines a smooth and single sheeted algebraic surface patch. We call this an A-patch. We present algorithms to build a mesh of cubic A-patches to interpolate a given set of scattered point data in three dimensions, respecting the topology of any surface triangulation T of the given point set. In these algorithms we first specify "normals" on the data points, then build a simplicial hull consisting of tetrahedra surrounding the surface triangulation T and finally construct cubic A-patches within each tetrahedron. The resulting surface constructed is at (tangent plane) continuous and single sheeted in each of the tetrahedra. We also show how to adjust the free parameters of the A-patches to achieve both local and global shape control.