Detecting Degenerate Object Configurations with the Rational Univariate Reduction - PowerPoint PPT Presentation

About This Presentation
Title:

Detecting Degenerate Object Configurations with the Rational Univariate Reduction

Description:

Like many geometric operations, boundary evaluation subject ... Affine Roots. Can compute affine roots (coordinate is zero) by appending origin to the support ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 61
Provided by: johnk79
Category:

less

Transcript and Presenter's Notes

Title: Detecting Degenerate Object Configurations with the Rational Univariate Reduction


1
Detecting Degenerate Object Configurations with
the Rational Univariate Reduction
  • John Keyser
  • Department of Computer Science
  • Texas AM University

2
Outline
  • Motivation
  • The Rational Univariate Reduction
  • Background
  • Computation Process
  • Implementation
  • Incorporating the RUR
  • Numerical Perturbation
  • Conclusion and Future Work

3
Robustness in Boundary Evaluation
  • Like many geometric operations, boundary
    evaluation subject to robustness problems
  • Exact computation approaches, used in
    computational geometry, havent been applied as
    readily
  • Exact computation with curved objects generally
    requires computer algebra methods.

4
Goal(big picture)
  • Support boundary evaluation for curved solids
    robustly
  • Numerical error
  • Degeneracies

5
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
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
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
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
ESOLIDSpeedups
  • 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
ESOLIDPerformance
  • Applied to real-world cases
  • Performance, with speedups, within one order of
    magnitude of Boole

11
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
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
Outline
  • Motivation
  • The Rational Univariate Reduction
  • Background
  • Computation Process
  • Implementation
  • Incorporating the RUR
  • Numerical Perturbation
  • Conclusion and Future Work

14
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
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 dont work
    well for exact computation
  • Sparse resultant Emiris (and others)

16
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
Outline
  • Motivation
  • The Rational Univariate Reduction
  • Background
  • Computation Process
  • Implementation
  • Incorporating the RUR
  • Numerical Perturbation
  • Conclusion and Future Work

18
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
  • h1(a), h2(a), etc. coordinate polynomials

19
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
Procedure for Computing RUR
Determine Matrix Labels
Minimal Polynomial
Coordinate Polynomials
Compute Perturbed System
Input Polynomials
Perturb For Each Coordinate
21
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
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
Procedure for Computing RUR
Determine Matrix Labels
Minimal Polynomial
Coordinate Polynomials
Compute Perturbed System
Input Polynomials
Perturb For Each Coordinate
24
Computing the Minimal Polynomial
  • If input system is f1f2fn0 in variables
    x1,,xn
  • Compute perturbed system
  • f0u0u1x1u2x2unxn
  • fifi-sfi for i1 to n
  • ui are chosen randomly
  • fi are polynomials with same support as fi, but
    with random coefficients

25
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 u0.

26
Procedure for Computing RUR
Determine Matrix Labels
Minimal Polynomial
Coordinate Polynomials
Compute Perturbed System
Input Polynomials
Perturb For Each Coordinate
27
Computing Coordinate Polynomials
  • To compute the coordinate polynomial hi, we
    substitute ui/-1 for ui, 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
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
ExtensionsAffine 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
ExtensionsNon-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
Computing with the RUR
  • Given the RUR, can find roots of minimal
    polynomial
  • We need all roots, real and complex
  • Various techniques Aberths method is one for
    iteratively converging to roots.
  • Substitute these into coordinate polynomials to
    determine (complex) coordinates of roots.

32
Procedure for Computing RUR
Find Roots (Aberths Method)
Minimal Polynomial

a1
a2
an
z-coordinate Polynomial
y-coordinate Polynomial
x-coordinate Polynomial
a1,x
a1,y

a1,z
33
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
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
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
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
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
Outline
  • Motivation
  • The Rational Univariate Reduction
  • Background
  • Computation Process
  • Implementation
  • Incorporating the RUR
  • Numerical Perturbation
  • Conclusion and Future Work

39
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
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
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
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
Checking Root Bounds
  • Surprisingly, gt98 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
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
Outline
  • Motivation
  • The Rational Univariate Reduction
  • Background
  • Computation Process
  • Implementation
  • Incorporating the RUR
  • Numerical Perturbation
  • Conclusion and Future Work

46
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
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
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
Degeneracies
50
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
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
Outline
  • Motivation
  • The Rational Univariate Reduction
  • Background
  • Computation Process
  • Implementation
  • Incorporating the RUR
  • Numerical Perturbation
  • Conclusion and Future Work

53
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
Numerical Perturbation
  • Key is capturing the designers 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
Generating Perturbation
  • Idea need to perturb in or out at level
    where degeneracy is occurring.
  • Capture designers 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
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
Outline
  • Motivation
  • The Rational Univariate Reduction
  • Background
  • Computation Process
  • Implementation
  • Incorporating the RUR
  • Numerical Perturbation
  • Conclusion and Future Work

58
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
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
Questions?
  • Thank you for listening (and staying)!
  • Contact
  • John Keyser keyser_at_cs.tamu.edu
  • J. Maurice Rojas rojas_at_math.tamu.edu
  • Koji Ouchi kouchi_at_cs.tamu.edu
  • Funding
  • NSF/DARPA CARGO
  • NSF ITR (small)
Write a Comment
User Comments (0)
About PowerShow.com