Download presentation
Presentation is loading. Please wait.
1
October 9, 2003DIMACS CAD/CAM Workshop1 Detecting Degenerate Object Configurations with the Rational Univariate Reduction John Keyser Department of Computer Science Texas A&M University
2
October 9, 2003DIMACS CAD/CAM Workshop2 Outline Motivation The Rational Univariate Reduction –Background –Computation Process –Implementation Incorporating the RUR Numerical Perturbation Conclusion and Future Work
3
October 9, 2003DIMACS CAD/CAM Workshop3 Robustness in Boundary Evaluation Like many geometric operations, boundary evaluation subject to robustness problems Exact computation approaches, used in computational geometry, haven’t been applied as readily Exact computation with curved objects generally requires computer algebra methods.
4
October 9, 2003DIMACS CAD/CAM Workshop4 Goal (big picture) Support boundary evaluation for curved solids robustly –Numerical error –Degeneracies
5
October 9, 2003DIMACS CAD/CAM Workshop5 Need for Exact Boundary Evaluation Early work showed numerical problems –Boole system, floating-point based –Curved primitives –Tracing approach, tolerances –Early-mid 90s –Krishnan et al. at UNC
6
October 9, 2003DIMACS CAD/CAM Workshop6 Exact Boundary Evaluation Solids defined by parametric surfaces –Implicit form also stored Intersection curves are algebraic plane curves –Usually no parametric representation –Kept in patch domain Intersections of curves are algebraic points –Solution of systems of polynomial equations
7
October 9, 2003DIMACS CAD/CAM Workshop7 ESOLID Exact boundary evaluation program –Exact representations of surfaces, curves, points –Key operations: curve-curve intersection, curve topology – provided by MAPC library MAPC curve-curve intersections –Most time-consuming part of computation With Culver,Krishnan,Foskey,Manocha
8
October 9, 2003DIMACS CAD/CAM Workshop8 ESOLID (continued) Intersecting curves –Resultants allow isolating x,y coordinates separately –“Box hits” determine which points are “true” –Points represented as unique root of polynomial system within a box.
9
October 9, 2003DIMACS CAD/CAM Workshop9 ESOLID Speedups Numerous speedup techniques applied –Floating-point filters/Interval arithmetic –Lazy evaluation –Quick rejection Assumes General Position –Does not handle any actual degeneracies –Fails by crash, infinite loop
10
October 9, 2003DIMACS CAD/CAM Workshop10 ESOLID Performance Applied to real-world cases –Performance, with speedups, within one order of magnitude of Boole
11
October 9, 2003DIMACS CAD/CAM Workshop11 Problem: Degenerate cases cause failure Want way to represent points even in degenerate cases –Tangential intersections –Intersections at curve singularities –3 or more curves meeting at a point Need way to treat degeneracies
12
October 9, 2003DIMACS CAD/CAM Workshop12 Approach Define new method for representing points –Allows certain degeneracies to be detected, represented cleanly Numerical perturbation approach to treat degeneracies Work done with Koji Ouchi, Maurice Rojas
13
October 9, 2003DIMACS CAD/CAM Workshop13 Outline Motivation The Rational Univariate Reduction –Background –Computation Process –Implementation Incorporating the RUR Numerical Perturbation Conclusion and Future Work
14
October 9, 2003DIMACS CAD/CAM Workshop14 Rational Univariate Reduction (RUR) We will use it as an alternative representation for points Capable of handling degenerate situations smoothly Can be used for detecting degeneracies, or as part of a routine to handle them directly
15
October 9, 2003DIMACS CAD/CAM Workshop15 Previous Work on RUR Fundamental method not new – known for centuries Prior computation approaches ineffective: –Rely on Groebner bases – too slow –Groebner-free methods are iterative – don’t work well for exact computation Sparse resultant – Emiris (and others)
16
October 9, 2003DIMACS CAD/CAM Workshop16 Context for Our Implementation Fits into precision-driven computation model –LEDA and EGC work –Core library Extends model to handle arbitrary roots of polynomials –Includes complex roots
17
October 9, 2003DIMACS CAD/CAM Workshop17 Outline Motivation The Rational Univariate Reduction –Background –Computation Process –Implementation Incorporating the RUR Numerical Perturbation Conclusion and Future Work
18
October 9, 2003DIMACS CAD/CAM Workshop18 RUR operation Given m polynomials in n variables –Rational coefficients Determine all roots of system by finding a set of polynomials: h(x):minimal polynomial h 1 ( ), h 2 ( ), etc.coordinate polynomials
19
October 9, 2003DIMACS CAD/CAM Workshop19 RUR operation (continued) Determine the roots (real and complex) of the minimal polynomial Evaluate those roots in coordinate equations Result gives coordinates of every common root of original system –For positive dimensional components, gives one point on that component.
20
October 9, 2003DIMACS CAD/CAM Workshop20 Procedure for Computing RUR Compute Perturbed System Perturb For Each Coordinate Determine Matrix Labels Minimal Polynomial Coordinate Polynomials Input Polynomials
21
October 9, 2003DIMACS CAD/CAM Workshop21 Computing the Matrix Labels Form and compute the toric perturbation (sparse resultant matrix following Canny and Emiris) –Find Newton polytopes for input equations –Compute Minkowski sum –Perturb randomly –Compute mixed subdivision –Lattice points in interior give column labels –Rows are indexed by monomial multiplied by original equation –Entries are coefficients of input polynomials
22
October 9, 2003DIMACS CAD/CAM Workshop22 Using the Sparse Matrix Determinant is the sparse resultant –Vanishing is a necessary condition for common root Determining matrix row/column labels – linear programming Do not actually put equation coefficients in –Instead, will use perturbed system
23
October 9, 2003DIMACS CAD/CAM Workshop23 Procedure for Computing RUR Compute Perturbed System Perturb For Each Coordinate Determine Matrix Labels Minimal Polynomial Coordinate Polynomials Input Polynomials
24
October 9, 2003DIMACS CAD/CAM Workshop24 Computing the Minimal Polynomial If input system is f 1 =f 2 =…=f n =0 in variables x 1,…,x n Compute perturbed system: f 0 =u 0 +u 1 x 1 +u 2 x 2 +…+u n x n f i ’=f i -sf i * for i=1 to n u i are chosen randomly f i * are polynomials with same support as f i, but with random coefficients
25
October 9, 2003DIMACS CAD/CAM Workshop25 Computing the Minimal Polynomial (continued) Find sparse resultant of perturbed system The minimal polynomial is found from this (perturbed) resultant, substiuting a variable T for u 0.
26
October 9, 2003DIMACS CAD/CAM Workshop26 Procedure for Computing RUR Compute Perturbed System Perturb For Each Coordinate Determine Matrix Labels Minimal Polynomial Coordinate Polynomials Input Polynomials
27
October 9, 2003DIMACS CAD/CAM Workshop27 Computing Coordinate Polynomials To compute the coordinate polynomial h i, we substitute u i +/-1 for u i, and compute the determinant again (twice). We find the square-free parts, and using the two determinants, we again introduce the variable T, with a gcd calculation. Finally, the coefficient polynomial is found through division.
28
October 9, 2003DIMACS CAD/CAM Workshop28 Computing Polynomials (Summary) Use linear programming to determine sparse matrix Evaluate that matrix several times for various entries Perform some polynomial operations (gcd, division) to determine RUR.
29
October 9, 2003DIMACS CAD/CAM Workshop29 Extensions Affine Roots Can compute affine roots (coordinate is zero) by appending origin to the support of each input polynomial May lead to spurious additional roots Will need to test each root found to see whether it should be kept (i.e. solves the actual system).
30
October 9, 2003DIMACS CAD/CAM Workshop30 Extensions Non-square Systems Can deal with non-square systems. If too few polynomials, just repeat one polynomial If too many polynomials, form new set of polynomials from generic linear combinations of input polynomials –Will need to test final results, as spurious roots may be found.
31
October 9, 2003DIMACS CAD/CAM Workshop31 Computing with the RUR Given the RUR, can find roots of minimal polynomial –We need all roots, real and complex –Various techniques – Aberth’s method is one for iteratively converging to roots. Substitute these into coordinate polynomials to determine (complex) coordinates of roots.
32
October 9, 2003DIMACS CAD/CAM Workshop32 Procedure for Computing RUR Find Roots (Aberth’s Method) Minimal Polynomial z-coordinate Polynomial y-coordinate Polynomial x-coordinate Polynomial 1,x 1,y 1,z 2,x 2,y 2,z n,x n,y n,z 11 22 nn … …
33
October 9, 2003DIMACS CAD/CAM Workshop33 Dealing with Complex Numbers Do not fit into existing root-bound approaches Can determine real/imaginary parts separately Root bounds can be determined for real and imaginary parts independently
34
October 9, 2003DIMACS CAD/CAM Workshop34 Finding Real Roots Often only care about real roots To find which roots are real, use root bounds to show that imaginary part is 0. Remember complex roots come in conjugate pairs In many cases, no complex roots near 0 – this test is easy.
35
October 9, 2003DIMACS CAD/CAM Workshop35 Representing Roots The evaluation process can determine bounding intervals (boxes) around each root Can be used in geometric computations just like previous methods – e.g. for quick rejection tests
36
October 9, 2003DIMACS CAD/CAM Workshop36 Functionality Each root is found by one point Degeneracies handled cleanly: –Tangential intersections –Singularities in curves/surfaces –Points lying on curves/surfaces –Coincident points/curves/surfaces
37
October 9, 2003DIMACS CAD/CAM Workshop37 Functionality At least one point found on each positive dimensional component –Two determinations with different generic values will output two different sets of points –Differences indicate presence of positive dimensional components
38
October 9, 2003DIMACS CAD/CAM Workshop38 Outline Motivation The Rational Univariate Reduction –Background –Computation Process –Implementation Incorporating the RUR Numerical Perturbation Conclusion and Future Work
39
October 9, 2003DIMACS CAD/CAM Workshop39 Performance Implemented in C++, using Gnu MP for multiprecision arithmetic Exact implementation of sparse resultant –Based off of Emiris’ implementation –Uses exact computation throughout
40
October 9, 2003DIMACS CAD/CAM Workshop40 Determining Polynomials Use interpolation of polynomials to avoid symbolic computation. –Substitute (random) values and determine –Vandermonde interpolation Used when evaluating sparse resultant matrix determinant. –Have degree bounds for all polynomials
41
October 9, 2003DIMACS CAD/CAM Workshop41 Timing Results Quadric curve intersections arising from real-world boundary evaluation cases: –MAPC:.017 -.024 seconds –RUR:.317-1.772 seconds –Approximately 20-100 times slower! Cases with degenerate intersections, positive dimensional components, higher dimension, all successful
42
October 9, 2003DIMACS CAD/CAM Workshop42 Timing Breakdown Slows rapidly with higher degrees/dimensions For lower dimension/degree, the size of the matrix tends to determine running time –Increases quickly with degree/dimension At higher dimension/degree, coefficient size of coordinate polynomials grows very quickly and tends to dominate time
43
October 9, 2003DIMACS CAD/CAM Workshop43 Checking Root Bounds Surprisingly, >98% of time was spent in computation of the RUR itself, not in checking root bounds. –Root bounds could conceivably take longer, with repeated construction in precision-driven system.
44
October 9, 2003DIMACS CAD/CAM Workshop44 Optimizations Other optimizations are not implemented yet. Prior experience shows filtering and similar approaches can yield significant speedups Difficult to filter the sparse resultant matrix calculations May be able to filter over coefficients of the coefficient equations Possibly make higher degree/dimension more practical, but unlikely to ever beat MAPC
45
October 9, 2003DIMACS CAD/CAM Workshop45 Outline Motivation The Rational Univariate Reduction –Background –Computation Process –Implementation Incorporating the RUR Numerical Perturbation Conclusion and Future Work
46
October 9, 2003DIMACS CAD/CAM Workshop46 Direct Implementation RUR approach could be used always Represent all points using RUR –All degeneracies handled smoothly –Checks between points are easy –Evaluating point on curve is easy However, much slower for cases where there is no degeneracy
47
October 9, 2003DIMACS CAD/CAM Workshop47 Incorporating for Degenerate Situations Idea: hybrid representation of points Use standard MAPC approach first When it does not seem to be working (e.g. repeated iterations), determine RUR Thereafter RUR can be used instead Would allow a uniform treatment of all points, with lower overhead than all-RUR –Bounding boxes for both approaches –Might not need RUR itself after first evaluation
48
October 9, 2003DIMACS CAD/CAM Workshop48 Detecting Degeneracies Several degenerate situations in solid modeling (boundary evaluation) Some are dealt with more easily by other means: –Overlapping surfaces dealt with through factorization or vanishing of intersection curve Usually want to detect degeneracies –Apply special case code or perturbation
49
October 9, 2003DIMACS CAD/CAM Workshop49 Degeneracies
50
October 9, 2003DIMACS CAD/CAM Workshop50 Specific Degeneracy Detection Assume points represented as RUR Coincident Points: –Check sign (need root bounds) for difference of two points Four or more surfaces meeting at a point –Appears as a point lying on a curve in a patch domain –Substitute coordinate values of point into curve –Can generate root bounds to guarantee answer
51
October 9, 2003DIMACS CAD/CAM Workshop51 Specific Degeneracy Detection Curve lying on surface, or overlapping curves –Test for positive dimensional components Surfaces tangent at a point –Point found normally, curve topology checks Tangent curves –Intersection found normally, examine curve topology to determine if tangent
52
October 9, 2003DIMACS CAD/CAM Workshop52 Outline Motivation The Rational Univariate Reduction –Background –Computation Process –Implementation Incorporating the RUR Numerical Perturbation Conclusion and Future Work
53
October 9, 2003DIMACS CAD/CAM Workshop53 Numerical Perturbation Predicated on a test to detect degeneracies Idea: Since we have exact computation, we can eliminate degeneracies by perturbing the data numerically (not symbolically) –Symbolic must relate predicates directly to input –Filtering should make perturbed data not much slower in non-degenerate cases.
54
October 9, 2003DIMACS CAD/CAM Workshop54 Numerical Perturbation Key is capturing the designer’s intent –Random perturbation of input surfaces in boundary evaluation can easily lead to undesirable results –True for numeric or symbolic perturbation New approach assumes only one degenerate situation, at known point in CSG-style tree.
55
October 9, 2003DIMACS CAD/CAM Workshop55 Generating Perturbation Idea: need to perturb “in” or “out” at level where degeneracy is occurring. Capture designer’s intent: –Union – perturb both out –Intersection – perturb both in –Difference (A-B) – A in, B out Perturbation will be less than some tolerance value
56
October 9, 2003DIMACS CAD/CAM Workshop56 Propagating Information Propagate to children, all the way to leaves –For difference A-B, must propagate opposite perturbation direction Apply scale in/out at leaves Results in perturbed primitives –Must repeat calculations for entire tree –When bad node is reached, no degeneracy
57
October 9, 2003DIMACS CAD/CAM Workshop57 Outline Motivation The Rational Univariate Reduction –Background –Computation Process –Implementation Incorporating the RUR Numerical Perturbation Conclusion and Future Work
58
October 9, 2003DIMACS CAD/CAM Workshop58 Summary RUR method can find solutions to degenerate systems easily –Application to several degenerate cases –Less efficient than other general-position methods Numerical perturbation technique to eliminate degeneracies
59
October 9, 2003DIMACS CAD/CAM Workshop59 Future Work Near term: –Add RUR check to ESOLID system for degeneracy detection –Add numerical perturbation approach for degeneracies –Optimizations of RUR implementation Long term: –Boundary evaluation for higher degree surfaces, handling all degeneracies
60
October 9, 2003DIMACS CAD/CAM Workshop60 Questions? Thank you for listening (and staying)! Contact: –John Keyser:keyser@cs.tamu.edukeyser@cs.tamu.edu –J. Maurice Rojas: rojas@math.tamu.edurojas@math.tamu.edu –Koji Ouchi: kouchi@cs.tamu.edukouchi@cs.tamu.edu Funding –NSF/DARPA CARGO –NSF ITR (small)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.