1 / 71

Computational Geometry

Computational Geometry. An historical perspective. The outside world in 1973. Cold war active Germany was divided Travel between East and West was limited In United States Watergate scandal would lead to Nixon resignation Vietnam war was winding down

kalli
Download Presentation

Computational Geometry

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computational Geometry An historical perspective

  2. The outside world in 1973 • Cold war active • Germany was divided • Travel between East and West was limited • In United States • Watergate scandal would lead to Nixon resignation • Vietnam war was winding down • Trans-Atlantic communication was by letters with stamps • No • Euros • PCs • Cellphones (or wireless phones) • Email • Color monitors

  3. The CS world in 1973 • No internet (ARPANET with 37 nodes) or LANs • Not even thoughts of wireless • Little word processing • I hired a typist for my dissertation (and first STOC paper) • My first Computational Geometry paper was typed by a professional typist onto camera ready model paper. • Copies were made by Xerox, not by printing • No postscript, PDFs, scanners, laser printers • A few CS departments had been around for as long as 10 years • Faculty had PhDs in math, EE, applied math; occasionally CS • Fast computer was the PDP-10 (24 turns of Moore’s Law ago) • 1 MB of RAM • 380 Kips • $150K (1973 dollars) for the CPU • Department would have 1 for all to share • Connections via 24x80 ascii terminals (black and white)

  4. The theory world in 1973 • SWAT (Switching and Automata Theory) started in 1960 • FOCS from 1975 • STOC started in 1969 • ICALP started in 1972 • Algorithms at STOC/FOCS; formal languages/semantics at ICALP • No parallel sessions (typically 25-30 papers) • Small program committees (8-10 members) • Refereeing from paper manuscripts • The founders of these conferences were still their leaders • SIAM J Computing started in 1972 • Occasional workshops or small conferences • Significant interaction with the numerical analysis community

  5. Significant publications in 1973 • Knuth’s books • Fundamental algorithms (volume 1) 1968 • Data structures • Seminumerical algorithms (volume 2) 1971 • Arithmetic complexity • Sorting and searching (volume 3) 1973 • Some combinatorial algorithms • 1972 conference at IBM (Thatcher and Miller eds.) • Various geometric algorithms • Chand and Kapur gift wrapping 1970 JACM • Graham convex hull in 2d 1972 IPL • Forrest computational geometry Proc Royal Soc London 1971 • Hopcroft and Tarjan – graph isomorphism leading to planarity testing

  6. Complexity of Computer Computations • Pivotal Symposium at IBM 1972 • Table of contents summarized • Numerical Computations • Matrix Multiplication, polynomial evaluation, root finding, … • Combinatorial Computations • NP-completeness (original Karp paper) • Planar graph isomorphism (Hopcroft-Tarjan building on planarity testing work) • Panel discussion • Is there an emerging unity in this field? • Are real computations improved as a result of studies in this field? • What should the field be called? • Computational complexity (had been taken) • Theory of Algorithms • Concrete computational complexity

  7. My Background in 1973 • Grad student at Harvard • Optimal control theory (a la NASA moon launches)  applied math  theoretical computer science (sort of) • Thesis topic – lower bounds for matrix multiplication • Arithmetic complexity • Applied linear algebra • Computer science courses • Automata theory • Formal language theory • Numerical analysis • A half course in FORTRAN

  8. My first publications • STOC 1973 “On the optimal evaluation of a set of bilinear forms” joint w Brockett • Was sufficient to get me a job • FOCS 1973 “On the optimal evaluation of a set of N-linear forms” • Presented when I was already at my job • One or two presentations at workshops without proceedings pre-PhD

  9. Yale in 1973 • Computer science department started in 1969 • Hired 3 new assistant professors in 1973 • Dpd • Dick Lipton • Larry Snyder • Also, Stan Eisenstat had been hired a year or two earlier • Graduate students • Had just graduated their first PhDs. • 2nd year class was strong • 1st year class was non-existent • Was a wonderful intellectual environment

  10. Looking at algorithms • Aho, Hopcroft, Ullman book appeared in 1974 • First plausible text • Didn’t mention geometric problems • Knuth volume 2 (arithmetic), volume 3 (sorting and searching) were not textbooks but encyclopedias • The literature was limited • The population was small • All of theoretical computer science had fewer people than computational geometry did 15 years ago.

  11. On Some Generalizations of Binary Search Dobkin-Lipton STOC 1974 • Arose from discussions of NP-completeness • Finding if points were on hyperplanes • Generalizations to enumeration methods for solving NP-complete problems. • Used a crude form of visualization • Led to discussions of the post office problem which was in Knuth V3. Solution in O(log n) time after O(n4 log n) preprocessing and usingO(n4)storage • Algorithms that used preprocessing barely mentioned preprocessing • Never mentions cost in time or space of preprocessing

  12. Main results

  13. Meanwhile • Mike Shamos (grad student at Yale) begins to catalog problems • All geometric calculations in the plane • Many having an OR flavor • Basic structures • Characterizing point sets • Nearest neighbors • Farthest pair • Convex hull • Characterizing polygons • Convex hull • Convex kernels • intersections • Creating circles • Largest empty circle • Smallest empty circle • Shamos circulated copies of his problem book • Shamos and Hoey set about to solve many of the problems • First step towards creating the field

  14. Spring 1975 • Geometric Complexity by Shamos at STOC • Paper and Shamos’ presentation raised interest in the subject • On the Complexity of Computations under Varying Sets of Primitives by Lipton and Dobkin

  15. Geometric Complexity by Shamos • Solved many of the previously stated problems • Separability of planar point sets • Diameter of a set of point sin the plane • Point in convex polygon • Intersection of convex polygons • Kernel of a convex polygon • Mentioned Voronoi diagram by name and suggested that an O(n log n) algorithm was possible

  16. On the Complexity of Computations under Varying Sets of Primitives • First of a series of papers to discuss lower bounds • Linear search trees require log n time to differentiate among n convex regions • Solving the knapsack problem in a linear search tree requires at least O(n2) queries • Element uniqueness requires at least O(n log n) queries. • Given {x1,…,xn} determining if there exist j,k such that xj+xk = 1 requires O(n log n) time.

  17. State of the CG world in 1976 • Voronoi diagram and Delaunay triangulation were known • Lower bound methods based on search trees existed • Algorithms for all but the most basic problems were complex or non-existent. • CG had established itself as existing in the STOC/FOCS world though the number of papers being submitted and/or accepted was small.

  18. CG had established itself as existing in the STOC/FOCS world • Might it have been different? • Numerical analysis world • The algorithms had a numeric flavor and were similar to graph algorithms being used for sparse matrix computations. • Solid modeling world • Robin Forrest had already used the phrase computational geometry • The Office of Naval Research began to fund computational geometry (through their NA program) encouraging work with Robin. • Computer graphics world • Warnock (1969) and Watkins (1970) had produced hidden surface algorithms with computational geometry flavors. • Computer vision world • Bruce Baumgart (1975) had introduced the winged edge data structure • Discrete geometry world • Goodman and Pollack were beginning work

  19. Why did Computational Geometry survive? • Arithmetic complexity came in the 1960’s and lasted about a decade • Initial buzz was the same as CG • Problem domain seemed (at first) to be as robust • Differences • Everyone likes geometry • Shamos problem collection laid out a number of easy to state, often hard to solve problems • There were applications in the background • There were foundational questions here that spurred work • The techniques were attractive • Data structures • Connections to graph algorithms • Many of the problems were solvable

  20. What else was being published and where? • Papers in 1975 relating to • Image Processing • Graphics • Solid Modeling • Combinatorial Geometry • Bentley et al wrote a sequence of papers on nearest neighbor searching • Fixed radius • Varying metric • K-D trees • None of these (except for solid modeling which owned the title) thought of themselves as computational geometry

  21. But, community began to grow • Lee and Preparata (1976 STOC) on planar point location • Improved O(log n) with quadratic preprocessing to O((log n)2) with O(n log n) preprocessing time and linear space. • Bentley-Ottmann paper on sweep lines built on work in Shamos Hoey • Lipton-Tarjan planar separator theorem • Goodman and Pollack on geometric sorting

  22. Why did computational geometry thrive in its first decade? • Mike Shamos gave inspirational talks about the field and circulated problems for others to work on. • Ron Graham created many connections • Brought discrete and computational geometry together • Brokered a deal whereby Franco Preparata wrote the book from Shamos’ thesis • Joe O’Rourke create SOCG 1 • A wonderful gathering of like-minded people • Inspired SOCG 2 • Modeled on STOC/FOCS with addition of invited speakers • Almost involved a name change

  23. From 1978 to the present • Tracing one set of ideas • Planar subdivision searching • Polyhedral intersection • Initial theoretical questions • Connections, solutions and refinements • Extensions to other fields

  24. Planar subdivision searching • Lipton-Tarjan (1978) came up with an algorithm which showed in theory that optimality was possible • O(n log n) preprocessing • O(n) storage • O(log n) search time • Kirkpatrick (1983) refined this to a practical algorithm that met these bounds

  25. Planar subdivision

  26. Find independent set of vertices

  27. Color them

  28. Remove vertex with context and record color

  29. Remove vertex with context and record color

  30. Remove vertex with context and record color

  31. Remove vertex with context and record color

  32. Retriangulate the holes keeping colors

  33. Label triangles

  34. Result • Result is a hierarchy of planar subdivisions • All fully triangulated • Each one a fraction of the size of the one above • So, logarithmic number of levels • Technical detail • Only remove vertices of low (say less than 12) degree • So, local search can be done in constant time

  35. Point location • Locate at the base – determine color of triangle • If original triangle – done • Else – • Grow the local region up one level (based on color) • Determine color of triangle • Logarithmic number of levels • Constant cost per level

  36. Polyhedral intersection • Start with 2 convex polygons • Intersection can be computed in linear time and this is optimal since output may be linear in size (Shamos 1975) • Algorithm traces about both polygons to do a merge (of what are essentially sorted lists of vertices) • If we only want a YES (here is a point of the intersection) or NO (here is a separating line) answer, this can be done in O(log n) time after linear preprocessing (separately for each polygon) (Chazelle and DPD 1980). • Reduce the possible intersections to a quadrilateral (in which might lie many edges of each polygon) and do a logarithmic merge

  37. But … • The hierarchical approach to planar subdivision also works for convex polyhedra • A polyhedron is just a 2-manifold • Steinitz’s Theorem • A graph G is the edge graph of a polyhedron iff G is a simple planar graph which is 3-connected. • Have to deal with the infinite face • Have to patch holes by triangulation as was done in the plane

  38. Simple applications • Can test whether a point lies in a convex polyhedron in O(log n) time after linear preprocessing (if adjacencies to vertices are given in sorted order) • Dually can test whether a plane intersects a convex polyhedron in O(log n) time after linear preprocessing

  39. Next step • Can we apply hierarchies to polygons/polyhedra to make intersection detection easier? • First approach – use shadows • A polygon is the intersection of 2 open semi-infinite polygons • P = PL PR ; Q = QL QR • Similarly deconstruct a polyhedron into drums (2.5 dimensional structures) and iterate on drums • Ultimately • Use the full hierarchy to find separation and grow across separation at each iteration.

  40. Once the algorithm is clear • Implement it • Visualize it (w/ Tal) • Extend it • In theoretical terms • To non-linear faces (w/ Souvaine) • To penetration depth (w/Hershberger, Kirkpatrick, Suri) • In practical terms • To non-convex polyhedra (Meshes) (w/ Lee, Schroeder, Sweldems, Cowsar) for applications • Remeshing • Parameterization • Morphing

  41. Visualization of the hierarchy

  42. Visualization of the intersection algorithm

  43. Extension to arbitrary meshes • Lee, Schroeder, Sweldems, Cowsar, DPD, SIGGRAPH 98 • Used for mesh simplification • Can preserve features • Can often operate on base domain • Simplify fine to coarse • Operate on coarse • Translate to fine • Can reparameterize a mesh in more uniform fashion

  44. Mesh Simplification • Build hierarchy independent set removal retriangulation

  45. feature preserving approximation original no feature preservation May want to preserve features

  46. Mesh hierarchy • Create base domain by mesh simplification 11776 faces 120 faces

More Related