710 likes | 817 Views
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
E N D
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 • Trans-Atlantic communication was by letters with stamps • No • Euros • PCs • Cellphones (or wireless phones) • Email • Color monitors
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)
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
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
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
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
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
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
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.
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
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
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
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
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.
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.
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
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
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
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
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
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
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
Remove vertex with context and record color
Remove vertex with context and record color
Remove vertex with context and record color
Remove vertex with context and record color
Retriangulate the holes keeping colors
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
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
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
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
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
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.
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
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
Mesh Simplification • Build hierarchy independent set removal retriangulation
feature preserving approximation original no feature preservation May want to preserve features
Mesh hierarchy • Create base domain by mesh simplification 11776 faces 120 faces