Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012
|
|
- Henry Johnson
- 5 years ago
- Views:
Transcription
1 UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Fall, 2012 O Rourke Chapter 7 Search & Intersection
2 Chapter 7 Search & Intersection Segment-Segment Intersection Segment-Triangle Intersection Point in Polygon Point in Polyhedron Intersection of Convex Polygons Intersection of Segments Intersection of Nonconvex Polygons Extreme Point of Convex Polygon Extremal Polytope Queries Planar Point Location
3 Segment-Segment Intersection Finding the actual intersection point Approach: parametric vs. slope/intercept parametric generalizes to more complex intersectionsi Parameterize each segment L cd c a b L ab d L cd c C=d-c b a A=b-a p(s)=a+sa L ab q(t)=c+tc d Intersection: values of s, t such that p(s) =q(t) : a+sa=c+tc
4 Segment-Triangle Intersection Determine if qr intersects plane π containing triangle T. useful in ray tracing Let N=(A,B,C) be normal to π r π :(x,y,z) (A,B,C)=D (i.e.π π = Ax + By + Cz = D) π c N Find normal N using cross-products involving a, b, c p T parameterize qr: p(t) = q + t(r-q) a b D ( q N) solve for t : t = q ( r q) N using t, find point of intersection p if it exists Classify relationship between p and T p is in T iff its projection p is in a projection* T of T to xy, xz or yz-plane +-- Barycentric coordinates left edge p +-+ Check results of 3 of tests for with ++respect to T : +++ means p inside T * avoid degeneracy by projecting out largest coordinate --+ T
5 Point in Polygon An application: GUI mouse click Winding number (see Guibas/Stolfi) standing at q, turn to follow border of P sum rotation to create signed angular turn + ccw - cw divide by 2π elegant but not practical: O(n) with large constant Ray crossings extend horizontal ray from q count number of intersections with P even q is outside P odd q is inside P beware degenerate intersections! Compare with using LeftOn test when polygon is convex P P O(n) q q
6 Winding number generalizes to 3D Point in Polyhedron uses solid angle (fraction of sphere surface used by cone at point) Ray crossing generalizes to 3D q inside P if odd number of crossings q outside P if even number of crossings Running Time?? (see next slide) P q r Assume each face is a triangle. Algorithm: : POINT in POLYHEDRON (P, R, q) Compute bounding radius R loop forever r 0 = random ray of length R r=q+r r 0 crossings = 0 for each triangle T of polyhedron P do SegTriInt(T, q, r) if degenerate intersection then go back to loop else increment crossings appropriately if crossings odd then q is inside P else q is outside P Exit
7 Point in Polyhedron P q r Expected time O(ρn) ρ = expected number of tries to get nondegenerate intersection Experiment: One combinatorially dense sample polyhedron has ρ ~ Claim: ρ = 1 + ε can be achieved for any ε > 0! For analysis, replace sphere with bounding cube. In worst case, L integer points on cube face disqualified by each edge of polyhedron. Probability of hitting a degeneracy = Let E = #edges (E x L) out of L 2 disqualified = E/L E is a constant, so choosing L large enough yields any desired ε = E/L. Assume each face is a triangle. Imagine integer discretization of L. Edge e kills a line of points on face of surrounding cube.
8 Intersection of Convex Polygons For nonconvex n-vertex P and m-vertex Q, the worst-case size complexity of P Q is in Ω(nm) For convex P, Q, size is only in O ( n + m) ) and can be computed in O ( n + m) time B A (example) Q P Algorithm: : INTERSECTION of CONVEX POLYGONS Choose A and B arbitrarily /* A is directed edge on P */ repeat /* B is directed edge on Q */ if A intersects B then /* A, B chase each other */ /* A, B meet at each */ Check for termination /* boundary crossing */ Update inside flag Advance either A or B depending on geometric conditions (see next slide) until both A and B cycle their polygons Handle cases: P Q P Q P Q = 0/ O(n+m)
9 Intersection of Convex Polygons If B aims towards line containing A but does not cross it then If B aims towards line containing A, but does not cross it, then advance B to close in on possible intersection with A.
10 Intersection of Segments Goal: Output-size sensitive polygon intersection algorithm Core Problem: Output-size sensitive line segment intersection algorithm Bentley-Ottmann plane sweep: O((n+k)logn) time k = number of intersection points in output Intuition: sweep line (discrete event ent simulation) First, review algorithm that returns TRUE iff there exists an intersection
11 Intersection of >2 Line Segments Sweep-Line Algorithmic Paradigm: 33.4 source: textbook Cormen et al.
12 Intersection of >2 Line Segments Sweep-Line Algorithmic Paradigm: source: textbook Cormen et al.
13 Intersection of >2 Line Segments Time to decide if any 2 segments intersect: segments intersect:o(n lg n) Balanced BST stores segments in order of intersection with sweep line. Associated operations take O(lgn) time. (See next slide.) Note that it exits as soon as one intersection is detected source: source: textbook Cormen et al.
14 Intersection of >2 Line Segments Balanced BST stores segments in order of intersection with sweep line. Associated operations take O(lgn) time. Each segment has a leaf node. At each internal node, store segment from rightmost leaf in its left subtree. What does this allow us to do? source: deberg et al.
15 Intersection of Segments Goal: Output-size sensitive line segment intersection algorithm that actually computes all intersection points Bentley-Ottmann plane sweep: O((n+k)log(n+k))= O((n+k)logn) time k = number of intersection points in output Intuition: sweep vertical line rightwards just before intersection, 2 segments are adjacent in sweep-line intersection structure check for intersection only adjacent segments insert intersection event into sweep-line structure event types: (example on previous slide) left endpoint of a segment right endpoint of a segment intersection between 2 segments swap order Improved to O(nlogn+k) [Chazelle/Edelsbrunner] l, Computational Geometry in C
16 Intersection of Nonconvex Polygons Variation on Bentley- Ottmann sweep Maintain status for each piece of sweep line: 0: exterior to P, Q P: inside P, outside Q Q: inside Q, outside P PQ: inside P, inside Q Useful for CAD/CAM P Q For n-vertex P,, m-vertex Q,, O((n+m n+m)log( )log(n+m)+k) time to compute: P Q P Q P \ Q
17 Extreme Point of Convex Polygon Algorithm: HIGHEST POINT of CONVEX POLYGON Initialize a and b /* highest h point is in [a,b] */ repeat forever c index midway from a to b if P[c] is locally highest then return c if A points up and C points down then [a,b] [a,c] /* highest point is in [a,c] */ else if A points down and C points up then [a,b] [c,b] /* highest point is in [c,b] */ else if A points up and C points up if P[a] is above P[c] then [a,b] [a,c] else [a,b] [c,b] /* highest point is in [c,b] */ else if A points down and C points down if P[a] is below P[c] then [a,b] [a,c] /* highest point is in [a,c] */ else [a,b] [c,b] /* highest point is in [c,b] */ I iti li d b A Geometric Binary Search C c b A Unimodality allows B Binary Search O(lg n) a
18 Stabbing a Convex Polygon Extreme-Finding algorithm can stab a convex polygon extreme in + u direction a +u y L x b extreme in - u direction If a and b straddle L, binary search on [a,b] yields x binary search on [b,a] yields y O(lg n)
19 Extremal Polytope Queries: Main Idea Form sequence of O(log n) simpler nested polytopes in O(n) time (see next slide) To answer a (w.l.o.g.. vertical) query in O(logn logn) time: (see slide after next) Find extreme with respect to inner polytope, then work outwards Need only check small number of candidate vertices in next polytope Key idea: independent sets in planar graphs are large ; vertices of low degree to construct next (inner) polytope, remove independent set of vertices deleting constant fraction of vertices at each step produces O(logn logn) polytopes lt (derivation derivation) O(log n) An independent set of a polytope graph of n vertices produced by INDEPENDENT SET has size at least n/18 (to be shown later).
20 Extremal Polytope Queries: Main Idea (continued)
21 Extremal Polytope Queries: Main Idea (continued) For maximal z query: Moving from P i+1 to P i is like raising a plane orthogonal to z axis from a i+1 1( (highest point on P i+1 ) to a i a 0
22 Extremal Polytope Queries Details Maximum Independent Set is NP-complete, but greedy heuristic performs well. Choose vertex of lowest degree, not adjacent to vertices already chosen. Algorithm 7.4: : INDEPENDENT SET Input: : graph G Output: : independent set I I 0 Mark all nodes of G of degree >= 9 while some nodes remain unmarked do Choose an unmarked node v Mark v and all neighbors of v I I U {v} spurious edge? Goal: tetrahedron triangulate polytope: lt use convex hll hull (d) octahedron (a) Icosahedron Schlegel diagram: 5 triangles meet at each vertex. There exist at least n/2 vertices of degree at most 8 (derivation derivation). An independent set of a polytope graph of n vertices produced by INDEPENDENT SET has size at least n/18 (derivation).
23 Extremal Polytope Queries Details (continued) (creation) i i +1 1 (creation)
24 Extremal Polytope Queries Details (continued) To use nested polytope hierarchy to answer an extreme point query: Find extreme with respect to inner polytope P k (brute-force search) Move from polytope P i+1 to P i Let a i and a i+1 be uniquely highest h vertices of P i and P i+1. Then (Lemma ) either: a i = a i+1 or a i+1 is the highest among the vertices adjacent to a i (See proof sketch in next slide.) (Assume w.l.o.g.. vertical query direction) π (Plane effect )
25 Extremal Polytope Queries Dtil Details (continued) Lemma : (repeated) Let a i and a i+1 be uniquely highest vertices of P i and P i+1. Then either: a i = a i+1 or a i+1 is the highest among the vertices adjacent to a i Proof Sketch: (by cases) a i is vertex of both P i and P i+1 a i = a i+1 else a i deleted in construction of P i+1 Let b i+1 = highest vertex of P i+1 among those adjacent to a i in P i Claim: b i+1 is highest vertex of P i+1 Proof uses polygonal-faced cone See book for further details But we still need bound on # vertices adjacent to a i+1
26 Extremal Polytope Queries Dtil Details (continued) Lemma7103:Leta : Let a i and a i+1 be uniquely highest vertices of P i and P i+1. Then either (to provide constant-time search): a i = a i+1 or a i is the highest among the parents of the extreme edges L i+1 and R i+1 Proof Sketch: π Project P i+1 onto plane orthogonal to π (e.g. xz plane) Let L i+1, R i+1 = 2 edges of P i+1 projecting to 2 edges of P i+1 incident to a i+1 Parents of edge are vertices of P i from L π i+1 = R i+1 which it derives (during P i+1 creation) tetrahedron New extreme edges are close to the old. projected See p for remaining details. onto xz plane P i+1
27 Extremal Polytope Queries Summary Algorithm: EXTREME POINT of a POLYTOPE Input: polytope P and direction vector u Output: vertex a of P extreme in u direction Construct nested polytope p hierarchy P = P 0 0,, P 1 1,,...,, P k a k vertex of P k extreme in u direction Compute L k and R k for i = k - 1, k - 2,...,1, 0 do a i extreme vertex among a i+1 and parents of L i+1 and R i+1 if a i = a i+1 then i i 1 for all edges incident to a i do π u P k P 0 save extreme edges L i and R i else (a i = a i+1 ) compute L i from L i+1 etc... After O(n) time and space preprocessing, a polytope extreme-point query can be answered in O(log n) time
28 Planar Point Location Goal: Given a planar subdivision of n vertices, preprocess it so that point location query can be quickly answered. A polygonal planar subdivision can be preprocessed in O(n) time and space for O(log n) query. 2D version/variant of independent set/nested approach ( may need to triangulate polygonal faces) Monotone subdivision approach* Randomized dtrapezoidal decomposition* i * See next slides.
29 Planar Point Location (continued) Monotone subdivision approach: -Partition subdivision (e.g. Voronoi diagram) into horizontal strips. -Double binary search: -Vertical search on strips to locate query point between 2 separators -Horizontal search to locate it within 1 strip -O(log 2 n) query time
30 Planar Point Location (continued) And now for something completely different As foreshadowed in Ch. 2 (polygon partitioning/triangulation) Seidel s randomized trapezoidal decomposition for non-crossing segments: * * O(nlogn) construction Assume no 2 points are at same height. time: extend horizontal line through each endpoint. O(logn) query time. * can build binary tree
31 Planar Point Location (continued) Lemma allows us to incrementally build binary search tree. 3 types of nodes: 1. internal X nodes, which branch left or right of a segment s i 2. internal Y nodes, which branch above or below a segment endpoint 3. Leaf trapezoid nodes. Identify each trapezoid cut by s 1. B C
32 Planar Point Location (continued)
33 Planar Point Location (continued)
34 Planar Point Location (continued) query point q search path for query point q
Computational Geometry Overview from Cormen, et al.
UMass Lowell Computer Science 91.503 Graduate Algorithms Prof. Karen Daniels Spring, 2014 Computational Geometry Overview from Cormen, et al. Chapter 33 (with additional material from other sources) 1
More informationAdvanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012
UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Fall, 2012 Voronoi Diagrams & Delaunay Triangulations O Rourke: Chapter 5 de Berg et al.: Chapters 7,
More informationLine segment intersection. Family of intersection problems
CG Lecture 2 Line segment intersection Intersecting two line segments Line sweep algorithm Convex polygon intersection Boolean operations on polygons Subdivision overlay algorithm 1 Family of intersection
More informationComputational Geometry
Motivation Motivation Polygons and visibility Visibility in polygons Triangulation Proof of the Art gallery theorem Two points in a simple polygon can see each other if their connecting line segment is
More informationTrapezoidal Maps. Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy
Trapezoidal Maps Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy Trapezoidal Maps S={s 1,s 2,..., s n } is the set of line segments segments don t intersect, but can touch
More informationCS 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 information3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College
3D convex hulls Computational Geometry [csci 3250] Laura Toma Bowdoin College Convex Hull in 3D The problem: Given a set P of points in 3D, compute their convex hull convex polyhedron 2D 3D polygon
More informationPolygon Partitioning. Lecture03
1 Polygon Partitioning Lecture03 2 History of Triangulation Algorithms 3 Outline Monotone polygon Triangulation of monotone polygon Trapezoidal decomposition Decomposition in monotone mountain Convex decomposition
More informationLine Arrangement. Chapter 6
Line Arrangement Chapter 6 Line Arrangement Problem: Given a set L of n lines in the plane, compute their arrangement which is a planar subdivision. Line Arrangements Problem: Given a set L of n lines
More informationPolygon decomposition. Motivation: Art gallery problem
CG Lecture 3 Polygon decomposition 1. Polygon triangulation Triangulation theory Monotone polygon triangulation 2. Polygon decomposition into monotone pieces 3. Trapezoidal decomposition 4. Convex decomposition
More informationComputational Geometry
Casting a polyhedron CAD/CAM systems CAD/CAM systems allow you to design objects and test how they can be constructed Many objects are constructed used a mold Casting Casting A general question: Given
More informationCS 372: Computational Geometry Lecture 3 Line Segment Intersection
CS 372: Computational Geometry Lecture 3 Line Segment Intersection Antoine Vigneron King Abdullah University of Science and Technology September 9, 2012 Antoine Vigneron (KAUST) CS 372 Lecture 3 September
More informationGEOMETRIC SEARCHING PART 1: POINT LOCATION
GEOMETRIC SEARCHING PART 1: POINT LOCATION PETR FELKEL FEL CTU PRAGUE felkel@fel.cvut.cz https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg] and [Mount] Version from 3.10.2014 Geometric
More informationIndiana State Math Contest Geometry
Indiana State Math Contest 018 Geometry This test was prepared by faculty at Indiana University - Purdue University Columbus Do not open this test booklet until you have been advised to do so by the test
More informationComputational Geometry
Computational Geometry 600.658 Convexity A set S is convex if for any two points p, q S the line segment pq S. S p S q Not convex Convex? Convexity A set S is convex if it is the intersection of (possibly
More informationIntersection. Segment-Segment Intersection
Intersection Segment-Segment Intersection Segment-Segment Intersection 1. For many application, the floating-point coordinates of the point of intersection are needed 2. We will need this to compute the
More information3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College
3D convex hulls Computational Geometry [csci 3250] Laura Toma Bowdoin College Convex Hulls The problem: Given a set P of points, compute their convex hull 2D 3D 2D 3D polygon polyhedron Polyhedron region
More informationCollision 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 informationCMSC 754 Computational Geometry 1
CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College
More informationCPSC / Sonny Chan - University of Calgary. Collision Detection II
CPSC 599.86 / 601.86 Sonny Chan - University of Calgary Collision Detection II Outline Broad phase collision detection: - Problem definition and motivation - Bounding volume hierarchies - Spatial partitioning
More informationCOMPUTATIONAL GEOMETRY
Thursday, September 20, 2007 (Ming C. Lin) Review on Computational Geometry & Collision Detection for Convex Polytopes COMPUTATIONAL GEOMETRY (Refer to O'Rourke's and Dutch textbook ) 1. Extreme Points
More informationComputational Geometry
Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess
More informationDynamic 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 informationK-structure, Separating Chain, Gap Tree, and Layered DAG
K-structure, Separating Chain, Gap Tree, and Layered DAG Presented by Dave Tahmoush Overview Improvement on Gap Tree and K-structure Faster point location Encompasses Separating Chain Better storage Designed
More informationLecture 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 informationCS 532: 3D Computer Vision 11 th Set of Notes
1 CS 532: 3D Computer Vision 11 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Line Intersection
More informationCS6100: Topics in Design and Analysis of Algorithms
CS6100: Topics in Design and Analysis of Algorithms Guarding and Triangulating Polygons John Augustine CS6100 (Even 2012): Guarding and Triangulating Polygons The Art Gallery Problem A simple polygon is
More informationComputational Geometry
Planar point location Point location Introduction Planar point location Strip-based structure Point location problem: Preprocess a planar subdivision such that for any query point q, the face of the subdivision
More informationCS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension
CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension Antoine Vigneron King Abdullah University of Science and Technology November 7, 2012 Antoine Vigneron (KAUST) CS 372 Lecture
More informationWeek 7 Convex Hulls in 3D
1 Week 7 Convex Hulls in 3D 2 Polyhedra A polyhedron is the natural generalization of a 2D polygon to 3D 3 Closed Polyhedral Surface A closed polyhedral surface is a finite set of interior disjoint polygons
More information2 A Plane Sweep Algorithm for Line Segment Intersection
EECS 396/496: Computational Geometry Fall 2017 Lecturer: Huck Bennett Lecture 2: Line Segment Intersection In this lecture, we will study the problem of computing all intersections of a set of line segmentn
More informationarxiv: v1 [cs.cg] 8 Jan 2018
Voronoi Diagrams for a Moderate-Sized Point-Set in a Simple Polygon Eunjin Oh Hee-Kap Ahn arxiv:1801.02292v1 [cs.cg] 8 Jan 2018 Abstract Given a set of sites in a simple polygon, a geodesic Voronoi diagram
More informationMotion Planning. O Rourke, Chapter 8
O Rourke, Chapter 8 Outline Translating a polygon Moving a ladder Shortest Path (Point-to-Point) Goal: Given disjoint polygons in the plane, and given positions s and t, find the shortest path from s to
More informationRubber bands. Chapter Rubber band representation
Chapter 1 Rubber bands In the previous chapter, we already used the idea of looking at the graph geometrically, by placing its nodes on the line and replacing the edges by rubber bands. Since, however,
More informationWeek 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 informationLinear Programming in Small Dimensions
Linear Programming in Small Dimensions Lekcija 7 sergio.cabello@fmf.uni-lj.si FMF Univerza v Ljubljani Edited from slides by Antoine Vigneron Outline linear programming, motivation and definition one dimensional
More informationLesson 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 informationConvex Hulls (3D) O Rourke, Chapter 4
Convex Hulls (3D) O Rourke, Chapter 4 Outline Polyhedra Polytopes Euler Characteristic (Oriented) Mesh Representation Polyhedra Definition: A polyhedron is a solid region in 3D space whose boundary is
More informationComputational Geometry
Orthogonal Range Searching omputational Geometry hapter 5 Range Searching Problem: Given a set of n points in R d, preprocess them such that reporting or counting the k points inside a d-dimensional axis-parallel
More informationField: We have been doing geometry eg linear programming. But in computational geometry, key difference in focus: low dimension d
1 Geometry Field: We have been doing geometry eg linear programming But in computational geometry, key difference in focus: low dimension d Lots of algorithms that are great for d small, but exponential
More informationVoronoi diagrams Delaunay Triangulations. Pierre Alliez Inria
Voronoi diagrams Delaunay Triangulations Pierre Alliez Inria Voronoi Diagram Voronoi Diagram Voronoi Diagram The collection of the non-empty Voronoi regions and their faces, together with their incidence
More informationMotivation: Art gallery problem. Polygon decomposition. Art gallery problem: upper bound. Art gallery problem: lower bound
CG Lecture 3 Polygon decomposition 1. Polygon triangulation Triangulation theory Monotone polygon triangulation 2. Polygon decomposition into monotone pieces 3. Trapezoidal decomposition 4. Conex decomposition
More informationGEOMETRIC TOOLS FOR COMPUTER GRAPHICS
GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W
More informationGeometric Queries for Ray Tracing
CSCI 420 Computer Graphics Lecture 16 Geometric Queries for Ray Tracing Ray-Surface Intersection Barycentric Coordinates [Angel Ch. 11] Jernej Barbic University of Southern California 1 Ray-Surface Intersections
More informationCMSC 754 Computational Geometry 1
CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College
More informationAn Introduction to Computational Geometry: Arrangements and Duality
An Introduction to Computational Geometry: Arrangements and Duality Joseph S. B. Mitchell Stony Brook University Some images from [O Rourke, Computational Geometry in C, 2 nd Edition, Chapter 6] Arrangement
More informationFlavor of Computational Geometry. Convex Hull in 2D. Shireen Y. Elhabian Aly A. Farag University of Louisville
Flavor of Computational Geometry Convex Hull in 2D Shireen Y. Elhabian Aly A. Farag University of Louisville February 2010 Agenda Introduction Definitions of Convexity and Convex Hulls Naïve Algorithms
More informationAdvanced Algorithms Computational Geometry Prof. Karen Daniels. Spring, 2010
UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 Lecture 3 O Rourke Chapter 3: 2D Convex Hulls Thursday, 2/18/10 Chapter 3 2D Convex Hulls
More informationComputational Geometry 2D Convex Hulls
Computational Geometry 2D Convex Hulls Joseph S. B. Mitchell Stony Brook University Chapter 2: Devadoss-O Rourke Convexity p p Set X is convex if p,q X pq X q q convex non-convex Point p X is an extreme
More information1. 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 informationDivided-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 informationLecture 3 February 9, 2010
6.851: Advanced Data Structures Spring 2010 Dr. André Schulz Lecture 3 February 9, 2010 Scribe: Jacob Steinhardt and Greg Brockman 1 Overview In the last lecture we continued to study binary search trees
More informationVoronoi diagram and Delaunay triangulation
Voronoi diagram and Delaunay triangulation Ioannis Emiris & Vissarion Fisikopoulos Dept. of Informatics & Telecommunications, University of Athens Computational Geometry, spring 2015 Outline 1 Voronoi
More informationComputational Geometry. Lecture 17
Computational Geometry Lecture 17 Computational geometry Algorithms for solving geometric problems in 2D and higher. Fundamental objects: Basic structures: point line segment line point set polygon L17.2
More informationVoronoi 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 informationComputational Geometry [csci 3250]
Computational Geometry [csci 3250] Laura Toma Bowdoin College Polygon Triangulation Polygon Triangulation The problem: Triangulate a given polygon. (output a set of diagonals that partition the polygon
More informationPolygon Triangulation. (slides partially by Daniel Vlasic )
Polygon Triangulation (slides partially by Daniel Vlasic ) Triangulation: Definition Triangulation of a simple polygon P: decomposition of P into triangles by a maximal set of non-intersecting diagonals
More informationPlanar 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 informationHigh-Dimensional Computational Geometry. Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018
High-Dimensional Computational Geometry Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018 Outline 3-D vector geometry High-D hyperplane intersections Convex hull & its extension to 3
More informationLine Arrangements. Applications
Computational Geometry Chapter 9 Line Arrangements 1 Line Arrangements Applications On the Agenda 2 1 Complexity of a Line Arrangement Given a set L of n lines in the plane, their arrangement A(L) is the
More informationCS770/870 Spring 2017 Ray Tracing Implementation
Useful ector Information S770/870 Spring 07 Ray Tracing Implementation Related material:angel 6e: h.3 Ray-Object intersections Spheres Plane/Polygon Box/Slab/Polyhedron Quadric surfaces Other implicit/explicit
More informationSolutions to problem set 1
Massachusetts Institute of Technology Handout 5 6.838: Geometric Computation October 4, 2001 Professors Piotr Indyk and Seth Teller Solutions to problem set 1 (mostly taken from the solution set of Jan
More informationConvex Hulls in Three Dimensions. Polyhedra
Convex Hulls in Three Dimensions Polyhedra Polyhedron 1.A polyhedron is the generalization of a 2- D polygon to 3-D A finite number of flat polygonal faces The boundary or surface of a polyhedron - Zero-dimensional
More informationComputational Geometry Lecture Duality of Points and Lines
Computational Geometry Lecture Duality of Points and Lines INSTITUTE FOR THEORETICAL INFORMATICS FACULTY OF INFORMATICS 11.1.2016 Duality Transforms We have seen duality for planar graphs and duality of
More informationThe Geometry of Carpentry and Joinery
The Geometry of Carpentry and Joinery Pat Morin and Jason Morrison School of Computer Science, Carleton University, 115 Colonel By Drive Ottawa, Ontario, CANADA K1S 5B6 Abstract In this paper we propose
More informationVoronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here)
Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here) Voronoi Diagram & Delaunay Triangualtion Algorithms Divide-&-Conquer Plane Sweep Lifting
More informationChapter 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 informationPolygon Triangulation
Polygon Triangulation Definition Simple Polygons 1. A polygon is the region of a plane bounded by a finite collection of line segments forming a simple closed curve. 2. Simple closed curve means a certain
More informationJanuary 10-12, NIT Surathkal Introduction to Graph and Geometric Algorithms
Geometric data structures Sudebkumar Prasant Pal Department of Computer Science and Engineering IIT Kharagpur, 721302. email: spp@cse.iitkgp.ernet.in January 10-12, 2012 - NIT Surathkal Introduction to
More informationAn Implementation of a Near-Linear Polygon Triangulation Algorithm for General Polygons
An Implementation of a Near-Linear Polygon Triangulation Algorithm for General Polygons Abstract In 1991 Seidel found a practical algorithm for triangulating simple polygons with an expected running time
More informationReconstructing Orthogonal Polyhedra from Putative Vertex Sets
Reconstructing Orthogonal Polyhedra from Putative Vertex Sets Therese Biedl 1 and Burkay Genc 1 David R. Cheriton School of Computer Science, University of Waterloo, Waterloo ON N2L 3G1, Canada biedl@uwaterloo.ca,
More informationComputational Geometry
Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess
More informationPlanar convex hulls (I) Computational Geometry [csci 3250] Laura Toma Bowdoin College
Planar convex hulls (I) Computational Geometry [csci 3250] Laura Toma Bowdoin College Convex Hull Given a set P of points in 2D, their convex hull is the smallest convex polygon that contains all points
More informationThe Farthest Point Delaunay Triangulation Minimizes Angles
The Farthest Point Delaunay Triangulation Minimizes Angles David Eppstein Department of Information and Computer Science UC Irvine, CA 92717 November 20, 1990 Abstract We show that the planar dual to the
More informationCMPS 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 informationMath 311. Polyhedra Name: A Candel CSUN Math
1. A polygon may be described as a finite region of the plane enclosed by a finite number of segments, arranged in such a way that (a) exactly two segments meets at every vertex, and (b) it is possible
More information1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls
1/60 Geometric Algorithms Lecture 1: Introduction Convex Hulls Geometric algorithms scope 2/60 Geometry algorithms (practice): Study of geometric problems that arise in various applications and how algorithms
More information1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D.
1. CONVEX POLYGONS Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D. Convex 6 gon Another convex 6 gon Not convex Question. Why is the third
More informationThe Topology of Bendless Orthogonal Three-Dimensional Graph Drawing. David Eppstein Computer Science Dept. Univ. of California, Irvine
The Topology of Bendless Orthogonal Three-Dimensional Graph Drawing David Eppstein Computer Science Dept. Univ. of California, Irvine Graph drawing: visual display of symbolic information Vertices and
More informationCollision 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 information1 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 informationComputational 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 informationPolygon Triangulation
Polygon Triangulation The problem: Triangulate a given polygon. (output a set of diagonals that partition the polygon into triangles). Computational Geometry [csci 3250] Polygon Triangulation Laura Toma
More informationCMSC 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 informationFlavor of Computational Geometry. Voronoi Diagrams. Shireen Y. Elhabian Aly A. Farag University of Louisville
Flavor of Computational Geometry Voronoi Diagrams Shireen Y. Elhabian Aly A. Farag University of Louisville March 2010 Pepperoni Sparse Pizzas Olive Sparse Pizzas Just Two Pepperonis A person gets the
More informationChapter 12 and 11.1 Planar graphs, regular polyhedra, and graph colorings
Chapter 12 and 11.1 Planar graphs, regular polyhedra, and graph colorings Prof. Tesler Math 184A Fall 2017 Prof. Tesler Ch. 12: Planar Graphs Math 184A / Fall 2017 1 / 45 12.1 12.2. Planar graphs Definition
More informationComputational Geometry
for map overlay Lecture 2: for map overlay 1 Map layers Map overlay In a geographic information system (GIS) data is stored in separate layers A layer stores the geometric information about some theme,
More informationLecture 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 informationCHAPTER 2 REVIEW COORDINATE GEOMETRY MATH Warm-Up: See Solved Homework questions. 2.2 Cartesian coordinate system
CHAPTER 2 REVIEW COORDINATE GEOMETRY MATH6 2.1 Warm-Up: See Solved Homework questions 2.2 Cartesian coordinate system Coordinate axes: Two perpendicular lines that intersect at the origin O on each line.
More informationFigure 2.1: An example of a convex set and a nonconvex one.
Convex Hulls 2.1 Definitions 2 Convexity is the key to understanding and simplifying geometry, and the convex hull plays a role in geometry akin to the sorted order for a collection of numbers. So what
More information2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into
2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel
More informationApproximate 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 information3. Voronoi Diagrams. 3.1 Definitions & Basic Properties. Examples :
3. Voronoi Diagrams Examples : 1. Fire Observation Towers Imagine a vast forest containing a number of fire observation towers. Each ranger is responsible for extinguishing any fire closer to her tower
More informationAccelerating 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 informationCollision Detection CS434. Daniel G. Aliaga Department of Computer Science Purdue University
Collision Detection CS434 Daniel G. Aliaga Department of Computer Science Purdue University Some Applications Animations/games Robotic planning Haptics Some collision detection approaches Minkowski Sum
More informationGeometry 1-1. Non-collinear Points not on the same line. Need at least 3 points to be non-collinear since two points are always collinear
Name Geometry 1-1 Undefined terms terms which cannot be defined only described. Point, line, plane Point a location in space Line a series of points that extends indefinitely in opposite directions. It
More informationPolygon Triangulation. (slides partially by Daniel Vlasic )
Polygon Triangulation (slides partially by Daniel Vlasic ) Triangulation: Definition Triangulation of a simple polygon P: decomposition of P into triangles by a maximal set of non-intersecting diagonals
More informationarxiv: v1 [cs.cg] 25 Jul 2016
Unfolding Convex Polyhedra via Radially Monotone Cut Trees arxiv:1607.07421v1 [cs.cg] 25 Jul 2016 Joseph O Rourke July 26, 2016 Abstract A notion of radially monotone cut paths is introduced as an effective
More informationIntersecting Simple Surfaces. Dr. Scott Schaefer
Intersecting Simple Surfaces Dr. Scott Schaefer 1 Types of Surfaces Infinite Planes Polygons Convex Ray Shooting Winding Number Spheres Cylinders 2/66 Infinite Planes Defined by a unit normal n and a point
More informationTOURNAMENT OF THE TOWNS, Glossary
TOURNAMENT OF THE TOWNS, 2003 2004 Glossary Absolute value The size of a number with its + or sign removed. The absolute value of 3.2 is 3.2, the absolute value of +4.6 is 4.6. We write this: 3.2 = 3.2
More information