algorithms for semi algebraic curves and surfaces
play

Algorithms for semi-algebraic curves and surfaces B. Mourrain - PowerPoint PPT Presentation

Algorithms for semi-algebraic curves and surfaces B. Mourrain GALAAD, INRIA M editerran ee, Sophia Antipolis Bernard.Mourrain@inria.fr July 21, 2011 B. Mourrain Algorithms for semi-algebraic curves and surfaces 1 / 53 SHAPES B.


  1. Algorithms for semi-algebraic curves and surfaces B. Mourrain GALAAD, INRIA M´ editerran´ ee, Sophia Antipolis Bernard.Mourrain@inria.fr July 21, 2011 B. Mourrain Algorithms for semi-algebraic curves and surfaces 1 / 53

  2. SHAPES B. Mourrain Algorithms for semi-algebraic curves and surfaces 2 / 53

  3. Context Acquisition of the 3 rd dimension easier. Increasing representations of virtual shapes. Need of fine and compact models of the geometry. Need of powerfull and precise techniques for geometric computations. Approximation and certification are key issues. B. Mourrain Algorithms for semi-algebraic curves and surfaces 3 / 53

  4. Computer Aided Geometric Design ◮ Interpolation of points, resp. curves by surfaces. ◮ (self)-intersection computation. ◮ Closest point or distance computation (collision). ◮ Surfaces filling holes, with constraints on the boundary. ◮ Pipes , canal surfaces , offset , fillet , blending , . . . ◮ Medial axis or skeletal structure. B. Mourrain Algorithms for semi-algebraic curves and surfaces 4 / 53

  5. ❒ Representation: ◮ semi-algebraic models: Bezier, NURBS, piecewise rational parameterisation, ◮ many pacthes, but “small” degree, ◮ with errors on the input coefficients; ◮ stored using machine numbers, ❒ Computation: ◮ points: intersection points, singularities, ombilic points, ◮ curves: apparent contours, (auto-)intersections, ridges, ◮ surfaces: offsets, blending, drafts, enveloppes, B. Mourrain Algorithms for semi-algebraic curves and surfaces 5 / 53

  6. Shape representation Shape representations ◮ Point clouds [1] [2] [3] ◮ Meshes [1] [2] [3] ◮ Parametric curves, surfaces, volumes . . . [1] [2] [3] ◮ Implicit curves, surfaces, volumes . . . [1] [2] [3] B. Mourrain Algorithms for semi-algebraic curves and surfaces 7 / 53

  7. Shape representation Parametric and implicit curves Univariate Bernstein representation For any f ( x ) ∈ Q [ x ] of degree d , with � d � d d � � ( x − a ) i ( b − x ) d − i ( b − a ) − d = c i B i f ( x ) = c i d ( x ; a , b ) , i i =0 i =0 The c = [ c i ] i =0 ,..., d are the control coefficients of f on [ a , b ]. Properties: ◮ � d d ( x ; a , b ) = 1; � d i =0 ( a d − i + b i i =0 B i d ) B i d ( x ; a , b ) = x ; d ◮ f ( a ) = c 0 , f ( b ) = c d ; ◮ f ′ ( x ) = d � d − 1 i =0 ∆( c ) i B i d − 1 ( x ; a , b ) where ∆( c ) i = c i +1 − c i ; ◮ ( x , f ( x )) x ∈ [ a , b ] ∈ convex hull of the points ( a d − i + b i d , c i ) i =0 .. d d ◮ # { f ( x ) = 0; x ∈ [ a , b ] } = V ( c ) − 2 p , p ∈ N . B. Mourrain Algorithms for semi-algebraic curves and surfaces 9 / 53

  8. Shape representation Parametric and implicit curves De Casteljau subdivision algorithm � c 0 i = c i , i = 0 , . . . , d , i ( t ) = (1 − t ) c r − 1 ( t ) + t c r − 1 c r i +1 ( t ) , i = 0 , . . . , d − r . i ◮ c − ( t ) = ( c 0 0 ( t ) , c 1 0 ( t ) , . . . , c d 0 ( t )) represents f on [ a , (1 − t ) a + t b ]. 0 ( t ) , c d − 1 ◮ c + ( t ) = ( c d ( t ) , . . . , c 0 d ( t )) represents f on [(1 − t ) a + t b , b ]. 1 The geometric point of view. The algebraic point of view. B. Mourrain Algorithms for semi-algebraic curves and surfaces 10 / 53

  9. Shape representation Parametric and implicit curves Spline representation Nodes: t 0 ≤ t 1 ≤ · · · ≤ t l ∈ R Basis functions: � 1 if t i ≤ t < t i +1 N 0 i ( t ) = 0 otherwise . t − t i t i + d +1 − t N d N d − 1 N d − 1 i ( t ) = ( t ) + i +1 ( t ) . i t i + d − t i t i + d +1 − t i +1 ◮ Support of N d i ( t ) =] t i , t i + d +1 [; ◮ Positive basis of functions which are piecewise polynomials of degree d on the subdivision t 0 , t 1 , . . . , t l ; ◮ Sum to 1; Function representation: L � c i N d f ( t ) = i ( t ) i =1 ◮ Fast and stable algorithms for node insertion, evaluation; ◮ Simple representation of the derivative; B. Mourrain Algorithms for semi-algebraic curves and surfaces 11 / 53

  10. Shape representation Parametric and implicit curves Parametric curve Piecewise polynomial parametrisation: R m σ : I → L � c i N d t �→ i ( t ) i =0 where c j ∈ R m are the control points. Rational parametrisation: R m σ : I → � L i =0 w i c i N d i ( t ) t �→ � L i =0 w i N d i ( t ) where c j ∈ R m are the control points and w i the weights. Also called Non-Uniform Rational BSpline (NURBS) . B. Mourrain Algorithms for semi-algebraic curves and surfaces 12 / 53

  11. Shape representation Parametric and implicit curves Implicit curves ◮ An algebraic curve C ⊂ R 2 is defined by an equation f ( x , y ) = 0 where f ( x , y ) ∈ R [ x , y ] is squarefree. ◮ The degree of C is the minimal degree of a polynomial f defining C . ◮ The tangent line at a point ( x 0 , y 0 ) ∈ C is ( x − x 0 ) ∂ x f ( x 0 , y 0 ) + ( y − y 0 ) ∂ y f ( x 0 , y 0 ) = 0 Points with a vertical tangent: f ( x 0 , y 0 ) = ∂ y f ( x 0 , y 0 ) = 0. Points with a horinzontal tangent: f ( x 0 , y 0 ) = ∂ x f ( x 0 , y 0 ) = 0. ◮ Singular points: f ( x 0 , y 0 ) = ∂ x f ( x 0 , y 0 ) = ∂ y f ( x 0 , y 0 ) = 0. ◮ Multiplicity of ( x 0 , y 0 ) ∈ C : valuation of f ( x 0 + u , y 0 + v ). Theorem (Bezout) Two planar curves C 1 of degree d 1 , C 2 of degree d 2 have either an infinite number of common points or intersect in atmost d 1 d 2 points. B. Mourrain Algorithms for semi-algebraic curves and surfaces 13 / 53

  12. Shape representation Parametric and implicit surfaces Rectangular patches Piecewise polynomial parametrisation: R m σ : I × J → L ′ L � � i ( s ) N d ′ c i , j N d ( s , t ) �→ j ( t ) i =0 j =0 where c i , j ∈ R m are the control points. Rational parametrisation: R m σ : I × J → � L � L ′ i ( s ) N d ′ j =0 w i , j c i , j N d j ( t ) i =0 ( s , t ) �→ � L � L ′ i ( s ) N d ′ j =0 w i , j N d j ( t ) i =0 where c i , j ∈ R m are the control points and w i , j the weight functions. ☞ A standard in Computer Aided Geometric Design. B. Mourrain Algorithms for semi-algebraic curves and surfaces 15 / 53

  13. Shape representation Parametric and implicit surfaces Triangular patches � f ( s , t ) = c i , j , k N i , j , k ( s , t ) i + j + k = d where d ! i ! j ! k ! s i t j (1 − s − t ) k . N i , j , k ( s , t ) = ◮ Parameters domain in the unit 2d simplex . ◮ De Casteljau-like subdivision and insertion algorithm at a new point . Arithmetic complexity O ( d 3 ), memory space O ( d 2 ). B. Mourrain Algorithms for semi-algebraic curves and surfaces 16 / 53

  14. Shape representation Parametric and implicit surfaces Implicit surfaces ◮ An algebraic surface S is defined by f ( x , y , z ) = 0 with f ∈ R [ x , y , z ] squarefree. ◮ The degree of S is the minimal degree of a polynomial f defining S . ◮ The tangent plane at a point ( x 0 , y 0 , z 0 ) ∈ S is ( x − x 0 ) ∂ x f ( x 0 , y 0 , z 0 )+( y − y 0 ) ∂ y f ( x 0 , y 0 , z 0 )+( z − z 0 ) ∂ z f ( x 0 , y 0 , z 0 ) = 0 ◮ Singular points of S : f ( x 0 , y 0 , z 0 ) = ∂ x f ( x 0 , y 0 , z 0 ) = ∂ y f ( x 0 , y 0 , z 0 ) = ∂ z f ( x 0 , y 0 , z 0 ) = 0. ◮ Multiplicity of ( x 0 , y 0 , z 0 ) ∈ S : valuation of f ( x 0 + u , y 0 + v , z 0 + w ). Theorem (Bezout) Three surfaces S 1 of degree d 1 , S 2 of degree d 2 , S 3 of degree d 3 have either an infinite number of common points or intersect in atmost d 1 d 2 d 3 points. Intersection of surfaces defined by two or more equations B. Mourrain Algorithms for semi-algebraic curves and surfaces 17 / 53

  15. Shape representation Exercises Exercise 1.1: ◮ Compute the coefficients in the Bernstein basis of degree d on [0 , 1] of 1, x , x 2 , . . . . ◮ Prove the derivation rule on the Bernstein representation. ◮ Prove De Casteljau subdivision rule on the Bernstein representation. Exercise 1.2: Put in equations the following problems: ◮ Intersection of planar implicit, parametric curves; ◮ Raycasting for implicit surfaces; ◮ Intersection of implicit and parametric surfaces; ◮ Closest point on a curve or a surface; ◮ Offset of a curve or a surface; Exercise 1.3: Let P 1 , . . . , P N be points in the plane. We fix a degree ( d 1 , d 2 ). The objective is to determine a polynomial of bidegree ≤ ( d 1 , d 2 ) defining an implicit curve which fits this set of points. ◮ Construct the linear system that satisfied the vector of coefficients of a polynomial expressed in the Bernstein basis in order to vanishes at the points P i ; ◮ Use the Singular Value Decomposition of the corresponding matrix to find an optimal solution of the fitting problem; ◮ Generate points from a parametric curve and use the previous construction to approximate them by implicit curves of increasing degrees. Exercise 1.4: ◮ Show that the set of rational curves in the plane of degree ≤ d is of dimenion ≤ 3( d + 1). ◮ Compute the dimension of the set of implicit curves. Show that all implicit curves cannot be parametrised by a rational function. ◮ Show that a curve of degree d with a singular point of multiplicity d − 1, is parametrised by a rational function. B. Mourrain Algorithms for semi-algebraic curves and surfaces 19 / 53

  16. Computing points on curves and surfaces Geometric problems we want to solve ◮ Intersection of planar curves; ◮ Topology and arrangement of planar curves; ◮ Raycasting for implicit surfaces; ◮ Intersection of implicit and parametric surfaces; ◮ Closest point on a curve or a surface; ◮ Offset of a curve or a surface; ◮ Voronoi diagram of curves and surfaces; ◮ . . . B. Mourrain Algorithms for semi-algebraic curves and surfaces 21 / 53

Recommend


More recommend