Distance approximations for rasterizing implicit curves

In this article we present new algorithms for rasterizing implicit curves, i.e., curves represented as level sets of functions of two variables. Considering the pixels as square regions of the plane, a “correct” algorithm should paint those pixels whose centers lie at less than half the desired line width from the curve. A straightforward implementation, scanning the display array evaluating the Euclidean distance from the center of each pixel to the curve, is impractical, and a standard quad-tree-like recursive subdivision scheme is used instead. Then we attack the problem of testing whether or not the Euclidean distance from a point to an implicit curve is less than a given threshold. For the most general case, when the implicit function is only required to have continuous first-order derivatives, we show how to reformulate the test as an unconstrained global root-finding problem in a circular domain. For implicit functions with continuous derivatives up to order k we introduce an approximate distance of order k. The approximate distance of order k from a point to an implicit curve is asymptotically equivalent to the Euclidean distance and provides a sufficient test for a polynomial of degree k not to have roots inside a circle. This is the main contribution of the article. By replacing the Euclidean distance test with one of these approximate distance tests, we obtain a practical rendering algorithm, proven to be correct for algebraic curves. To speed up the computation we also introduce heuristics, which used in conjunction with low-order approximate distances almost always produce equivalent results. The behavior of the algorithms is analyzed, both near regular and singular points, and several possible extensions and applications are discussed.

[1]  Gabriel Taubin An accurate algorithm for rasterizing algebraic curves , 1993, Solid Modeling and Applications.

[2]  Chandrajit L. Bajaj,et al.  Automatic parameterization of rational curves and surfaces III: Algebraic plane curves , 1988, Comput. Aided Geom. Des..

[3]  Vaughan R. Pratt,et al.  Direct least-squares fitting of algebraic surfaces , 1987, SIGGRAPH.

[4]  Hanan Samet,et al.  An Overview of Quadtrees, Octrees, and Related Hierarchical Data Structures , 1988 .

[5]  D. Manocha,et al.  Algebraic and numeric techniques in modeling and robotics , 1992 .

[6]  S. Abhyankar,et al.  Automatic parameterization of rational curves and surfaces 1: conics and conicoids , 1987 .

[7]  John E. Dennis,et al.  Numerical methods for unconstrained optimization and nonlinear equations , 1983, Prentice Hall series in computational mathematics.

[8]  Michael L. Dowling A Fast Parallel Horner Algorithm , 1990, SIAM J. Comput..

[9]  Mark H. Overmars,et al.  Geometric data structures for computer graphics: an overview , 1988 .

[10]  John Canny,et al.  The complexity of robot motion planning , 1988 .

[11]  Vadim Shapiro,et al.  Box-bisection for solving second-degree systems and the problem of clustering , 1987, TOMS.

[12]  J. Thorpe Elementary Topics in Differential Geometry , 1979 .

[13]  David J. Kriegman,et al.  Parameterized Families of Polynomials for Bounded Algebraic Curve and Surface Fitting , 1994, IEEE Trans. Pattern Anal. Mach. Intell..

[14]  David P. Dobkin,et al.  Contour tracing by piecewise linear approximations , 1990, TOGS.

[15]  John D. Hobby Rasterization of nonparametric curves , 1990, TOGS.

[16]  Allan Borodin,et al.  The computational complexity of algebraic and numeric problems , 1975, Elsevier computer science library.

[17]  Gabriel Taubin,et al.  Nonplanar curve and surface estimation in 3-space , 1988, Proceedings. 1988 IEEE International Conference on Robotics and Automation.

[18]  D.C. Anderson,et al.  Implicitization, inversion, and intersection of planar rational cubic curves , 1985, Comput. Vis. Graph. Image Process..

[19]  PAUL D. SAMPSON,et al.  Fitting conic sections to "very scattered" data: An iterative refinement of the bookstein algorithm , 1982, Comput. Graph. Image Process..

[20]  Mark Novak,et al.  Curve-drawing algorithms for Raster displays , 1985, TOGS.

[21]  Bud Mishra,et al.  Counting Real Zeros , 1991 .

[22]  Dinesh Manocha,et al.  Multipolynomial Resultant Algorithms , 1993, J. Symb. Comput..

[23]  E. Allgower,et al.  An Algorithm for Piecewise-Linear Approximation of an Implicitly Defined Manifold , 1985 .

[24]  David J. Kriegman,et al.  Parametrizing and fitting bounded algebraic curves and surfaces , 1992, Proceedings 1992 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.

[25]  E. Allgower,et al.  Simplicial and Continuation Methods for Approximating Fixed Points and Solutions to Systems of Equations , 1980 .

[26]  Dennis S. Arnon,et al.  Topologically reliable display of algebraic curves , 1983, SIGGRAPH.

[27]  Jean Serra,et al.  Image Analysis and Mathematical Morphology , 1983 .

[28]  Gabriel Taubin,et al.  Estimation of Planar Curves, Surfaces, and Nonplanar Space Curves Defined by Implicit Equations with Applications to Edge and Range Image Segmentation , 1991, IEEE Trans. Pattern Anal. Mach. Intell..

[29]  Kris Sikorski,et al.  A bisection method for systems of nonlinear equations , 1984, TOMS.

[30]  Chandrajit L. Bajaj,et al.  Automatic parameterization of rational curves and surfaces IV: algebraic space curves , 1988, TOGS.

[31]  Paul Pedersen Multivariate Sturm Theory , 1991, AAECC.

[32]  David J. Kriegman,et al.  On Recognizing and Positioning Curved 3-D Objects from Image Contours , 1990, IEEE Trans. Pattern Anal. Mach. Intell..

[33]  B.D. Holm,et al.  An Improved Algorithm for the Generation of Nonparametric Curves , 1973, IEEE Transactions on Computers.

[34]  R. J. Walker Algebraic curves , 1950 .

[35]  Jules Bloomenthal,et al.  Polygonization of implicit surfaces , 1988, Comput. Aided Geom. Des..

[36]  Yves De Montaudouin Resolution of P(x,y)=0 , 1991, Comput. Aided Des..

[37]  Jorge J. Moré,et al.  User Guide for Minpack-1 , 1980 .

[38]  Ron Goldman,et al.  Implicit representation of parametric curves and surfaces , 1984, Comput. Vis. Graph. Image Process..

[39]  Larry Nazareth,et al.  Some Recent Approaches to Solving Large Residual Nonlinear Least Squares Problems , 1980 .

[40]  Chandrajit L. Bajaj,et al.  Tracing surface intersections , 1988, Comput. Aided Geom. Des..

[41]  C. Bajaj,et al.  Automatic parametrization of rational curves and surfaces II: cubics and cubicoids , 1987 .

[42]  David J. Kriegman,et al.  On using CAD models to compute the pose of curved 3D objects , 1992, CVGIP Image Underst..

[43]  R. Baker Kearfott,et al.  Some tests of generalized bisection , 1987, TOMS.