Cross products. p 2 p. p p1 p2. p 1. Line segments The convex combination of two distinct points p1 ( x1, such that for some real number with 0 1,
|
|
- Matthew Richard
- 5 years ago
- Views:
Transcription
1 CHAPTER 33 Comutational Geometry Is the branch of comuter science that studies algorithms for solving geometric roblems. Has alications in many fields, including comuter grahics robotics, VLSI design comuter aided design statistics Deals with geometric objects such as oints, line segments, olygons, etc. Some tyical roblems considered: whether intersections occur in a set of lines. finding vertices of a convex hull for oints. whether a line can be drawn searating two sets of oints. whether one oint is visible from a second oint, given some olygons that may block visibility. otimal location of fire towers to view a region. closest or most distant air of oints. whether a oint is inside or outside a olygon.
2 Cross roducts Line segments The convex combination of two distinct oints ( x, y) and ( x, y) is any oint 3 ( x3, y3) such that for some real number with 0, x, y ) ( x, y ) ( )( x, ). ( 3 3 y, the line segment joining and, is the set of all convex combinations of and. Intuition roblem: Show that if (x,y) is a convex combination of ( and then x, ) ( x, y y ) y y y y x x x x which is the standard equation of a line with sloe. Cross roducts let and be oints on the lane The cross roduct corresonds to the signed area in the arallelogram. x x det x. y x y y y y (0,0) x
3 If is negative, then o is counterclockwise from o. If is ositive, then o is clockwise from o. If 0, then o and o are collinear. Cross roducts (cont.) y To determine if 0 is clockwise from 0, we translate 0 to the origin and consider ' ' where ' 0, ' 0. ' ' ( x x0)( y y0) ( x x0)( y y0). Prohibited for o o If is clockwise from (0,0) o x Consider now whether two consecutive line segments and turn left or right at. 0 Check whether 0 is clockwise from 0 ( 0) ( 0) 0 So, counterclockwise or left turn ( 0) ( 0) 0 So, clockwise or right turn 0 0
4 Intersection of two line segments A two stage rocess is used. The first stage is called quick-rejection. Bounding Box: The bounding box of a geometric figure is the smallest rectangle that contains the figure and whose segments are arallel to x and y axis. The bounding box ( ˆ, ˆ ) of the line segment is the box with lower lefthand oint where ˆ ( ˆ, ˆ x y), xˆ min( x, x) yˆ min( y, y ) and with uer right-hand oint ˆ ( ˆ, ˆ x y), where xˆ max( x, x) yˆ max( y, y ) Intersection of bounding boxes: Rectangles and ( ˆ, ˆ 4) intersect if and only if the following is true: ( ˆ, ˆ ) 3 ( ˆ, ˆ 4) xˆ xˆ ) ( xˆ xˆ ) ( yˆ yˆ ) ( yˆ ˆ ) 3 ( y ŷ 4 this will not ass the quick rejection test ŷ ŷ ŷ 3 ˆ, ˆ ( ) (0,0) ˆx 3 ˆx ˆx 4 ˆx
5 Intersection of two line segments (cont.) Second stage: Decide whether each segment meets ( straddles ) the line containing the other. A segment straddles a line if lies on one side of the line and on the other side. (the segment straddles the line also if or lies on the line) Observation: Two segments intersect iff they ass the quick rejection test and each segment straddles the other. Testing straddle with cross roducts: we show how to check if straddles the line L determined by and If 3 4 does straddle the line containing and, then the following have different signs. ( 3 ) ( ) ( ) ( ) Boundary cases where straddles L 3 4 At least one cross roduct is zero. Both cases ass the quick rejection test
6 Determining whether any air of segments intersect. Given n line segments, determine whether any air of them intersect. Sweeing: An imaginary vertical swee line moves across the x-axis (which acts as a time axis) from left to right. All line segment endoints are considered in a left-to-right order. Whenever endoint is found, a check for an intersection is made. Algorithm runs in O(n logn) time, where n is the number of segments. Algorithm does not look for all intersections, but just whether or not there is at least one intersection. It takes ( n ) time in the worst case to find all intersections (see Exercise 33.-) Standard simlifying assumtions: no inut segment is vertical no three inut segments intersect at a single oint. Order definition: Let s and s be two segments These segments are comarable at t if the vertical swee line with x-coordinate t intersects both segments. If s and s are comarable at t, then s is above s, written s t s, if s intersects the swee line at t at a higher oint than s. t s s x
7 x is a total order for each value of x (reflexive, antisymmetric, transitive) order x changes as x changes (swee line status and event oint schedule). a segment obtains an order when its left endoint is encountered by swee line. a segment looses its order when swee line reaches its right endoint. swee line behavior near an intersection oint if the intersection oint is not on a swee line, then there exist lines v and w immediately to the right and left of the intersection. the segment that has the higher intersection at v reverses its order with other segment as swee line asses from v to w. if is the leftmost intersection oint and is at intersection of segments a and b, then a and b intersect v at adjacent oints a and b are called consecutive at v. v a b w x
8 The Algorithm ANY-SEGMENTS-INTERSECTION(S) To maintain a total ordering T on the swee line as it moves, we need the following oerations: INSERT(T,s) insert segment s into T DELETE(T,s) delete segment s from T ABOVE(T,s) return the segment from T immediately above segment s BELOW(T,s) return the segment from T immediately below segment s Red-black trees can rovide a balanced search tree which can suort above oerations in O(log n) time (see Ch. 3 in CLRS) () T emtyset () Sort segment endoints from left to right. Break ties by utting oint with lower y-coordinate first. (3) For each oint in the sorted list (in order) (4) if is left endoint of segment s then (5) INSERT(T,s) (6) if [ABOVE(T,s) exists and it intersects s] or [BELOW(T,s) exists and it intersects s] then return TRUE (7) if is the right endoint of segment then (8) if both [ABOVE(T,s) and BELOW(T,s) exist] and [ABOVE(T,s) intersects BELOW(T,s)] then return TRUE (9) DELETE(T,s) (0) return FALSE Animated demo htt://
9 Comments and Correctness Sorting on line () will sort oints lexicograhically and require O(n logn) time. A boundary case occurs if oint in algorithm also lies on another segment s. In this case s and s should be in consecutive order at. Correctness Theorem: A call to ANY-SEGMENTS-INTERSECTION(S) returns true iff there is an intersection among the segments of S. If a true is returned, an intersection has been found between the two segments. Suose a false is returned, but an intersection actually exists. Let be the leftmost intersection oint (break ties by taking lowest y-coordinate). Let a and b be segments intersecting at. Since no intersection occurs to left of, T gives the correct order rior to. that is, no reversals in order have occurred. Since no three segments intersect at the same oint, there exists a swee line z at which a and b become consecutive. z is to the left of or goes through. There is an endoint q on z that is the event at which a and b become consecutive. If is on swee line z, then =q. If not, then q is left of. c q z a b x
10 Correctness and Runtime In either case, the order of T is correct before q is rocessed. Only two cases are ossible.. Either a or b is inserted into T at z and the other segment is above or below it. (In this case, intersection is detected by line (6).). Segments a and b are already in T and a segment c between them is deleted at z. (In this case, an intersection is detected by line (8).) In either case the intersection of a and b at is detected, so rocedure cannot return a FALSE, as suosed. c q a b Running Time: z sort on line () takes O(n logn) time, using merge or hea sort. since there are n events (endoints) where swee line stos, the loo iterates at most n times. each iteration of loo takes O(log n) time, since red-black tree oerations take O(log n) time. Total time is O(n logn). x
11 Convex Hull Algorithms Definitions and Proerties: Given n oints on the lane Q {,,..., n}. Intersection of all convex sets containing Q Smallest convex set containing Q Intersection of all half-lanes containing Q Union of all triangles formed by oints of Q Smallest convex olygon containing Q All vertices of hull are some oints of Q rubber band extreme oint always unique not extreme oint NOTE: convex-hull(q) is the closed solid region, not just the boundary CH(Q)
12 The Problem and Aroaches Problem: Given n oints on the lane Q {, Aroaches: Brute Force Gift Wraing QuickHull Graham Scan Incremental Divide and Conquer By Delaunay Triangulation & Voronoi Diagram,..., n }, find CH(Q). Brute-Force Aroach Determine extreme edges: q for each air of oints,q Q do if all other oints lie on one side of line assing thru and q then kee edge (, q) Sort edges in counterclockwise order (we want outut in counterclockwise) Running time: O(n 3 ) bad but not the worst yet
13 Gift Wraing or The Jarvis March Algorithm First suggested by Chand and Kaur (970). Then by Jarvis (973). Worst-case time: O(n ) Outut-sensitive time: O(nh), where h is the # of vertices of hull Can be extended to higher dimension was the rimary algorithm for higher dimensions for quite some time Method: Let 0 be the lowest oint (take leftmost oint in case of tie) The next convex hull vertex has the least olar angle w.r.t. the ositive horizontal ray from 0. Measure in counterclockwise If tie, choose the furthest such oint Vertices, 3,, k are icked similarly where k is the highest oint (leftmost) The sequence 0,,, 3,, k is the right chain of CH(Q). To choose the left chain of CH(Q), start with k choose k+ as the oint with least angle w.r.t. the negative horizontal ray from k k again, measure in counterclockwise direction and if tie occurs, choose furthest such oint. continue in same fashion until you obtain k, k+,, t = 0 0
14 Comlexity of Jarvis March For each vertex from CH(Q), it takes O() time to comare the olar angle of q j and qi using cross-roduct O(n) time to find minimum olar angle O(n) total time If CH(Q) has h vertices, then the running time is O(nh). In worst case h=o(n), hence O( n ) is worst case time bound. Worst case occurs when O(n) of oints lie on the convex hull, e.g., all oints lie on a circle. If oints in Q are generated by random generator, then we exect h= O(logn) In ractice, Jarvis march is normally very fast. If h=o(log n), then this algorithm is asymtotically fastest. Theorem: ( nlog n) Assume we want to sort n numbers create n oints on lane is a lower bound for comuting the convex hull. x, x,..., x } i ( x { n ) where ( i,..., n). construct CH CH({,,..., n}) get from descrition of CH original numbers in sorted order Conclusion: If we can construct CH in o(n logn) time then we can sort n numbers in o(n logn) time, which is imossible. i, y i y i x i y (0,0) x
15 Graham Scan Algorithm First a base oint 0 is selected. Normally this is the oint with minimum y- coordinate (select leftmost in case of tie) Next all oints are sorted w.r.t. the olar angle they make with a half-ray with left endoint 0 and arallel to x-axis. (!!! We do not need to comute those angles!!!) remove Remaining oints are stored in counterclockwise order w.r.t. 0 Let 0,,, 3,, m ( m n) be the sorted list of remaining oints. Clearly, 0 and are in CH(Q). Let S be a stack in which oints that are otentially convex hull oints will be stored. Initially S = 0. Remaining stes of the algorithm follow for i 3 to m do while (the angle formed by oints NEXT_TO_TOP(S), TOP(S), and i make a non-left turn) POP(S) PUSH(S, i ) return S Interior oints on ray cannot be convex hull oints and are removed during sort.
16 7 6 Examle and Runtime Comutation Requires O(n) to find 0 Sorting based on olar angle takes O(n logn) time Removal of n-m oints with dulicate angles takes O(n). For loo is executed m- times, hence O(n). Interior while statement is a roblem. It may iterate as many as O(n) time. Above observation can easily lead to an over-estimate of O( n ). Note that each ass through while statement, POP is executed. Note straight line here. 4 is eliminated, as non-left turn. 8 CH(Q)={ 0,, 3, 5, 7, 8 } As in analysis of MULTIPOP, there is at most one POP oeration for each PUSH oeration (see amortized analysis) Since 0,, m are not oed, at most m-3 POP oerations occur. Note, both POP and test for while take O() time and m n. Hence amortized cost for each iteration of while loo is O(). Overall worst-case cost of for-loo is O(n) Worst-case running time of the algorithm is O(n logn) (= O(n logn) + O(n)).
17 Correctness of Graham Scan Claim : Each oint oed from stack S is not a vertex of CH(Q) and lies inside new CH(S). Suose j is oed from S because k j i makes a non-left turn. Since oints are ordered in increasing olar angle w.r.t 0, the oints k j lie in counterclockwise order w.r.t. i i 0 and k j i contains j Then j cannot be a vertex of CH(Q). Claim : The oints on stack S always form the vertices of a convex olygon. 0 The claim holds initially for oints 0,,. They form a triangle. The stack changes by oints being oed or ushed. If a oint is oed, then a vertex is removed from convex olygon, leaving the resulting olygon convex. If a oint i is ushed, the resulting oints of S form a convex olygon. by choice of 0,, i lies above 0 (see diagram on next slide).. since a left turn occurs at j, i lies below j k. since i occurs later in the sequence than j, the olar angle of 0 i. is greater than the olar angle of 0 j. thus, i lies to the left of line 0 j,, i.e., i lies in the shaded region in diagram. so, after i is ushed on the stack, a convex region results. j k
18 Correctness of Graham Scan (cont.) j Diagram i k Claim 3: At the conclusion of the algorithm, the oints of S joined together consequently form a convex olygon that contains Q. By claim, all oints droed from S are not vertices of CH(Q). By claim, the oints of S are oints from Q that form a convex olygon By construction and claim, all oints of Q are either in S or lie interior to CH(S ) for some earlier S with CH(S ) CH(S). Then, at conclusion the oints of S joined together consequently give a convex olygon that contains all oints of Q. Animated demos htt:// htt:// htt:// htt:// 0
19 Closest Pair of Points Given n oints on the lane, find closest air of oints. The Euclidean distance between two oints x, ) and x, ) is ( y ( y d(, ) ( x x) ( y y) An obvious but naïve aroach is to comute the distance between any two oints and take minimum. However, running time is n O ( n ). A high-level descrition of a much better algorithm (at least for large sets) is given below. Let Q be a set of n lanar oints. If Q <4, then the distances between all airs of oints are comuted and the closest air is reorted. If Q >3, then a Divide & Conquer & Combine rocedure is followed. Each recursive call receives as inut Q a set P arrays X and Y containing oints P sorted by x and y coordinates, resectively
20 Divide and Conquer Stes Divide ste Find a vertical line L that bisects the oints in P into P and P with almost equal sizes. All oints in P are left of L or on L, all oints in P are right of L or on L. The array X is divided into arrays X and X which contain the oints of P and P, resectively, sorted by x-coordinates. Likewise the array Y is slit into arrays Y and Y which contain the oints of P and P, resectively, sorted by y-coordinates. At the beginning, Q has to be resorted by x-coordinates to obtain X and by y- coordinates to obtain Y. This we do before the first recursive call. Now, on each recursive call, the set P can easily be slit in linear time, giving sets P, P, X, and X. Both Y and Y can be formed by Y in linear time by walking through Y and utting each element in Y (or Y ) if it is in P (resectively, P ). Conquer Ste Make two recursive calls to find closest air of oints in P and P, resectively. First call gets inut (P, X, Y ) Second call gets inut (P,X,Y ) Set closest air returned for P and P have distance d and d, resectively. Set d = min{d, d }
21 Combine Combine Ste and Runtime Observe that if there is a air in P closer than d, then they must lie in a d d box about L, as follows. There can be at most 8 oints in each stri. Find the array Y consisting of the oints of Y within d of L, sorted by their y- coordinate. d d Runtime The initial rerocessing ste costs O(n logn) The recurrence relation for the recursive ortion is T(n), T ( n / ) where T( n) O() Its solution is T(n)= O(n logn). This gives also the total running time. d d L d d L Possible coincident oints, one in P and one in P. Next, for each oint from Y, check to see if d(,q)<d for each of the 7 oints q that follow in Y. Find the closest-air distance d, comuted in receding ste over all oints in Y. If d<d, then the closest air with distance d is returned. Otherwise, the closest air formed by the two recursive calls is returned. O( n) if if n 3 n 3
Cross products Line segments The convex combination of two distinct points p
CHAPTER Comutational Geometry Is the branch of comuter science that studies algorithms for solving geometric roblems. Has alications in many fields, including comuter grahics robotics, VLSI design comuter
More informationGraduate Algorithms CS F-19 Computational Geometry
Graduate Algorithms CS673-016F-19 Comutational Geometry David Galles Deartment of Comuter Science University of San Francisco 19-0: Cross Products Given any two oints 1 = (x 1,y 1 ) and = (x,y ) Cross
More informationCOT5405: GEOMETRIC ALGORITHMS
COT5405: GEOMETRIC ALGORITHMS Objects: Points in, Segments, Lines, Circles, Triangles Polygons, Polyhedra R n Alications Vision, Grahics, Visualizations, Databases, Data mining, Networks, GIS Scientific
More informationConvex Hulls. Helen Cameron. Helen Cameron Convex Hulls 1/101
Convex Hulls Helen Cameron Helen Cameron Convex Hulls 1/101 What Is a Convex Hull? Starting Point: Points in 2D y x Helen Cameron Convex Hulls 3/101 Convex Hull: Informally Imagine that the x, y-lane is
More informationLecture 3: Geometric Algorithms(Convex sets, Divide & Conquer Algo.)
Advanced Algorithms Fall 2015 Lecture 3: Geometric Algorithms(Convex sets, Divide & Conuer Algo.) Faculty: K.R. Chowdhary : Professor of CS Disclaimer: These notes have not been subjected to the usual
More informationLecture 2: Fixed-Radius Near Neighbors and Geometric Basics
structure arises in many alications of geometry. The dual structure, called a Delaunay triangulation also has many interesting roerties. Figure 3: Voronoi diagram and Delaunay triangulation. Search: Geometric
More informationLecture 8: Orthogonal Range Searching
CPS234 Comutational Geometry Setember 22nd, 2005 Lecture 8: Orthogonal Range Searching Lecturer: Pankaj K. Agarwal Scribe: Mason F. Matthews 8.1 Range Searching The general roblem of range searching is
More informationWe will then introduce the DT, discuss some of its fundamental properties and show how to compute a DT directly from a given set of points.
Voronoi Diagram and Delaunay Triangulation 1 Introduction The Voronoi Diagram (VD, for short) is a ubiquitious structure that aears in a variety of discilines - biology, geograhy, ecology, crystallograhy,
More informationComputational geometry
Computational geometry Inge Li Gørtz CLRS Chapter 33.0, 33.1, 33.3. Computational Geometry Geometric problems (this course Euclidean plane). Does a set of line segments intersect, dividing plane into regions,
More informationComputational Geometry. Algorithm Design (10) Computational Geometry. Convex Hull. Areas in Computational Geometry
Computational Geometry Algorithm Design (10) Computational Geometry Graduate School of Engineering Takashi Chikayama Algorithms formulated as geometry problems Broad application areas Computer Graphics,
More informationThe Spatial Skyline Queries
Coffee sho The Satial Skyline Queries Mehdi Sharifzadeh and Cyrus Shahabi VLDB 006 Presented by Ali Khodaei Coffee sho Three friends Coffee sho Three friends Don t choose this lace is closer to each three
More informationComputing the Convex Hull of. W. Hochstattler, S. Kromberg, C. Moll
Reort No. 94.60 A new Linear Time Algorithm for Comuting the Convex Hull of a Simle Polygon in the Plane by W. Hochstattler, S. Kromberg, C. Moll 994 W. Hochstattler, S. Kromberg, C. Moll Universitat zu
More informationCMSC 754 Computational Geometry 1
CMSC 754 Comutational Geometry 1 David M. Mount Deartment of Comuter Science University of Maryland Fall 2002 1 Coyright, David M. Mount, 2002, Det. of Comuter Science, University of Maryland, College
More informationCSE 5311 Notes 13: Computational Geometry
CSE 5311 Notes 13: Computational Geometry (Last updated 4/17/17 4:39 PM) SMALLEST ENCLOSING DISK See section 4.7 of de Berg ( http://dx.doi.org.ezproxy.uta.edu/10.1007/978-3-540-77974-2 ) Algorithm MINIDISC(P)
More informationComputational 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 informationConvex Hull Algorithms
Convex Hull Algorithms Design and Analysis of Algorithms prof. F. Malucelli Villa Andrea e Ceriani Simone Outline Problem Definition Basic Concepts Bruteforce Algorithm Graham Scan Algorithm Divide and
More informationCS 410/584, Algorithm Design & Analysis, Lecture Notes 8
CS 410/584,, Computational Geometry Algorithms for manipulation of geometric objects We will concentrate on 2-D geometry Numerically robust try to avoid division Round-off error Divide-by-0 checks Techniques
More informationLast time. Today: Convex Hull Brute Force Inside(q,abc) Intersect(ab,cd) Orient(a,b,c).
Last time Convex Hull Brute Force Inside(q,abc) Intersect(ab,cd) Orient(a,b,c). Today: More efficient convex hull algorithms and absolute bounds. Two (of many) algorithms. One (of one) interesting reduction.
More informationCMSC 425: Lecture 16 Motion Planning: Basic Concepts
: Lecture 16 Motion lanning: Basic Concets eading: Today s material comes from various sources, including AI Game rogramming Wisdom 2 by S. abin and lanning Algorithms by S. M. LaValle (Chats. 4 and 5).
More informationCS 410/584, Algorithm Design & Analysis, Lecture Notes 8!
CS 410/584, Algorithm Design & Analysis, Computational Geometry! Algorithms for manipulation of geometric objects We will concentrate on 2-D geometry Numerically robust try to avoid division Round-off
More informationVoronoi Diagram and Convex Hull
Voronoi Diagram and Convex Hull The basic concept of Voronoi Diagram and Convex Hull along with their properties and applications are briefly explained in this chapter. A few common algorithms for generating
More informationComputational Geometry 2D Convex Hulls. Joseph S. B. Mitchell Stony Brook University
Computational Geometry 2D Convex Hulls Joseph S. B. Mitchell Stony Brook University Comparing O(n), O(n log n), O(n 2 ) n n log n n² 2 10 10³ 10 2 10 10 4 2 20 10 6 2 20 10 6 20 2 20 2 10 7 2 40 10 12
More informationGeometric Algorithms. 1. Objects
Geometric Algorithms 1. Definitions 2. Line-Segment properties 3. Inner Points of polygons 4. Simple polygons 5. Convex hulls 6. Closest pair of points 7. Diameter of a point set 1. Objects 2-dimensional
More informationShuigeng Zhou. May 18, 2016 School of Computer Science Fudan University
Query Processing Shuigeng Zhou May 18, 2016 School of Comuter Science Fudan University Overview Outline Measures of Query Cost Selection Oeration Sorting Join Oeration Other Oerations Evaluation of Exressions
More informationAn improved algorithm for Hausdorff Voronoi diagram for non-crossing sets
An imroved algorithm for Hausdorff Voronoi diagram for non-crossing sets Frank Dehne, Anil Maheshwari and Ryan Taylor May 26, 2006 Abstract We resent an imroved algorithm for building a Hausdorff Voronoi
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 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 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 informationRange Searching. Data structure for a set of objects (points, rectangles, polygons) for efficient range queries.
Range Searching Data structure for a set of objects (oints, rectangles, olygons) for efficient range queries. Y Q Deends on tye of objects and queries. Consider basic data structures with broad alicability.
More informationComputational Geometry. Geometry Cross Product Convex Hull Problem Sweep Line Algorithm
GEOMETRY COMP 321 McGill University These slides are mainly compiled from the following resources. - Professor Jaehyun Park slides CS 97SI - Top-coder tutorials. - Programming Challenges books. Computational
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 informationAdvanced Algorithm Homework 4 Results and Solutions
Advanced Algorithm Homework 4 Results and Solutions ID 1 2 3 4 5 Av Ex 2554 6288 9919 10 6 10 10 9.5 8.9 10-1 4208 10 10 9 8.5 10 9.5 9 0996 10 10 10 10 10 10 10 8239 10 10 10 10 10 10 10 7388 8 8.5 9
More informationThe Edge-flipping Distance of Triangulations
The Edge-fliing Distance of Triangulations Sabine Hanke (Institut für Informatik, Universität Freiburg, Germany hanke@informatik.uni-freiburg.de) Thomas Ottmann (Institut für Informatik, Universität Freiburg,
More informationProf. Gill Barequet. Center for Graphics and Geometric Computing, Technion. Dept. of Computer Science The Technion Haifa, Israel
Computational Geometry (CS 236719) http://www.cs.tufts.edu/~barequet/teaching/cg Chapter 1 Introduction 1 Copyright 2002-2009 2009 Prof. Gill Barequet Center for Graphics and Geometric Computing Dept.
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 informationConstrained Empty-Rectangle Delaunay Graphs
CCCG 2015, Kingston, Ontario, August 10 12, 2015 Constrained Emty-Rectangle Delaunay Grahs Prosenjit Bose Jean-Lou De Carufel André van Renssen Abstract Given an arbitrary convex shae C, a set P of oints
More information521493S Computer Graphics Exercise 3 (Chapters 6-8)
521493S Comuter Grahics Exercise 3 (Chaters 6-8) 1 Most grahics systems and APIs use the simle lighting and reflection models that we introduced for olygon rendering Describe the ways in which each of
More informationTriangulation and Convex Hull. 8th November 2018
Triangulation and Convex Hull 8th November 2018 Agenda 1. Triangulation. No book, the slides are the curriculum 2. Finding the convex hull. Textbook, 8.6.2 2 Triangulation and terrain models Here we have
More informationlevel 0 level 1 level 2 level 3
Communication-Ecient Deterministic Parallel Algorithms for Planar Point Location and 2d Voronoi Diagram? Mohamadou Diallo 1, Afonso Ferreira 2 and Andrew Rau-Chalin 3 1 LIMOS, IFMA, Camus des C zeaux,
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 informationarxiv: v1 [math.gt] 1 May 2018
CIRCUIT PRESENTATION AND LATTICE STICK NUMBER WITH EXACTLY 4 z-sticks HYOUNGJUN KIM AND SUNGJONG NO arxiv:805.0023v [math.gt] May 208 Abstract. The lattice stick number s L(L) of a link L is defined to
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 informationCurve Reconstruction taken from [1]
Notes by Tamal K. Dey, OSU 47 Curve Reconstruction taken from [1] The simlest class of manifolds that ose nontrivial reconstruction roblems are curves in the lane. We will describe two algorithms for curve
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 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 informationThe convex hull of a set Q of points is the smallest convex polygon P for which each point in Q is either on the boundary of P or in its interior.
CS 312, Winter 2007 Project #1: Convex Hull Due Dates: See class schedule Overview: In this project, you will implement a divide and conquer algorithm for finding the convex hull of a set of points and
More informationDeformable Free Space Tilings for Kinetic Collision Detection
Deformable Free Sace Tilings for Kinetic Collision Detection Pankaj K. Agarwal Julien Basch Leonidas J. Guibas John Hershberger Li Zhang Abstract We resent kinetic data structures for detecting collisions
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 informationUPDATING ALGORITHMS FOR CONSTRAINT DELAUNAY TIN
UPDATING ALGORITMS FOR CONSTRAINT DELAUNAY TIN WU LiXin a,b WANG YanBing a, c a Institute for GIS/RS/GPS & Subsidence Engineering Research, China Uni Mining & Technology, Beijing, China, 100083 - awulixin@263.net,
More informationComputational Geometry. HKU ACM ICPC Training 2010
Computational Geometry HKU ACM ICPC Training 2010 1 What is Computational Geometry? Deals with geometrical structures Points, lines, line segments, vectors, planes, etc. A relatively boring class of problems
More informationLecture 7: Computational Geometry
Lecture 7: Computational Geometry CS 491 CAP Uttam Thakore Friday, October 7 th, 2016 Credit for many of the slides on solving geometry problems goes to the Stanford CS 97SI course lecture on computational
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 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 informationCS335 Fall 2007 Graphics and Multimedia. 2D Drawings: Lines
CS335 Fall 007 Grahics and Multimedia D Drawings: Lines Primitive Drawing Oerations Digital Concets of Drawing in Raster Arras PIXEL is a single arra element at x, - No smaller drawing unit exists Px,
More informationCS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk
CS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk 8/29/06 CS 6463: AT Computational Geometry 1 Convex Hull Problem Given a set of pins on a pinboard and a rubber band around them.
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 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 informationCSE 546, Fall, 2016 Homework 1
CSE 546, Fall, 2016 Homework 1 Due at the beginning of class Thursday, Sept. 15 at 2:30pm. Accepted without penalty until Friday, noon, in my mailbox in the Dept. office, third floor of Jolley. Notes about
More informationVoronoi Diagrams. A Voronoi diagram records everything one would ever want to know about proximity to a set of points
Voronoi Diagrams Voronoi Diagrams A Voronoi diagram records everything one would ever want to know about proximity to a set of points Who is closest to whom? Who is furthest? We will start with a series
More informationChapter 3: Graphics Output Primitives. OpenGL Line Functions. OpenGL Point Functions. Line Drawing Algorithms
Chater : Grahics Outut Primitives Primitives: functions in grahics acage that we use to describe icture element Points and straight lines are the simlest rimitives Some acages include circles, conic sections,
More informationA Minimalist s Implementation of the 3-d Divide-and-Conquer Convex Hull Algorithm
A Minimalist s Implementation of the 3-d Divide-and-Conquer Convex Hull Algorithm Timothy M. Chan Presented by Dana K. Jansens Carleton University Simple Polygons Polygon = A consecutive set of vertices
More information2D Geometry. Pierre Alliez Inria Sophia Antipolis
2D Geometry Pierre Alliez Inria Sophia Antipolis Outline Sample problems Polygons Graphs Convex hull Voronoi diagram Delaunay triangulation Sample Problems Line Segment Intersection Theorem: Segments (p
More informationThe Spatial Skyline Queries
The Satial Skyline Queries Mehdi Sharifzadeh Comuter Science Deartment University of Southern California Los Angeles, CA 90089-078 sharifza@usc.edu Cyrus Shahabi Comuter Science Deartment University of
More informationCSCE 411 Design and Analysis of Algorithms
CSCE 411 Design and Analysis of Algorithms Set 3: Divide and Conquer Slides by Prof. Jennifer Welch Spring 2014 CSCE 411, Spring 2014: Set 3 1 General Idea of Divide & Conquer 1. Take your problem and
More informationGeometry. Zachary Friggstad. Programming Club Meeting
Geometry Zachary Friggstad Programming Club Meeting Points #i n c l u d e typedef complex p o i n t ; p o i n t p ( 1. 0, 5. 7 ) ; p. r e a l ( ) ; // x component p. imag ( ) ; // y component
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 informationDesign and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute
Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute Module 07 Lecture - 38 Divide and Conquer: Closest Pair of Points We now look at another divide and conquer algorithm,
More informationRandomized algorithms: Two examples and Yao s Minimax Principle
Randomized algorithms: Two examles and Yao s Minimax Princile Maximum Satisfiability Consider the roblem Maximum Satisfiability (MAX-SAT). Bring your knowledge u-to-date on the Satisfiability roblem. Maximum
More informationIn 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 informationRecognizing Convex Polygons with Few Finger Probes
Pattern Analysis and Alications manuscrit No. (will be inserted by the editor) Recognizing Convex Polygons with Few Finger Probes Sumanta Guha Kiêu Trọng Khánh Received: date / Acceted: date Abstract The
More informationsplit split (a) (b) split split (c) (d)
International Journal of Foundations of Comuter Science c World Scientic Publishing Comany ON COST-OPTIMAL MERGE OF TWO INTRANSITIVE SORTED SEQUENCES JIE WU Deartment of Comuter Science and Engineering
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 informationUsing Rational Numbers and Parallel Computing to Efficiently Avoid Round-off Errors on Map Simplification
Using Rational Numbers and Parallel Comuting to Efficiently Avoid Round-off Errors on Ma Simlification Maurício G. Grui 1, Salles V. G. de Magalhães 1,2, Marcus V. A. Andrade 1, W. Randolh Franklin 2,
More informationCOMPUTING CONSTRAINED DELAUNAY
COMPUTING CONSTRAINED DELAUNAY TRIANGULATIONS IN THE PLANE By Samuel Peterson, University of Minnesota Undergraduate The Goal The Problem The Algorithms The Implementation Applications Acknowledgments
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 informationChapter 4. Divide-and-Conquer. Copyright 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 4 Divide-and-Conquer Copyright 2007 Pearson Addison-Wesley. All rights reserved. Divide-and-Conquer The most-well known algorithm design strategy: 2. Divide instance of problem into two or more
More informationCSC Design and Analysis of Algorithms
CSC 8301- Design and Analysis of Algorithms Lecture 6 Divide and Conquer Algorithm Design Technique Divide-and-Conquer The most-well known algorithm design strategy: 1. Divide a problem instance into two
More informationDivide-and-Conquer. The most-well known algorithm design strategy: smaller instances. combining these solutions
Divide-and-Conquer The most-well known algorithm design strategy: 1. Divide instance of problem into two or more smaller instances 2. Solve smaller instances recursively 3. Obtain solution to original
More informationPreferred directions for resolving the non-uniqueness of Delaunay triangulations
Preferred directions for resolving the non-uniqueness of Delaunay triangulations Christopher Dyken and Michael S. Floater Abstract: This note proposes a simple rule to determine a unique triangulation
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 informationNotes 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 informationParallel Construction of Multidimensional Binary Search Trees. Ibraheem Al-furaih, Srinivas Aluru, Sanjay Goil Sanjay Ranka
Parallel Construction of Multidimensional Binary Search Trees Ibraheem Al-furaih, Srinivas Aluru, Sanjay Goil Sanjay Ranka School of CIS and School of CISE Northeast Parallel Architectures Center Syracuse
More informationDr Pavan Chakraborty IIIT-Allahabad
GVC-43 Lecture - 5 Ref: Donald Hearn & M. Pauline Baker, Comuter Grahics Foley, van Dam, Feiner & Hughes, Comuter Grahics Princiles & Practice Dr Pavan Chakraborty IIIT-Allahabad Summary of line drawing
More informationClipping. Administrative. Assignment 1 Gallery. Questions about previous lectures? Overview of graphics pipeline? Assignment 2
Cliing MIT EECS 6.837 Frédo Durand and Seth Teller Some slides and images courtesy of Leonard McMillan MIT EECS 6.837, Teller and Durand 1 MIT EECS 6.837, Teller and Durand 2 Administrative Assignment
More informationComputational Geometry Algorithmische Geometrie
Algorithmische Geometrie Panos Giannopoulos Wolfgang Mulzer Lena Schlipf AG TI SS 2013 !! Register in Campus Management!! Outline What you need to know (before taking this course) What is the course about?
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 informationComputational 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 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 informationLecture 1: September 6, 2001
Lecture 1: September 6, 2001 Welcome to 6.838J, Geometric Computation! Introductions Overview and Goals General Information Syllabus 2D Convex Hull Signup sheets (return by end of class) MIT 6.838J/4.214J
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 informationsearch(i): Returns an element in the data structure associated with key i
CS161 Lecture 7 inary Search Trees Scribes: Ilan Goodman, Vishnu Sundaresan (2015), Date: October 17, 2017 Virginia Williams (2016), and Wilbur Yang (2016), G. Valiant Adated From Virginia Williams lecture
More informationLecture 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 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 information[Me] Meisters, G. H., Polygons have ears, American Mathematical Monthly, June/July 1975, pp
4. Applications Meisters [Me] Two-Ears Theorem was motivated by the problem of triangulating a simple polygon. In fact Meisters suggests a greedy, but concise algorithm to achieve this goal, i.e., find
More information6.854J / J Advanced Algorithms Fall 2008
MIT OpenCourseWare http://ocw.mit.edu 6.854J / 18.415J Advanced Algorithms Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.415/6.854 Advanced
More informationCS2 Algorithms and Data Structures Note 8
CS2 Algorithms and Data Structures Note 8 Heasort and Quicksort We will see two more sorting algorithms in this lecture. The first, heasort, is very nice theoretically. It sorts an array with n items in
More informationEE678 Application Presentation Content Based Image Retrieval Using Wavelets
EE678 Alication Presentation Content Based Image Retrieval Using Wavelets Grou Members: Megha Pandey megha@ee. iitb.ac.in 02d07006 Gaurav Boob gb@ee.iitb.ac.in 02d07008 Abstract: We focus here on an effective
More informationCSE4421/5324: Introduction to Robotics
CSE442/5324: Introduction to Robotics Contact Information Burton Ma Lassonde 246 burton@cse.yorku.ca EECS442/5324 lectures Monday, Wednesday, Friday :3-2:3PM (SLH C) Lab Thursday 2:3-2:3, Prism 4 Lab 2
More informationCSC Design and Analysis of Algorithms. Lecture 6. Divide and Conquer Algorithm Design Technique. Divide-and-Conquer
CSC 8301- Design and Analysis of Algorithms Lecture 6 Divide and Conquer Algorithm Design Technique Divide-and-Conquer The most-well known algorithm design strategy: 1. Divide a problem instance into two
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 information