Problems in curves and surfaces M. Ramanathan Problems in curves and surfaces Simple problems • Given a point p and a parametric curve C(t), find the minimum distance between p and C(t) C(t) <p – C(t), C’(t)> = 0 Constraint equation p Problems in curves and surfaces Point-curve tangents Given a point p and a parametric curve C(t), find the tangents from p to C(t) Problems in curves and surfaces Common tangent lines Problems in curves and surfaces The IRIT Modeling Environment • www.cs.technion.ac.il/~irit • More like a kernal not a software – code can be downloaded from the same webpage. • Add your own functions and compile with them (written in C language) • User’s manual as well as programming manual is available Problems in curves and surfaces Convex hull of a point set Given a set of pins on a pinboard And a rubber band around them How does the rubber band look 4 5 when it snaps tight? 3 A CH is a convex polygon - nonintersecting polygon whose internal angles are all convex (i.e., less than π) 6 2 0 Problems in curves and surfaces 1 Bi-Tangents and Convex hull Problems in curves and surfaces CH of closed surfaces Problems in curves and surfaces CH of closed surfaces Problems in curves and surfaces Minimum enclosing circle • smallest circle that completely contains a set of points Problems in curves and surfaces Minimum enclosing circle – two curves Problems in curves and surfaces Minimum enclosing circle – three curves Problems in curves and surfaces MEC of a set of closed curves Problems in curves and surfaces Kernel problem • Given a freeform curve/surface, find a point from which the entire curve/surface is visible. Problems in curves and surfaces Kernel problem (contd.) Solve Problems in curves and surfaces Kernel problem in surfaces Problems in curves and surfaces Duality • duality refers to geometric transformations that replace points by lines and lines by points while preserving incidence properties among the transformed objects. The relations of incidence are those such as 'lies on' between points and lines (as in 'point P lies on line L') Problems in curves and surfaces Point-Line Duality Problems in curves and surfaces Common tangents Problems in curves and surfaces Voronoi Cell (Points) • Given a set of points {P1, P2, … , Pn}, the Voronoi cell of point P1 is the set of all points closer to P1 than to any other point. Problems in curves and surfaces Skeleton – Voronoi diagram The Voronoi diagram is the union of the Voronoi cells of all the free-form curves. Problems in curves and surfaces Voronoi diagram (illustration) P3 P1 P2 P2 P1 Remember that VD is not defined for just points but for any set e.g. curves, surfaces etc. Moreover, the definition is applicable for any dimension. Problems in curves and surfaces Skeleton – Medial Axis The medial axis (MA), or skeleton of the set D, is defined as the locus of points inside which lie at the centers of all closed discs (or balls in 3-D) which are maximal in D. Problems in curves and surfaces Skeletons – medial axis Problems in curves and surfaces Definition (Voronoi Cell) • Given - C0(t), C1(r1), ... , Cn(rn) - disjoint rational planar closed regular C1 free-form curves. • The Voronoi cell of a curve C0(t) is the set of all points closer to C0(t) than to Cj(rj), for all j > 0. Problems in curves and surfaces C2(r2) C1(r1) C0(t) C3(r3) C4(r4) Definition (Voronoi cell (Contd.)) C2(r2) • Boundary of the Voronoi cell. • Voronoi cell consists of points that are equidistant and minimal from two different curves. C0(t),C3(r3) C0(t), C4(r4) Problems in curves and surfaces C1(r1) C0(t) C3(r3) C4(r4) Definition (Voronoi cell (Contd.)) “The Voronoi cell consists of points that are equidistant and minimal from two different curves.” r3 • The above definition excludes non-minimal-distance bisector points. • This definition excludes selfVoronoi edges. r4 r r1 C1(r) q p t Problems in curves and surfaces r2 C0(t) Definition (Voronoi diagram) The Voronoi diagram is the union of the Voronoi cells of all the free-form curves. Problems in curves and surfaces C0(t) Skeleton-Bisector relation Problems in curves and surfaces Bisector for simple curves Problems in curves and surfaces Bisector for simple curves (contd) Problems in curves and surfaces Point-curve bisector Problems in curves and surfaces Curve-curve bisector RR C1(r) LL C0 (t) Problems in curves and surfaces LR RL Euclidean space Outline of the algorithm tr-space C1(r) Implicit bisector function C0(t) Splitting into monotone pieces Limiting constraints Lower envelope algorithm Problems in curves and surfaces The implicit bisector function • Given two regular C1 parametric curves C0(t) and C1(r), one can get a rational expression for the two normals’ intersection point: P(t,r) = (x(t,r), y(t,r)). • The implicit bisector function F3 is defined by: C0 (t ) C1 (r ) F3 (t , r ) P(t , r ) , C0 (t ) C1 (r ) 0 2 C1 (r ) P (t , r ) P(t,r) - q q C0 (t ) Problems in curves and surfaces The untrimmed implicit bisector function C1(r) F3(t,r) C0(t) r t Comment: Note we capture in the (finite) F3 the entire (infinite) bisector in R2. Problems in curves and surfaces Splitting the bisector, the zero-set of F3, into monotone pieces r r t Keyser et al., Efficient and exact manipulation of algebraic points and curves, CAD, 32 (11), 2000, pp 649--662. Problems in curves and surfaces t Constraints - orientation • Orientation Constraint – purge regions of the untrimmed bisector that do not lie on the proper side. • LL considers left side of both curves as proper: N1L (t1 ) C1(t1 ) Problems in curves and surfaces C2 (t 2 ) The orientation constraints (Contd.) RR C1(r) LR LL C0(t) Problems in curves and surfaces RL The curvature constraints Curvature Constraint (CC) – purge away regions of the untrimmed bisector whose distance to its footpoints (i.e., the radius of the Voronoi disk) is larger than the radius of curvature (i.e., 1/κ) at the footpoint. N1/κ1 C1(t1) C2(t2) i (ti ) N i (ti ), P(ti , t j ) Ci (t ) 1 P(t1, t2) Problems in curves and surfaces Effect of the curvature constraint i (ti ) N i (ti ), P(ti , t j ) Ci (t ) 1 Problems in curves and surfaces Application of curvature constraint Before After Problems in curves and surfaces Lower envelopes D D t t D (b) (a) t (c) Problems in curves and surfaces Lower envelope algorithm General Lower Envelope • Standard Divide and Conquer algorithm. • Main needed functions are: – Identifying intersections of curves. – Comparing two curves at a given parameter (above/below). – Splitting a curve at a given parameter. VC Lower Envelope Distance function D defined by Di(t, ri) = || P(t, ri) - Ci(t) || • ||Di (t, ri)||2 = ||Dj (t, rj)||2 , F3(t, ri) = 0, F3(t, rj) = 0. • Compare ||Di (t, ri)||2 and ||Dj(t,rj)||2 at the parametric values. • Split F3(t, ri) = 0 at the triparameter. Problems in curves and surfaces Result I C0(t) C0(t) C2(r2) C1(r1) C1(r1) Problems in curves and surfaces Result I (Contd.) C0(t) C1(r1) C2(r2) C2(r2) C0(t) C1(r1) Problems in curves and surfaces Results II C3(r3) C1(r1) C0(t) C2(r2) C0(t) C3(r3) C2(r2) C4(r4) Problems in curves and surfaces C1(r1) Results III C0(t) C2(r2) C2(r2) C3(r3) C4(r4) C0(t) C1(r1) C1(r1) Problems in curves and surfaces Results IV (For Non-Convex C0(t)) Voronoi cell is obtained by performing the lower envelope on both t and r parametric directions. C3(r3) C0(t) C2(r2) C1(r1) C0(t) C2(r2) C1(r1) Problems in curves and surfaces Bisectors in 3D Problems in curves and surfaces Bisector in 3D Problems in curves and surfaces Bisectors in 3D Problems in curves and surfaces Bisector in 3D (space curves) Problems in curves and surfaces Bisectors in 3D Problems in curves and surfaces Surface-surface bisector Problems in curves and surfaces Surface-surface bisector Problems in curves and surfaces Constraints Problems in curves and surfaces -sector Constraints Y-axis Problems in curves and surfaces -sector Problems in curves and surfaces References • • • • • • • • • http://www.cs.technion.ac.il/~irit Gershon Elber and Myung-soo Kim. The convex hull of rational plane curves, Graphical Models, Volume 63, 151-162, 2001 J. K. Seong, Gershon Elber, J. K. Johnstone and Myung-soo Kim. The convex hull of freeform surfaces, Computing, 72, 171-183, 2004 Elber Gershon, Kim Myung-Soo. Geometric constraint solver using multivariate rational spline functions. In: Proceedings of the sixth ACM symposium on solid modeling and applications; 2001. p. 1–10. ELBER, G., AND KIM, M.-S. 1998. Bisector curves for planar rational curves. ComputerAided Design 30, 14, 1089–1096. ELBER, G., AND KIM, M.-S. 1998. The bisector surface of rational space curves. ACM Transaction on Graphics 17, 1 (January), 32–39. FAROUKI, R., AND JOHNSTONE, J. 1994. The bisector of a point and a plane parametric curve. Computer Aided Geometric Design, 11, 2, 117–151. Ramanathan Muthuganapathy, Gershon Elber, Gill Barequet, and Myung-Soo Kim, "Computing the Minimum Enclosing Sphere of Free-form Hypersurfaces in Arbitrary Dimensions" , Computer-Aided Design, 43(3), 2011, 247-257 Iddo Hanniel, Ramanathan Muthuganapathy, Gershon Elber and Myugn-Soo Kim "Precise Voronoi Cell Extraction of Free-form Rational Planar Closed Curves ", Solid and Physical Modeling (SPM), 2005, MIT, USA, pp 51-59 Problems in curves and surfaces