Computational Geometry The study of algorithms for combinatorial, topological, and metric problems concerning sets of points, typically in Euclidean space. Representative areas of research include geometric search, convexity, proximity, intersection, and linear programming. Online Computing Dictionary 1 CS691G Computational Geometry - UMass Amherst Discrete Geometry Covering Tiling Packing 2 CS691G Computational Geometry - UMass Amherst Video Games 3 CS691G Computational Geometry - UMass Amherst What we saw… • • • • Walking through large model Collisions Dynamic simulation (Compare with automated movie generation) 4 CS691G Computational Geometry - UMass Amherst What to look for… • • • • Algorithms Complexity Data structures Geometric primitives 5 CS691G Computational Geometry - UMass Amherst Proximity Queries 6 CS691G Computational Geometry - UMass Amherst Dynamic Simulation 7 CS691G Computational Geometry - UMass Amherst Dynamic Simulation 8 CS691G Computational Geometry - UMass Amherst Multi-Player Games 9 CS691G Computational Geometry - UMass Amherst Multi-Player Games • Some players might be computer generated (animations) • Distributed state representation 10 CS691G Computational Geometry - UMass Amherst Motion Planning 11 CS691G Computational Geometry - UMass Amherst Kinetic Data Structures 12 CS691G Computational Geometry - UMass Amherst The Post Office Problem • Which is the closest post office to every house? (Don Knuth) • Given n sites in the plane • Subdivision of plane based on proximity Georgy Voronoi 1868-1908 13 CS691G Computational Geometry - UMass Amherst Voronoi Diagram 14 CS691G Computational Geometry - UMass Amherst Descartes in 1644: Gravitational Influence of stars René Descartes 1596-1650 15 CS691G Computational Geometry - UMass Amherst Distribution of McDonalds in SF 16 CS691G Computational Geometry - UMass Amherst Soap Bubble in a Frame 17 CS691G Computational Geometry - UMass Amherst Honeycomb 18 CS691G Computational Geometry - UMass Amherst Dragonfly’s Wing 19 CS691G Computational Geometry - UMass Amherst Graphic by D'Arcy Thompson 20 CS691G Computational Geometry - UMass Amherst Installation by Scott Snibbe, 1998 21 CS691G Computational Geometry - UMass Amherst Uses for Voronoi Diagram • Anthropology and Archeology -- Identify the parts of a region under the influence of different Neolithic clans, chiefdoms, ceremonial centers, or hill forts. • Astronomy -- Identify clusters of stars and clusters of galaxies (Here we saw what may be the earliest picture of a Voronoi diagram, drawn by Descartes in 1644, where the regions described the regions of gravitational influence of the sun and other stars.) • Biology, Ecology, Forestry -- Model and analyze plant competition ("Area potentially available to a tree", "Plant polygons") • Cartography -- Piece together satellite photographs into large "mosaic" maps • Crystallography and Chemistry -- Study chemical properties of metallic sodium ("Wigner-Seitz regions"); Modelling alloy structures as sphere packings ("Domain of an atom") • Finite Element Analysis -- Generating finite element meshes which avoid small angles • Geography -- Analyzing patterns of urban settlements • Geology -- Estimation of ore reserves in a deposit using information obtained from bore holes; modelling crack patterns in basalt due to contraction on cooling • Geometric Modeling -- Finding "good" triangulations of 3D surfaces • Marketing -- Model market of US metropolitan areas; market area extending down to individual retail stores • Mathematics -- Study of positive definite quadratic forms ("Dirichlet tessellation", "Voronoi diagram") • Metallurgy -- Modelling "grain growth" in metal films • Meteorology -- Estimate regional rainfall averages, given data at discrete rain gauges ("Thiessen polygons") • Pattern Recognition -- Find simple descriptors for shapes that extract 1D characterizations from 2D shapes ("Medial axis" or "skeleton" of a contour) • Physiology -- Analysis of capillary distribution in cross-sections of muscle tissue to compute oxygen transport ("Capillary domains") • Robotics -- Path planning in the presence of obstacles • Statistics and Data Analysis -- Analyze statistical clustering ("Natural neighbors" interpolation) • Zoology -- Model and analyze the territories of animals 22 CS691G Computational Geometry - UMass Amherst Voronoi Graph • Voronoi region Vor(p) (p in set S) – the set of points on the plane that are closer to p than to any othe rpoint in S • Voronoi Graph VOR(S) – dual to voronoi region graph – two points are adjacent if their voronoi regions have common contiguous boundary (segment) 23 CS691G Computational Geometry - UMass Amherst Voronoi Graph • Voronoi Graph in the rectilinear plane • Rectilinear distance: p = (x, y); p’=(x’,y’) Voronoi region of b ab b a bc c ac 24 CS691G Computational Geometry - UMass Amherst THEOREM: For any set S of points in the plane, MST is subgraph of the Voronoi Graph VG(S) PROOF Let an edge XY between two points X and Y does not belong to the Voronoi graph VG(S). We will show that there is an X-Ypath in VG(S) which contains edges e1, e2,…,ek each shorter than XY, this will imply that XY not belong to MST. Indeed, for each edge eI (I=1,…,k) there is an MST path pI connecting ends of eI consisting of MST edges each no longer than eI. The path obtained by concatenating paths p1,…,pk connects X to Y and contains MST edges each shorter than XY. Thus XY does not belong to MST. Now we will find such X-Y-path e1, e2,…,ek in VG(S) 25 CS691G Computational Geometry - UMass Amherst Delaunay Triangulation (1934) Boris Nikolaevich Delone (1890 - 1980) Dual of Voronoi (graph theoretic, topological, combinatorial) 26 CS691G Computational Geometry - UMass Amherst Delaunay Triangulation Properties • maximizes minimum angle in each triangle • minimizes maximum radius of circumcircle and enclosing circle • minimizes sum of inscribed radii • many more… 27 CS691G Computational Geometry - UMass Amherst Finite Element Analysis 28 CS691G Computational Geometry - UMass Amherst