research-article
Free Access

A BSP-based algorithm for dimensionally nonhomogeneous planar implicit curves with topological guarantees

Abstract

Mathematical systems (e.g., Mathematica, Maple, Matlab, and DPGraph) easily plot planar algebraic curves implicitly defined by polynomial functions. However, these systems, and most algorithms found in the literature, cannot draw many implicit curves correctly; in particular, those with singularities (self-intersections, cusps, and isolated points). They do not detect sign-invariant components either, because they use numerical methods based on the Bolzano corollary, that is, they assume that the curve-describing function f flips sign somewhere in a line segment AB that crosses the curve, or f(Af(B) < 0. To solve these problems, we have generalized the False Position (FP) method to determine two types of zeros: (i) crossing zeros and (ii) extremal zeros (local minima and maxima without function sign variation). We have called this method the Generalized False Position (GFP) method. It allows us to sample an implicit curve against the Binary Space Partitioning (BSP), say bisection lines, of a rectangular region of R2. Interestingly, the GFP method can also be used to determine isolated points of the curve. The result is a general algorithm for sampling and rendering planar implicit curves with topological guarantees.

References

  1. Alberti, L. and Mourrain, B. 2007a. Regularity criteria for the topology of algebraic curves and surfaces. In Mathematics of Surfaces XII, R. Martin et al., Eds. Lecture Notes in Computer Science, vol. 4647. Springer-Verlag, 1--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Alberti, L. and Mourrain, B. 2007b. Visualisation of implicit algebraic curves. In Proceedings of the 15th Pacific Conference on Computer Graphics and Applications (PG'07), M. Alexa et al., Eds. IEEE Computer Society Press, 303--312. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Allgower, E. and Georg, K. 1990. Numerical Continuation Methods: An Introduction. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Allgower, E. and Gnutzmann, S. 1991. Simplicial pivoting for mesh generation of implicitly defined surfaces. Comput. Aided Geom. Des. 8, 4, 305--325. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Arnborg, S. and Feng, H. 1988. Algebraic decomposition of regular curves. J. Symbol. Comput. 5, 1--2, 131--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Arnon, D. and McCallum, S. 1988. A polynomial time algorithm for the topological type of a real algebraic curve. J. Symbol. Comput. 5, 1--2, 213--236. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Bajaj, C. and Xu, G. 1997. Piecewise rational approximations of real algebraic curves. J. Comput. Math. 15, 1, 55--71.Google ScholarGoogle Scholar
  8. Bentley, J. 1975. Multidimensional binary search trees used for associative searching. Commun. ACM 18, 9, 509--517. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Blinn, J. 1982. A generalization of algebraic surface drawing. ACM Trans. Graphics 1, 3, 235--256. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Bloomenthal, J. 1988. Poligonization of implicit surfaces. Comput. Aided Geom. Design 5, 4, 341--355. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Bloomenthal, J. 1994. An implicit surface polygonizer. In Graphics Gems. Vol. 4. Academic Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Bodnár, G. and Schicho, J. 2000. A computer program for the resolution of singularities. In Resolution of Singularities, A Research Textbook in Tribute to Oscar Zariski, H. Hauser et al. Eds. Progress in Mathematics, vol. 181. Birkhäuser, 231--238.Google ScholarGoogle Scholar
  13. Chandler, R. 1988. A tracking algorithm for implicitly defined curves. IEEE Comput. Graphics Appl. 8, 2, 83--89. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Collins, G. and Loos, R. 1976. Polynomial real root isolation using Descates' rule of signs. In Proceedings of the ACM Symposium on Symbolic and Algebraic Computation. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Corless, R., Gonzalez-Vega, L., Necula, I., and Shakoori, A. 2003. Topology determination of implicitly defined real algebraic plane curves. Analele Universitatii din Timisoara, Seria Matematica-Inf. 41, 3, 83--96.Google ScholarGoogle Scholar
  16. Eigenwillig, A., Kerber, M., and Wolpert, N. 2007. Fast and exact geometric analysis of real algebraic plane curves. In Proceedings of the International Symposium on Symbolic and Algebraic Computation (ISSAC'07), C. Brown, Ed. ACM Press, 151--158. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Eigenwillig, A., Sharma, V., and Yap, C. 2006. Almost tight recursion tree bounds for the Descartes method. In Proceedings of the ACM Symposium on Symbolic and Algebraic Computation, 71--78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Fuchs, H., Kedem, Z., and Naylor, B. 1980. On visible surface generation by a priori tree structures. Comput. Graphics 14, 3, 124--133. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Gianni, P. and Traverso, C. 1983. Shape determination of real curves and surfaces. Annali dell'Universitá di Ferrara, Sezione VII - Sc. Math. 29, 87--109.Google ScholarGoogle Scholar
  20. Gonzalez-Vega, L., Lombardi, H., Recio, T., and Roy, M.-F. 1990. Spécialisation de la suite de Sturm et sous-résultants (i). Inf. Théorique Appl. 24, 561--588.Google ScholarGoogle ScholarCross RefCross Ref
  21. Gonzalez-Vega, L., Lombardi, H., Recio, T., and Roy, M.-F. 1994. Spécialisation de la suite de Sturm et sous-résultants (ii). Inf. Théorique Appl. 28, 1--24.Google ScholarGoogle ScholarCross RefCross Ref
  22. Gonzalez-Vega, L. and Necula, I. 2002. Efficient topology determination of implicitly defined algebraic plane curves. Comput. Aided Geom. Des. 19, 9, 719--743. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Heindel, L. 1971. Integer arithmetic algorithms for polynomial real zero determination. J. ACM 18, 4, 533--548. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Hong, H. and Schicho, J. 1998. Algorithms for trigonometric curves (simplification, implicitization, parameterization). J. Symbol. Comput. 26, 3, 279--300. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Keyser, J., Culver, T., Manocha, D., and Krishnan, S. 1999. MAPC: A library for efficient and exact manipulation of algebraic points and curves. In Proceedings of the 15th ACM Symposium on Computational Geometry. ACM Press, 360--369. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Krandick, W. and Mehlhorn, K. 2006. New bounds for the Descartes' method. J. Symbol. Comput. 41, 1, 49--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Krishnan, S. and Manocha, D. 1995. Numeric symbolic algorithms for evaluating one-dimensional algebraic sets. In Proceedings of ACM Symposium and Algebraic Computation. ACM Press, 59--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Lane, J. and Riesenfeld, R. 1981. Bounds on a polynomial. BIT Numer. Math. 21, 1, 112--117.Google ScholarGoogle ScholarCross RefCross Ref
  29. Lopes, H., Oliveira, J., and Figueiredo, L. 2001. Robust adaptive polygonal approximation of implicit curves. In Proceedings of the 14th Brazilian Symposium on Computer Graphics and Image Processing. IEEE Press, 10--17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Lorensen, W. and Cline, W. 1987. Marching cubes: A high resolution 3D surface construction algorithm. Comput. Graphics 21, 4, 163--169. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Möller, T. and Yagel, R. 1995. Efficient rasterization of implicit functions. http://citeseer.nj.nec.com/357413.html.Google ScholarGoogle Scholar
  32. Morgado, J. and Gomes, A. 2005. A generalized false position method for finding zeros and extrema of a real function. In Lecture Series on Computer and Computational Sciences 4, 425--428.Google ScholarGoogle Scholar
  33. Mourrain, B. and Pavone, J.-P. 2005. Subdivision methods for solving polynomial equations. Tech. rep. 5658, Institut National de Recherche en Informatique et en Automatique (INRIA). August.Google ScholarGoogle Scholar
  34. Mourrain, B., Rouillier, F., and Roy, M.-F. 2005. Bernstein's basis and real root isolation. In Current Trends in Combinatorial and Computational Geometry, J. Goodman et al., Eds. Mathematical Sciences Research Institute. Cambridge University Press, 459--478.Google ScholarGoogle Scholar
  35. Naylor, B., Amanatides, J., and Thibault, W. 1990. Merging BSP trees yields polyhedral set operations. Comput. Graphics 24, 4, 115--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Press, W., Flannery, B., Teukolsky, S., and Vetterling, W. 1992. Numerical Recipes in C. Cambridge University Press.Google ScholarGoogle Scholar
  37. Samet, H. 2006. Foundations of Multidimensional and Metric Data Structures. The Morgan Kaufmann Series in Data Management Systems. Morgan Kaufmann. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Seidel, R. and Wolpert, N. 2005. On the exact computation of the topology of real algebraic curves. In Proceedings of the 21st ACM Symposium on Computational Geometry. ACM Press, 107--115. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Shewchuk, J. 1997. Adaptive precision floating-point arithmetic and fast robust geometric predicates. Discrete Comput. Geom. 18, 3, 305--363.Google ScholarGoogle ScholarCross RefCross Ref
  40. Snyder, J. 1992. Interval arithmetic for computer graphics. In Computer Graphics. Vol. 26. 121--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Sturm, C.-F. 1829. Mémoire sur la résolution des équations numériques. Le Bulletin des Sciences de Férussac 11.Google ScholarGoogle Scholar
  42. Subramanian, K. and Naylor, B. 1997. Converting discrete images to partitioning trees. IEEE Trans. Visualiz. Comput. Graphics 3, 3, 273--288. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Sung, K. and Shirley, P. 1992. Ray tracing with the BSP tree. In Graphics Gems. Vol. 3. Academic Press, 271--274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Thibault, W. and Naylor, B. 1987. Set operations on polyhedra using binary space partition trees. Comput. Graphics 21, 4, 153--162. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Triquet, F. 2001. Fast polygonization of implicit surfaces. In Proceedings of the International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision (WSCG'01), vol. 2. 283--290.Google ScholarGoogle Scholar
  46. Tupper, J. 2001. Reliable two-dimensional graphing methods for mathematical formulae with two free variables. In Proceedings of the 28th Annual International Conference on Computer Graphics and Interactive Techniques (SIGGRAPH'01), J. Mitchell and G. Rote, Eds. ACM Press, 77--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Uspensky, J. 1948. Theory of Equations. McGraw-Hill, New York.Google ScholarGoogle Scholar

Index Terms

  1. A BSP-based algorithm for dimensionally nonhomogeneous planar implicit curves with topological guarantees

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!

          To help support our community working remotely during COVID-19, we are making all work published by ACM in our Digital Library freely accessible through June 30, 2020. Learn more