1 Proximity via Graph Spanners

Size: px
Start display at page:

Download "1 Proximity via Graph Spanners"

Transcription

1 CS273: Algorithms for Structure Handout # 11 and Motion in Biology Stanford University Tuesday, 4 May 2003 Lecture #11: 4 May 2004 Topics: Proximity via Graph Spanners Geometric Models of Molecules, I Scribe: David Lowsky Note: This is a two-part lecture. 1 Proximity via Graph Spanners 1.1 Introduction In order to simulate molecular interaction forces, it is important to be able to maintain information about proximity between atoms as the position and shape of the molecule changes. Most interaction forces occur are close range, when atoms are 10-20Å apart, and beyond that threshold distance there is effectively zero force. In any basic model of proximity detection, it is necessary to express objects as a collection of elements of the same size and shape. A black box integrator moves the elements each iteration, and upon wake up the proximity information must be updated. This scenario, in which all element positions may be updated in a given iteration, is different from Monte Carlo simulation in which only a few of the positions are updated per iteration. The crucial question then becomes: What do you want to maintain? Is there some way to maintain the proximity information that is simpler and more computationally tractable than an exhaustive neighbor list? Can we store something that captures proximity information that enables fast queries but which will not change too much as the positions of atoms change? (This is referred to as the Faustian Dilemma. ) 1.2 Traditional methods Hashed Voxel Grids One traditional method to maintain proximity information is using a voxel grid. The molecular space is partitioned into a grid of voxels and each atom is assigned to the voxel where it lies. To find an atom s neighbors, the adjacent voxels are searched. A hashtable is used to store only non-empty voxels since many voxels will not contain any atoms. Because rehashing is required when proximity information is desired, the voxel grid method works well once folding has reached its endgame and atoms motion is limited, but is inefficient in the early stages where atoms move a lot between cells. Additionally, efficiency is highly dependent on choosing the right grid size.

2 2 CS273: Handout # Bounding Volume Hierarchies Another method to maintain proximity information is Bounding Volume Hierarchies. BVH have been used successfully to detect collisions between rigid objects. However when objects deform, the hierarchy must be updated upon each deformation which becomes computationally demanding. The additional drawbacks of hierarchies are that they use significant space and require recursive traversal of the hierarchy. 1.3 Geometric Spanners Introduction Geometric spanners enable efficient proximity computation between elements of a deformable structure by replacing expensive geometric search with a lightweight combinatorial graph search. Originally devised for use in communications networks, spanners can be applied to proximity computation between atoms of a deformable molecule. While the field of graph spanners is old and the literature is substantial, this is a unique approach to building spanners that are efficiently maintainable throughout motion of its elements Definition Let G be a full Euclidean graph. An α-spanner is a sparse subgraph G of graph G that approximates true distance, where the shortest path distance in G between two particular nodes is at most α times that of the equivalent shortest path in G. α is known as the spanning ratio. The aspect ratio (G) of graph G is the ratio of the longest distance between any two points in G to the shortest distance between any two points. This ratio is polynomial in the number of nodes in G Proximity queries To find all neighbors of a node u that lie within Euclidean distance d in G, simply traverse the α-spanner G from node u to all nodes up to a distance α d Spanner construction The spanner construction is based on the concept of discrete centers. Given a set of points, the discrete centers of radius r are samplings from the original point set such that every point is within a distance of r from some discrete center, and that no two discrete centers are within a distance of r of each other. Note that a point may be within a distance of r from many centers. We select an arbitrary but fixed center and call it the parent of the point. Assuming that the minimum separation distance between the points is 1, we construct a hierarchy of discrete centers as follows. The bottom level, level 0, is the original point

3 CS273: Handout # 11 3 Figure 1: 1st level centers. Figure 2: 1st level with parent-child relationships drawn. Figure 3: 2nd level centers. Figure 4: Top level centers. Figure 5: 2nd level spanner edges. Figure 6: Parent chain from 1st level node to top level center. set. Given level i 1, level i is simply a set of discrete centers of radius 2 i of the points in level i 1. We add all the parent-child edges in the hierarchy, and also, in each level i, add all center-center edges of length at most c 2 i to graph G, where c = /ɛ.

4 4 CS273: Handout # Parent chain Because all parent-child edges are contained in G, a node p is connected to its ancestor at level i by the parent chain whose total length is 2 i+1. The total path from p to its i-level ancestor is the sum of the intermediate paths between levels: Spanner theorem P ath(p, ancestor) i 2 i+1 The Spanner theorem states that G is a (1 + ɛ)-spanner, where ɛ = 16. Stated another (c 4) way, there exists a path in G between any two points p and q with length at most (1 + ɛ) pq. This theorem is proven as follows (see Figure 7): pq > p i 1 q i i > c 2 i i > c 2 i i 1 > (c 4) 2 i 1 pq c 4 > 2i 1 pq > p i q i 4 2 i pq i > p i q i path(p, q) p i q i i pq i i pq i pq i 1 pq + 16 c 4 pq pq + ɛ pq < (1 + ɛ) pq Maintenance As atoms in a molecule move around, the graph spanner must be modified to reflect the new atom positions. There are four main types of maintenance that must be performed:

5 CS273: Handout # 11 5 Figure 7: Diagram of distances between two nodes. Maintaining parent-child edges 1. Node promotion 2. Node demotion Maintaining within-level spanner edges 3. Edge deletion 4. Edge insertion Node promotion Imagine a node was previously the child of an existing center, but then it moves so that it is no longer within a distance r of that center, and furthermore its new position is not within r of any other existing center. Then this node must be promoted to be a new independent center. Node demotion Imagine a node was previously a center, but then it drifts to a new location within radius r of another existing center. Since no two centers can lie within a distance r of each other, the node must be demoted to a child of the other center. This may have the secondary effect of requiring other nodes that were previously children to this node to be promoted to independent centers, as shown below, or they may become children of other centers. Edge deletion Imagine two level i centers are connected by a spanner edge of level i. Then one of the centers drifts away so that the new distance between the centers exceeds c 2 i. Then this spanner edge must be deleted from G. Edge insertion Imagine two level i centers are unconnected, but in a subsequent iteration they move to within c 2 i of each other. Then a spanner edge that connects them must be added to G. Note that there are potentially quadratically many number of pairs of points in level i that are more than c 2 i apart, and we cannot afford to

6 6 CS273: Handout # 11 Figure 8: Node promotion: Initially a child node; upon leaving parent s radius, node is promoted. Figure 9: Node demotion: Initially a center node; upon entering another center s radius, node is demoted to child and it s previous children become centers. Figure 10: Edge deletion: When a center strays too far from another center, the edge connecting them is removed.

7 CS273: Handout # 11 7 Figure 11: Edge insertion: When a center approaches within a distance c 2 i of another center, a connecting edge is added. check them all at every step. Luckily, it is sufficient to only consider cousin pairs when searching for new required spanner edges. It can be shown that before two nodes are connected, their parents must already be connected Spanner quality and running time The spanner contains O(n) edges total and O(log n) edges per node, and the hierarchy of the spanner has log (G) = O(log n) levels. Node insertion and deletion take O(log n) time. Initial construction takes O(n log n) time, since n nodes are inserted at O(log n) time each. The total number of maintenance changes that the spanner will incur is O(n 2 log n), when the nodes follow semi-algebraic trajectories Performance During performance tests that simulated molecular motion, the geometric spanner underwent few changes. Only 2-4% of spanner edges changed between frames, and most of these changes occurred at the lowest levels in the spanner hierarchy. High-level edges rarely changed. Each frame represented 100 molecular dynamic steps. When changes in atom position require that the spanner be repaired, a repair algorithm is invoked. However repairs do not necessarily have to occur after every frame. The number of frames between calls to the repair algorithm can be set to minimize unnecessary changes and to improve efficiency. Additionally, nodes in the higher levels of the hierarchy may be checked less frequently than those in the lower levels. Updates can be made even more efficient when specific information is known about the physics of the molecular interactions, e.g. knowledge of an upper bound on how fast atoms can move.

8 8 CS273: Handout # Capabilities The following are additional capabilities of the geometric spanner. Neighbor lists To find all neighbors of a node p that lie within Euclidean distance d in G, simply traverse the (1 + ɛ)-spanner from node p to all nodes up to a distance (1 + ɛ)d in the spanner. Since this may have netted some additional nodes that are not within Euclidean distance d of p, these nodes must be filtered out. The cost of the entire procedure is O(n + k), where k is the number of neighbors found. Approximate nearest neighbor The spanner can return an approximate nearest neighbor even faster. Given a node p, the spanner can return some neighbor q that lies within (1 + ɛ) times the distance of the true nearest neighbor q: pq (1 + ɛ) pq. This is accomplished by inserting p into the spanner, then taking its shortest edge. The running time of this procedure is O(log n). Well-separated pair decomposition The spanner can produce a well-separated pair decomposition of the element atoms, which allows the interactions between the atoms to be partitioned into clusters. This is useful when approximating molecular forces as a series of dipole interactions. Each cluster represents the sum of forces of all its atoms and contributes a single net force to the system. Geometric k-centers In addition, the spanner can produce an 8-approximation of the optimal k-center of a collection of points. 1.4 Summary The geometric spanner is a one-stop shopping data structure for proximity information involving elements under motion. It translates a costly geometric search algorithm into an efficient combinatorial algorithm. While it appears that the element positions may be changing drastically, the geometric spanner demonstrates that it is possible to maintain proximity information with a data structure that changes minimally. 2 Geometric Models of Molecules 2.1 Overview: Space-filling diagrams Space-filling diagrams are used to model the space occupied by a molecule. The following models for molecular surface are examined: - van der Walls surface - solvent accessible surface - molecular (Connolly) surface

9 CS273: Handout # 11 9 Figure 12: Left: Van der Waals surface. Right: The outer surface is the solvent accessible surface after fattening, while the inner surface is the molecular surface. 2.2 Union of disks: van der Waals surface Union of disks is a simple model for the surface of a molecule. Given a set B of n disks, each disk b i = z i, r i where z i is the 2-D coordinate of the disk center and r i is the disk radius, the space filling diagram is the union of the disks. If r i is the van der Waals radii, the union of disks produces the van der Waals surface. 2-D Unions of Disks have linear complexity in the number of disks. 2.3 Fattened disks: Solvent accessible surface Fattened disks add an offset r to each disk radius, thereby fattening the outer surface of the molecule. Once fattened, a disk may be rolled along the fattened disk to remove a thin outside layer. However because the rolled disk is round and cannot penetrate sharp crevices, some of the fattened material will remain which has the effect of filling in these crevices in the original van der Waals surface. The outer surface represents the solvent accessible surface, while the inner layer is the molecular or Connolly surface. The advantage of the molecular surface is that it appears smoother and avoids many of the crevices of the van der Waals surface. However even the molecular surface may contain crevices that are unreachable by water molecules. One solution to this problem is to allow surfaces of atoms to intersect themselves, although this is usually not ideal because it creates unusual shapes. 2.4 Molecular sphere model The molecular sphere model is the 3-D version of the molecular surface model. It takes a union of spheres, fattens the spheres, then cuts out excess material from the resulting

10 10 CS273: Handout # 11 Figure 13: Left: van der Waals surface. Right: Molecular sphere model. molecule by rolling a sphere along the surface. The molecular sphere model has a smooth, appealing shape. In the worse case, when the balls vary greatly in radius, the complexity of a molecular model surface is quadratic in the number of balls. In certain scenarios, a hole penetrates through a molecule, but it is not large enough at some point to allow a water molecule to pass all the way through, e.g. the tunnel in the middle of a Gramicidin molecule. 2.5 Ball growth processes To model molecules of different sizes, a Voronoi diagram can be used, where each Voronoi cell in the diagram represents all points in the molecule that are closest to a particular atom A. The bisector surfaces between Voronoi cells are hyperboloids. Specifically: - Distance to ball d i (x) = x z i r i - Voronoi cell C i = {x R 3 d i (x) d j (x), j} - Bisector surfaces x z i x z j = r j r i As the balls are fattened, the diagram will change combinatorially. 2.6 Power distance Another way to model molecular growth is to allow each ball to grow at a different rate, where at time t, the i-th ball grows to radius ri 2 + t. In this case, larger balls grow

11 CS273: Handout # Figure 14: When large and small spheres are separated, equipower line lies between them. When the small sphere moves into the large sphere, equipower line lies to the side of both spheres. more slowly than small balls. For a point in space, the power distance takes the distance to the center of an atom squared, minus the radius of the atom squared, and therefore represents the distance to the tangent of the atom: Power distance = π i (x) = x z i 2 r i 2 An equipower line is the loci of all points that have the same power distance between two balls, and therefore divide two cells in the power diagram. When a small atom intersects with a large sphere, the equipower line will lie outside both atoms, whereas if the small sphere moves outsides the large sphere, the equipower line moves between them. This is illustrated in Figure Power Diagrams and Delaunay Triangulations Power diagrams are Voronoi diagrams in which the cells are defined by power distance. Each cell contains all points whose power distance to the disk in the cell is higher than to any other disk. The primary advantage of using power distance rather than standard distance is that the equipower lines are planes and not the more complex hyperboloids as in the Voronoi diagram above. Theoretically there may be disks in a power diagram with no associated cell. For example, this will occur when two disks share the same center. In this case, any point is closer to the larger disk than the small disk, so the small disk will have no points in the power diagram. A Delaunay Triangulation is a structure which connects each pair of atom centers in the power diagram whose cells are adjacent to each other.

12 12 CS273: Handout # 11 Figure 15: Left: Voronoi diagram with hyperboloid bisectors. Right: Power diagram with straight line bisectors. Figure 16: Delaunay Triangulation. Figure 17: Illustration of orthosphere. 2.8 Orthospheres Two balls b i = z i, r i and b j = z j, r j are orthogonal when the power distance between them is 0: π ij = 0. When this occurs, the intersecting tangents between the two balls intersect at a right angle. When the intersecting tangents between the two balls occurs at an angle less than 90, they are said to be less than orthogonal, while when the angle is greater than 90, they are said to be more than orthogonal. An orthosphere is a sphere that is centered on a Voronoi vertex and orthogonal to all the balls defining the Voronoi vertex. That is, it is orthogonal to all balls whose cells are adjacent to that vertex. Additionally, an orthosphere is less than orthogonal to all other spheres in the Voronoi diagram.

13 CS273: Handout # References [1] H. Edelsbrunner. CPS Lecture Notes: Bio-Geometric Modeling. [2] J. Gao, L. J. Guibas, and A. Nguyen. Deformable Spanners and Applications. To appear in Symposium on Computational Geometry, 2004.

Deformable Spanners and Applications

Deformable Spanners and Applications Deformable Spanners and Applications Jie Gao Leonidas J. Guibas An Nguyen July 1, 2004 Abstract For a set S of points in R d,ans-spanner is a graph on S such that any pair of points is connected via some

More information

Deformable Spanners and Applications

Deformable Spanners and Applications Deformable Spanners and Applications Jie Gao Leonidas J. Guibas An Nguyen ABSTRACT For a set S of points in R d,ans-spanner is a graph on S such that any pair of points is connected via some path in the

More information

Distributed Proximity Maintenance in Ad Hoc Mobile Networks

Distributed Proximity Maintenance in Ad Hoc Mobile Networks Distributed Proximity Maintenance in Ad Hoc Mobile Networks Jie Gao Leonidas J. Guibas An Nguyen April 14, 2005 Abstract We present an efficient distributed data structure, called the D-SPANNER, for maintaining

More information

1 The range query problem

1 The range query problem CS268: Geometric Algorithms Handout #12 Design and Analysis Original Handout #12 Stanford University Thursday, 19 May 1994 Original Lecture #12: Thursday, May 19, 1994 Topics: Range Searching with Partition

More information

Computational Geometry

Computational Geometry Lecture 12: Lecture 12: Motivation: Terrains by interpolation To build a model of the terrain surface, we can start with a number of sample points where we know the height. Lecture 12: Motivation: Terrains

More information

Geometric Computations for Simulation

Geometric Computations for Simulation 1 Geometric Computations for Simulation David E. Johnson I. INTRODUCTION A static virtual world would be boring and unlikely to draw in a user enough to create a sense of immersion. Simulation allows things

More information

Kinetic Mesh Refinement in 2D

Kinetic Mesh Refinement in 2D Kinetic Mesh Refinement in D Umut A. Acar Max Planck Institute for Software Systems Germany umut@mpi-sws.org Benoît Hudson Autodesk, Inc. Montréal, QC, Canada benoit.hudson@autodesk.com Duru Türkoğlu Dept.

More information

66 III Complexes. R p (r) }.

66 III Complexes. R p (r) }. 66 III Complexes III.4 Alpha Complexes In this section, we use a radius constraint to introduce a family of subcomplexes of the Delaunay complex. These complexes are similar to the Čech complexes but differ

More information

On the data structures and algorithms for contact detection in granular media (DEM) V. Ogarko, May 2010, P2C course

On the data structures and algorithms for contact detection in granular media (DEM) V. Ogarko, May 2010, P2C course On the data structures and algorithms for contact detection in granular media (DEM) V. Ogarko, May 2010, P2C course Discrete element method (DEM) Single particle Challenges: -performance O(N) (with low

More information

Balanced Box-Decomposition trees for Approximate nearest-neighbor. Manos Thanos (MPLA) Ioannis Emiris (Dept Informatics) Computational Geometry

Balanced Box-Decomposition trees for Approximate nearest-neighbor. Manos Thanos (MPLA) Ioannis Emiris (Dept Informatics) Computational Geometry Balanced Box-Decomposition trees for Approximate nearest-neighbor 11 Manos Thanos (MPLA) Ioannis Emiris (Dept Informatics) Computational Geometry Nearest Neighbor A set S of n points is given in some metric

More information

Molecular Shapes and Surfaces *

Molecular Shapes and Surfaces * OpenStax-CNX module: m11616 1 Molecular Shapes and Surfaces * Lydia E. Kavraki This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 1.0 Topics in this Module

More information

CS 532: 3D Computer Vision 14 th Set of Notes

CS 532: 3D Computer Vision 14 th Set of Notes 1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating

More information

Lecture 11 Combinatorial Planning: In the Plane

Lecture 11 Combinatorial Planning: In the Plane CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University Lecture 11 Combinatorial Planning: In the Plane Instructor: Jingjin Yu Outline Convex shapes, revisited Combinatorial planning

More information

Week 8 Voronoi Diagrams

Week 8 Voronoi Diagrams 1 Week 8 Voronoi Diagrams 2 Voronoi Diagram Very important problem in Comp. Geo. Discussed back in 1850 by Dirichlet Published in a paper by Voronoi in 1908 3 Voronoi Diagram Fire observation towers: an

More information

Approximate Nearest Neighbor Problem: Improving Query Time CS468, 10/9/2006

Approximate Nearest Neighbor Problem: Improving Query Time CS468, 10/9/2006 Approximate Nearest Neighbor Problem: Improving Query Time CS468, 10/9/2006 Outline Reducing the constant from O ( ɛ d) to O ( ɛ (d 1)/2) in uery time Need to know ɛ ahead of time Preprocessing time and

More information

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill Collision Detection These slides are mainly from Ming Lin s course notes at UNC Chapel Hill http://www.cs.unc.edu/~lin/comp259-s06/ Computer Animation ILE5030 Computer Animation and Special Effects 2 Haptic

More information

Correctness. The Powercrust Algorithm for Surface Reconstruction. Correctness. Correctness. Delaunay Triangulation. Tools - Voronoi Diagram

Correctness. The Powercrust Algorithm for Surface Reconstruction. Correctness. Correctness. Delaunay Triangulation. Tools - Voronoi Diagram Correctness The Powercrust Algorithm for Surface Reconstruction Nina Amenta Sunghee Choi Ravi Kolluri University of Texas at Austin Boundary of a solid Close to original surface Homeomorphic to original

More information

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text Voronoi Diagrams in the Plane Chapter 5 of O Rourke text Chapter 7 and 9 of course text Voronoi Diagrams As important as convex hulls Captures the neighborhood (proximity) information of geometric objects

More information

1. Meshes. D7013E Lecture 14

1. Meshes. D7013E Lecture 14 D7013E Lecture 14 Quadtrees Mesh Generation 1. Meshes Input: Components in the form of disjoint polygonal objects Integer coordinates, 0, 45, 90, or 135 angles Output: A triangular mesh Conforming: A triangle

More information

Distributed Proximity Maintenance in Ad Hoc Mobile Networks

Distributed Proximity Maintenance in Ad Hoc Mobile Networks Distributed Proximity Maintenance in Ad Hoc Mobile Networks Jie Gao 1, Leonidas J. Guibas 2, and An Nguyen 2 1 Center for the Mathematics of Information, California Institute of Technology, Pasadena, CA

More information

Molecular Surface Representation

Molecular Surface Representation Molecular Surface Representation Applications to docking 1 Motivation Studies of protein folding (Lee and Richards). Prediction of biomolecular recognition. Detection of drug binding cavities. Molecular

More information

Computer Graphics Ray Casting. Matthias Teschner

Computer Graphics Ray Casting. Matthias Teschner Computer Graphics Ray Casting Matthias Teschner Outline Context Implicit surfaces Parametric surfaces Combined objects Triangles Axis-aligned boxes Iso-surfaces in grids Summary University of Freiburg

More information

Course 16 Geometric Data Structures for Computer Graphics. Voronoi Diagrams

Course 16 Geometric Data Structures for Computer Graphics. Voronoi Diagrams Course 16 Geometric Data Structures for Computer Graphics Voronoi Diagrams Dr. Elmar Langetepe Institut für Informatik I Universität Bonn Geometric Data Structures for CG July 27 th Voronoi Diagrams San

More information

Divided-and-Conquer for Voronoi Diagrams Revisited. Supervisor: Ben Galehouse Presenter: Xiaoqi Cao

Divided-and-Conquer for Voronoi Diagrams Revisited. Supervisor: Ben Galehouse Presenter: Xiaoqi Cao Divided-and-Conquer for Voronoi Diagrams Revisited Supervisor: Ben Galehouse Presenter: Xiaoqi Cao Outline Introduction Generalized Voronoi Diagram Algorithm for building generalized Voronoi Diagram Applications

More information

Surface Mesh Generation

Surface Mesh Generation Surface Mesh Generation J.-F. Remacle Université catholique de Louvain September 22, 2011 0 3D Model For the description of the mesh generation process, let us consider the CAD model of a propeller presented

More information

Simulations of the quadrilateral-based localization

Simulations of the quadrilateral-based localization Simulations of the quadrilateral-based localization Cluster success rate v.s. node degree. Each plot represents a simulation run. 9/15/05 Jie Gao CSE590-fall05 1 Random deployment Poisson distribution

More information

Networking Sensors, II

Networking Sensors, II Networking Sensors, II Sensing Networking Leonidas Guibas Stanford University Computation CS321 ZG Book, Ch. 3 1 Class Administration Paper presentation preferences due today, by class time Project info

More information

Collision and Proximity Queries

Collision and Proximity Queries Collision and Proximity Queries Dinesh Manocha (based on slides from Ming Lin) COMP790-058 Fall 2013 Geometric Proximity Queries l Given two object, how would you check: If they intersect with each other

More information

Computational Geometry. Definition, Application Areas, and Course Overview

Computational Geometry. Definition, Application Areas, and Course Overview Computational Geometry Definition, Application Areas, and Course Overview Computational Geometry is a subfield of the Design and Analysis of Algorithms Computational Geometry is a subfield of the Design

More information

Computational Geometry for Imprecise Data

Computational Geometry for Imprecise Data Computational Geometry for Imprecise Data November 30, 2008 PDF Version 1 Introduction Computational geometry deals with algorithms on geometric inputs. Historically, geometric algorithms have focused

More information

Separators in High-Genus Near-Planar Graphs

Separators in High-Genus Near-Planar Graphs Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 12-2016 Separators in High-Genus Near-Planar Graphs Juraj Culak jc1789@rit.edu Follow this and additional works

More information

Voronoi Diagram. Xiao-Ming Fu

Voronoi Diagram. Xiao-Ming Fu Voronoi Diagram Xiao-Ming Fu Outlines Introduction Post Office Problem Voronoi Diagram Duality: Delaunay triangulation Centroidal Voronoi tessellations (CVT) Definition Applications Algorithms Outlines

More information

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space Lecturer: Nikolay Atanasov: natanasov@ucsd.edu Teaching Assistants: Tianyu Wang: tiw161@eng.ucsd.edu Yongxi Lu: yol070@eng.ucsd.edu

More information

Definitions. Topology/Geometry of Geodesics. Joseph D. Clinton. SNEC June Magnus J. Wenninger

Definitions. Topology/Geometry of Geodesics. Joseph D. Clinton. SNEC June Magnus J. Wenninger Topology/Geometry of Geodesics Joseph D. Clinton SNEC-04 28-29 June 2003 Magnus J. Wenninger Introduction Definitions Topology Goldberg s polyhedra Classes of Geodesic polyhedra Triangular tessellations

More information

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Lecture 16: Voronoi Diagrams and Fortune s Algorithm contains q changes as a result of the ith insertion. Let P i denote this probability (where the probability is taken over random insertion orders, irrespective of the choice of q). Since q could fall through

More information

10.1 Overview. Section 10.1: Overview. Section 10.2: Procedure for Generating Prisms. Section 10.3: Prism Meshing Options

10.1 Overview. Section 10.1: Overview. Section 10.2: Procedure for Generating Prisms. Section 10.3: Prism Meshing Options Chapter 10. Generating Prisms This chapter describes the automatic and manual procedure for creating prisms in TGrid. It also discusses the solution to some common problems that you may face while creating

More information

Fast marching methods

Fast marching methods 1 Fast marching methods Lecture 3 Alexander & Michael Bronstein tosca.cs.technion.ac.il/book Numerical geometry of non-rigid shapes Stanford University, Winter 2009 Metric discretization 2 Approach I:

More information

Surface Reconstruction. Gianpaolo Palma

Surface Reconstruction. Gianpaolo Palma Surface Reconstruction Gianpaolo Palma Surface reconstruction Input Point cloud With or without normals Examples: multi-view stereo, union of range scan vertices Range scans Each scan is a triangular mesh

More information

The Unified Segment Tree and its Application to the Rectangle Intersection Problem

The Unified Segment Tree and its Application to the Rectangle Intersection Problem CCCG 2013, Waterloo, Ontario, August 10, 2013 The Unified Segment Tree and its Application to the Rectangle Intersection Problem David P. Wagner Abstract In this paper we introduce a variation on the multidimensional

More information

Accelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016

Accelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016 Accelerating Geometric Queries Computer Graphics CMU 15-462/15-662, Fall 2016 Geometric modeling and geometric queries p What point on the mesh is closest to p? What point on the mesh is closest to p?

More information

On Merging Straight Skeletons

On Merging Straight Skeletons On Merging Straight Skeletons Franz Aurenhammer 1 and Michael Steinkogler 2 1 Institute for Theoretical Computer Science, University of Technology, Graz, Austria auren@igi.tugraz.at 2 Institute for Theoretical

More information

Other Voronoi/Delaunay Structures

Other Voronoi/Delaunay Structures Other Voronoi/Delaunay Structures Overview Alpha hulls (a subset of Delaunay graph) Extension of Voronoi Diagrams Convex Hull What is it good for? The bounding region of a point set Not so good for describing

More information

Ray Tracing Acceleration Data Structures

Ray Tracing Acceleration Data Structures Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very time-consuming because of the ray-object intersection calculations. With the brute force method, each ray has

More information

Lecture 3: Art Gallery Problems and Polygon Triangulation

Lecture 3: Art Gallery Problems and Polygon Triangulation EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified

More information

CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013

CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013 CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013 Reading: Today s materials is presented in part in Computational Geometry: Algorithms and Applications (3rd

More information

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem Chapter 8 Voronoi Diagrams 8.1 Post Oce Problem Suppose there are n post oces p 1,... p n in a city. Someone who is located at a position q within the city would like to know which post oce is closest

More information

Computing the Betti Numbers of Arrangements. Saugata Basu School of Mathematics & College of Computing Georgia Institute of Technology.

Computing the Betti Numbers of Arrangements. Saugata Basu School of Mathematics & College of Computing Georgia Institute of Technology. 1 Computing the Betti Numbers of Arrangements Saugata Basu School of Mathematics & College of Computing Georgia Institute of Technology. 2 Arrangements in Computational Geometry An arrangement in R k is

More information

Lecture 4: Geometric Algorithms (Convex Hull, Voronoi diagrams)

Lecture 4: Geometric Algorithms (Convex Hull, Voronoi diagrams) Advanced Algorithms Fall 2015 Lecture 4: Geometric Algorithms (Convex Hull, Voronoi diagrams) Faculty: K.R. Chowdhary : Professor of CS Disclaimer: These notes have not been subjected to the usual scrutiny

More information

CS-235 Computational Geometry

CS-235 Computational Geometry CS-235 Computational Geometry Computer Science Department Fall Quarter 2002. Computational Geometry Study of algorithms for geometric problems. Deals with discrete shapes: points, lines, polyhedra, polygonal

More information

Lesson 05. Mid Phase. Collision Detection

Lesson 05. Mid Phase. Collision Detection Lesson 05 Mid Phase Collision Detection Lecture 05 Outline Problem definition and motivations Generic Bounding Volume Hierarchy (BVH) BVH construction, fitting, overlapping Metrics and Tandem traversal

More information

Triangulation by Ear Clipping

Triangulation by Ear Clipping Triangulation by Ear Clipping David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To

More information

Computational Geometry

Computational Geometry More on Voronoi diagrams 1 Can we move a disc from one location to another amidst obstacles? 2 Since the Voronoi diagram of point sites is locally furthest away from those sites, we can move the disc if

More information

Data Structures for Approximate Proximity and Range Searching

Data Structures for Approximate Proximity and Range Searching Data Structures for Approximate Proximity and Range Searching David M. Mount University of Maryland Joint work with: Sunil Arya (Hong Kong U. of Sci. and Tech) Charis Malamatos (Max Plank Inst.) 1 Introduction

More information

Notes in Computational Geometry Voronoi Diagrams

Notes in Computational Geometry Voronoi Diagrams Notes in Computational Geometry Voronoi Diagrams Prof. Sandeep Sen and Prof. Amit Kumar Indian Institute of Technology, Delhi Voronoi Diagrams In this lecture, we study Voronoi Diagrams, also known as

More information

274 Curves on Surfaces, Lecture 5

274 Curves on Surfaces, Lecture 5 274 Curves on Surfaces, Lecture 5 Dylan Thurston Notes by Qiaochu Yuan Fall 2012 5 Ideal polygons Previously we discussed three models of the hyperbolic plane: the Poincaré disk, the upper half-plane,

More information

Notes on Binary Dumbbell Trees

Notes on Binary Dumbbell Trees Notes on Binary Dumbbell Trees Michiel Smid March 23, 2012 Abstract Dumbbell trees were introduced in [1]. A detailed description of non-binary dumbbell trees appears in Chapter 11 of [3]. These notes

More information

Geometric Computation: Introduction

Geometric Computation: Introduction : Introduction Piotr Indyk Welcome to 6.838! Overview and goals Course Information Syllabus 2D Convex hull Signup sheet Geometric computation occurs everywhere: Geographic Information Systems (GIS): nearest

More information

Kurt Mehlhorn, MPI für Informatik. Curve and Surface Reconstruction p.1/25

Kurt Mehlhorn, MPI für Informatik. Curve and Surface Reconstruction p.1/25 Curve and Surface Reconstruction Kurt Mehlhorn MPI für Informatik Curve and Surface Reconstruction p.1/25 Curve Reconstruction: An Example probably, you see more than a set of points Curve and Surface

More information

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering RBE 550 MOTION PLANNING BASED ON DR. DMITRY BERENSON S RBE 550 Collision Detection Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Euler Angle RBE

More information

Chapter 7 TOPOLOGY CONTROL

Chapter 7 TOPOLOGY CONTROL Chapter 7 TOPOLOGY CONTROL Distributed Computing Group Mobile Computing Winter 2005 / 2006 Overview Topology Control Gabriel Graph et al. XTC Interference SINR & Scheduling Complexity Distributed Computing

More information

The Square Root Phenomenon in Planar Graphs

The Square Root Phenomenon in Planar Graphs 1 The Square Root Phenomenon in Planar Graphs Survey and New Results Dániel Marx Institute for Computer Science and Control, Hungarian Academy of Sciences (MTA SZTAKI) Budapest, Hungary Satisfiability

More information

Applications of Geometric Spanner

Applications of Geometric Spanner Title: Name: Affil./Addr. 1: Affil./Addr. 2: Affil./Addr. 3: Keywords: SumOriWork: Applications of Geometric Spanner Networks Joachim Gudmundsson 1, Giri Narasimhan 2, Michiel Smid 3 School of Information

More information

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner) CS4620/5620: Lecture 37 Ray Tracing 1 Announcements Review session Tuesday 7-9, Phillips 101 Posted notes on slerp and perspective-correct texturing Prelim on Thu in B17 at 7:30pm 2 Basic ray tracing Basic

More information

Packing Two Disks into a Polygonal Environment

Packing Two Disks into a Polygonal Environment Packing Two Disks into a Polygonal Environment Prosenjit Bose, School of Computer Science, Carleton University. E-mail: jit@cs.carleton.ca Pat Morin, School of Computer Science, Carleton University. E-mail:

More information

Approximation Algorithms for Geometric Intersection Graphs

Approximation Algorithms for Geometric Intersection Graphs Approximation Algorithms for Geometric Intersection Graphs Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Outline

More information

References. Additional lecture notes for 2/18/02.

References. Additional lecture notes for 2/18/02. References Additional lecture notes for 2/18/02. I-COLLIDE: Interactive and Exact Collision Detection for Large-Scale Environments, by Cohen, Lin, Manocha & Ponamgi, Proc. of ACM Symposium on Interactive

More information

Testing Euclidean Spanners

Testing Euclidean Spanners Testing Euclidean Spanners Frank Hellweg Melanie Schmidt Christian Sohler Department of Computer Science Technical University of Dortmund 44227 Dortmund, Germany Abstract In this paper we develop a property

More information

Voronoi Diagrams and Delaunay Triangulations. O Rourke, Chapter 5

Voronoi Diagrams and Delaunay Triangulations. O Rourke, Chapter 5 Voronoi Diagrams and Delaunay Triangulations O Rourke, Chapter 5 Outline Preliminaries Properties and Applications Computing the Delaunay Triangulation Preliminaries Given a function f: R 2 R, the tangent

More information

Planar Point Location

Planar Point Location C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 04 Date: February 15, 1993 Scribe: John Bazik Planar Point Location 1 Introduction In range searching, a set of values,

More information

26 The closest pair problem

26 The closest pair problem The closest pair problem 1 26 The closest pair problem Sweep algorithms solve many kinds of proximity problems efficiently. We present a simple sweep that solves the two-dimensional closest pair problem

More information

Insertions and Deletions in Delaunay Triangulations using Guided Point Location. Kevin Buchin TU Eindhoven

Insertions and Deletions in Delaunay Triangulations using Guided Point Location. Kevin Buchin TU Eindhoven Insertions and Deletions in Delaunay Triangulations using Guided Point Location Kevin Buchin TU Eindhoven Heraklion, 21.1.2013 Guide - Example Construct Delaunay triangulation of convex polygon in linear

More information

CMPS 3130/6130 Computational Geometry Spring Voronoi Diagrams. Carola Wenk. Based on: Computational Geometry: Algorithms and Applications

CMPS 3130/6130 Computational Geometry Spring Voronoi Diagrams. Carola Wenk. Based on: Computational Geometry: Algorithms and Applications CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry: Algorithms and Applications 2/19/15 CMPS 3130/6130 Computational Geometry 1 Voronoi Diagram

More information

Geometry Definitions and Theorems. Chapter 9. Definitions and Important Terms & Facts

Geometry Definitions and Theorems. Chapter 9. Definitions and Important Terms & Facts Geometry Definitions and Theorems Chapter 9 Definitions and Important Terms & Facts A circle is the set of points in a plane at a given distance from a given point in that plane. The given point is the

More information

1 Unweighted Set Cover

1 Unweighted Set Cover Comp 60: Advanced Algorithms Tufts University, Spring 018 Prof. Lenore Cowen Scribe: Yuelin Liu Lecture 7: Approximation Algorithms: Set Cover and Max Cut 1 Unweighted Set Cover 1.1 Formulations There

More information

be a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that

be a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that ( Shelling (Bruggesser-Mani 1971) and Ranking Let be a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that. a ranking of vertices

More information

Shrinkwrap developments for computational electromagnetics in ICE NITe

Shrinkwrap developments for computational electromagnetics in ICE NITe Shrinkwrap developments for computational electromagnetics in ICE NITe Preparing CAD models for electromagnetic analysis remains a complex, time consuming process. Typically, the CAD model will contain

More information

Recent PTAS Algorithms on the Euclidean TSP

Recent PTAS Algorithms on the Euclidean TSP Recent PTAS Algorithms on the Euclidean TSP by Leonardo Zambito Submitted as a project for CSE 4080, Fall 2006 1 Introduction The Traveling Salesman Problem, or TSP, is an on going study in computer science.

More information

CS S Lecture February 13, 2017

CS S Lecture February 13, 2017 CS 6301.008.18S Lecture February 13, 2017 Main topics are #Voronoi-diagrams, #Fortune. Quick Note about Planar Point Location Last week, I started giving a difficult analysis of the planar point location

More information

CS535 Fall Department of Computer Science Purdue University

CS535 Fall Department of Computer Science Purdue University Spatial Data Structures and Hierarchies CS535 Fall 2010 Daniel G Aliaga Daniel G. Aliaga Department of Computer Science Purdue University Spatial Data Structures Store geometric information Organize geometric

More information

Fuzzy Voronoi Diagram

Fuzzy Voronoi Diagram Fuzzy Voronoi Diagram Mohammadreza Jooyandeh and Ali Mohades Khorasani Mathematics and Computer Science, Amirkabir University of Technology, Hafez Ave., Tehran, Iran mohammadreza@jooyandeh.info,mohades@aut.ac.ir

More information

EE631 Cooperating Autonomous Mobile Robots

EE631 Cooperating Autonomous Mobile Robots EE631 Cooperating Autonomous Mobile Robots Lecture 3: Path Planning Algorithm Prof. Yi Guo ECE Dept. Plan Representing the Space Path Planning Methods A* Search Algorithm D* Search Algorithm Representing

More information

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13 Lecture 17: Solid Modeling... a cubit on the one side, and a cubit on the other side Exodus 26:13 Who is on the LORD's side? Exodus 32:26 1. Solid Representations A solid is a 3-dimensional shape with

More information

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces. Voronoi Diagrams 4 A city builds a set of post offices, and now needs to determine which houses will be served by which office. It would be wasteful for a postman to go out of their way to make a delivery

More information

Dynamic Collision Detection

Dynamic Collision Detection Distance Computation Between Non-Convex Polyhedra June 17, 2002 Applications Dynamic Collision Detection Applications Dynamic Collision Detection Evaluating Safety Tolerances Applications Dynamic Collision

More information

Motion Planning. Howie CHoset

Motion Planning. Howie CHoset Motion Planning Howie CHoset Questions Where are we? Where do we go? Which is more important? Encoders Encoders Incremental Photodetector Encoder disk LED Photoemitter Encoders - Incremental Encoders -

More information

CS 465 Program 4: Modeller

CS 465 Program 4: Modeller CS 465 Program 4: Modeller out: 30 October 2004 due: 16 November 2004 1 Introduction In this assignment you will work on a simple 3D modelling system that uses simple primitives and curved surfaces organized

More information

Simplicial Complexes: Second Lecture

Simplicial Complexes: Second Lecture Simplicial Complexes: Second Lecture 4 Nov, 2010 1 Overview Today we have two main goals: Prove that every continuous map between triangulable spaces can be approximated by a simplicial map. To do this,

More information

Geometric data structures:

Geometric data structures: Geometric data structures: Machine Learning for Big Data CSE547/STAT548, University of Washington Sham Kakade Sham Kakade 2017 1 Announcements: HW3 posted Today: Review: LSH for Euclidean distance Other

More information

Robot Motion Planning Using Generalised Voronoi Diagrams

Robot Motion Planning Using Generalised Voronoi Diagrams Robot Motion Planning Using Generalised Voronoi Diagrams MILOŠ ŠEDA, VÁCLAV PICH Institute of Automation and Computer Science Brno University of Technology Technická 2, 616 69 Brno CZECH REPUBLIC Abstract:

More information

Computational Geometry

Computational Geometry Lecture 1: Introduction and convex hulls Geometry: points, lines,... Geometric objects Geometric relations Combinatorial complexity Computational geometry Plane (two-dimensional), R 2 Space (three-dimensional),

More information

Multi-level Partition of Unity Implicits

Multi-level Partition of Unity Implicits Multi-level Partition of Unity Implicits Diego Salume October 23 rd, 2013 Author: Ohtake, et.al. Overview Goal: Use multi-level partition of unity (MPU) implicit surface to construct surface models. 3

More information

External-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair

External-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair External-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair {machado,tron}@visgraf.impa.br Theoretical Models Random Access Machine Memory: Infinite Array. Access

More information

Lecture 11: Ray tracing (cont.)

Lecture 11: Ray tracing (cont.) Interactive Computer Graphics Ray tracing - Summary Lecture 11: Ray tracing (cont.) Graphics Lecture 10: Slide 1 Some slides adopted from H. Pfister, Harvard Graphics Lecture 10: Slide 2 Ray tracing -

More information

Ray Tracing Foley & Van Dam, Chapters 15 and 16

Ray Tracing Foley & Van Dam, Chapters 15 and 16 Foley & Van Dam, Chapters 15 and 16 (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Determine visibility of a surface by tracing rays of light from the viewer s eye

More information

Ray Tracing. Foley & Van Dam, Chapters 15 and 16

Ray Tracing. Foley & Van Dam, Chapters 15 and 16 Ray Tracing Foley & Van Dam, Chapters 15 and 16 Ray Tracing Visible Surface Ray Tracing (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Ray Tracing Determine visibility

More information

Spanners of Complete k-partite Geometric Graphs

Spanners of Complete k-partite Geometric Graphs Spanners of Complete k-partite Geometric Graphs Prosenjit Bose Paz Carmi Mathieu Couture Anil Maheshwari Pat Morin Michiel Smid May 30, 008 Abstract We address the following problem: Given a complete k-partite

More information

Finding a minimum-sum dipolar spanning tree in R 3

Finding a minimum-sum dipolar spanning tree in R 3 Finding a minimum-sum dipolar spanning tree in R 3 Steven Bitner and Ovidiu Daescu Department of Computer Science University of Texas at Dallas Richardson, TX 75080, USA Abstract In this paper we consider

More information

Geometric Templates for Improved Tracking Performance in Monte Carlo Codes

Geometric Templates for Improved Tracking Performance in Monte Carlo Codes Joint International Conference on Supercomputing in Nuclear Applications and Monte Carlo 2013 (SNA + MC 2013) La Cité des Sciences et de l Industrie, Paris, France, October 27-31, 2013 Geometric Templates

More information

Clustering: Centroid-Based Partitioning

Clustering: Centroid-Based Partitioning Clustering: Centroid-Based Partitioning Yufei Tao Department of Computer Science and Engineering Chinese University of Hong Kong 1 / 29 Y Tao Clustering: Centroid-Based Partitioning In this lecture, we

More information

Chapter 13: Query Processing

Chapter 13: Query Processing Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing

More information