Algorithms for Intersecting Parametric and Algebraic Curves II: Multiple Intersections

Abstract The problem of computing the intersection of parametric and algebraic curves arises in many applications of computer graphics and geometric and solid modeling. Previous algorithms are based on techniques from elimination theory or subdivision and iteration and are typically limited to simple intersections of curves. Furthermore, algorithms based on elimination theory are restricted to low degree curves. This is mainly due to issues of efficiency and numerical stability. In this paper we use elimination theory and express the resultant of the equations of intersection as a matrix determinant. Using matrix computations the algorithm for intersection is reduced to computing eigenvalues and eigenvectors of matrices. We use techniques from linear algebra and numerical analysis to compute geometrically isolated higher order intersections of curves. Such intersections are obtained from tangential intersections, singular points, etc. The main advantage of the algorithm lies in its efficiency and robustness. The numerical accuracy of the operations is well understood and we come up with tight bounds on the errors using 64-bit IEEE floating point arithmetic.

[1]  S. Abhyankar What is the difference between a parabola and a hyperbola? , 1988 .

[2]  P. Lancaster,et al.  Factorization of selfadjoint matrix polynomials with constant signature , 1982 .

[3]  R. L. Magedson,et al.  Solutions of tangential surface and curve intersections , 1989 .

[4]  James Demmel,et al.  Design of a Parallel Nonsymmetric Eigenroutine Toolbox, Part I , 1993, PPSC.

[5]  F. S. Macaulay Some Formulæ in Elimination , 1902 .

[6]  T. Sederberg Implicit and parametric curves and surfaces for computer aided geometric design , 1983 .

[7]  Thomas W. Sederberg,et al.  Improperly parametrized rational curves , 1986, Comput. Aided Geom. Des..

[8]  Dinesh Manocha,et al.  Detecting cusps and inflection points in curves , 1992, Comput. Aided Geom. Des..

[9]  T. Sederberg Algorithm for algebraic curve intersection , 1989 .

[10]  George E. Collins,et al.  An efficient algorithm for infallible polynomial complex root isolation , 1992, ISSAC '92.

[11]  Ed Anderson,et al.  LAPACK users' guide - [release 1.0] , 1992 .

[12]  Dinesh Manocha Regular curves and proper parametrizations , 1990, ISSAC '90.

[13]  C. B. García,et al.  Finding all solutions to polynomial systems and other systems of equations , 1979, Math. Program..

[14]  Rida T. Farouki,et al.  Singular Points of Algebraic Curves , 1990, J. Symb. Comput..

[15]  Christoph M. Hoffmann,et al.  Geometric and Solid Modeling , 1989 .

[16]  A. Edelman,et al.  Polynomial roots from companion matrix eigenvalues , 1995 .

[17]  A. Derose Geometric continuity: a parametrization independent measure of continuity for computer aided geometric design (curves, surfaces, splines) , 1985 .

[18]  J.J.S.P. Cabral,et al.  An introduction to splines for use in computer graphics & geometric modeling: Richard H. Bartels, John C. Beatty & Brian A. Barsky, Morgan Kaufmann Publishers, Inc., Los Altos, California, 1987 , 1992 .

[19]  Jack J. Dongarra,et al.  Matrix Eigensystem Routines — EISPACK Guide Extension , 1977, Lecture Notes in Computer Science.

[20]  Gershon Elber,et al.  Hidden curve removal for free form surfaces , 1990, SIGGRAPH.

[21]  C. Hoffmann Algebraic curves , 1988 .

[22]  P. Dooren,et al.  The eigenstructure of an arbitrary polynomial matrix : Computational aspects , 1983 .

[23]  T. Y. Li,et al.  Solving eigenvalue problems of real nonsymmetric matrices with real homotopies , 1992 .

[24]  L. Trefethen,et al.  Eigenvalues and pseudo-eigenvalues of Toeplitz matrices , 1992 .

[25]  S. Mudur,et al.  A new class of algorithms for the processing of parametric curves , 1983 .

[26]  Richard F. Riesenfeld,et al.  A Theoretical Development for the Computer Generation and Display of Piecewise Polynomial Surfaces , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[27]  James Hardy Wilkinson,et al.  Rounding errors in algebraic processes , 1964, IFIP Congress.

[28]  Tosio Kato Perturbation theory for linear operators , 1966 .

[29]  Tien-Yien Li,et al.  Homotopy-determinant algorithm for solving nonsymmetric eigenvalue problems , 1992 .

[30]  Dinesh Manocha,et al.  Algorithms for intersecting parametric and algebraic curves , 1992 .

[31]  George Salmon Lessons introductory to the modern higher algebra , 1885 .

[32]  J. Demmel,et al.  LAPACK: a portable linear algebra library for supercomputers , 1989, IEEE Control Systems Society Workshop on Computer-Aided Control System Design.

[33]  James Demmel,et al.  Parallel numerical linear algebra , 1993, Acta Numerica.

[34]  Dinesh Manocha Robust techniques for curve and surface intersections , 1992 .

[35]  Gene H. Golub,et al.  Matrix computations , 1983 .

[36]  J. H. Wilkinson The algebraic eigenvalue problem , 1966 .

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

[38]  James Hardy Wilkinson,et al.  The evaluation of the zeros of ill-conditioned polynomials. Part I , 1959, Numerische Mathematik.

[39]  Rida T. Farouki,et al.  On the numerical condition of polynomials in Bernstein form , 1987, Comput. Aided Geom. Des..

[40]  Dinesh Manocha,et al.  Rational curves with polynomial parameterization , 1991, Comput. Aided Des..

[41]  T. Sederberg,et al.  Comparison of three curve intersection algorithms , 1986 .