Convex Hulls. Helen Cameron. Helen Cameron Convex Hulls 1/101

Size: px
Start display at page:

Download "Convex Hulls. Helen Cameron. Helen Cameron Convex Hulls 1/101"

Transcription

1 Convex Hulls Helen Cameron Helen Cameron Convex Hulls 1/101

2 What Is a Convex Hull?

3 Starting Point: Points in 2D y x Helen Cameron Convex Hulls 3/101

4 Convex Hull: Informally Imagine that the x, y-lane is a board and the oints are nails sticking out of the board If you stretch an elastic so that all the nails are inside it and then let go of the elastic, the elastic will tighten into the boundary of the convex hull of the oints y x Helen Cameron Convex Hulls 4/101

5 Starting Point: Simle Polygons y Polygon: A sequence of oints connected by edges into a closed curve Simle: Only consecutive edges intersect (at their common endoints) x Helen Cameron Convex Hulls 5/101

6 Starting Point: Simle Polygons y For comarison, here s a non-simle olygon x Helen Cameron Convex Hulls 6/101

7 Inside and Outside y A simle olygon has an inside and an outside The inside is always on your left if you walk the boundary in a counterclockwise direction x Helen Cameron Convex Hulls 7/101

8 Interior Angles y The interior angle at a oint is the angle inside the olygon between the oint s adjacent edges x Helen Cameron Convex Hulls 8/101

9 Convex Angles y A convex angle is an angle < 180 degrees (π in radians) not convex convex x Helen Cameron Convex Hulls 9/101

10 Convex Polygon y A convex olygon has only convex interior angles x Helen Cameron Convex Hulls 10/101

11 Convex Polygon y Equivalent definition: A olygon is convex if, for any two oints in or on the olygon, the line segment connecting the two oints is entirely contained in the olygon x Helen Cameron Convex Hulls 11/101

12 Convex Hull: Formally The convex hull of a set of 2D oints is the smallest convex olygon that contains the oints y x Helen Cameron Convex Hulls 12/101

13 Why Care About Convex Hulls? (Some alications!)

14 Convex Hulls Are Easier Collision avoidance is faster and easier using the convex hull of a robot or a car than working with its exact (more comlex) shae SevenTransarentjg By Brian Snelson (originally osted to Flickr as My car hotoshoed) [CC BY 20 (htts://creativecommons org/licenses/by/20)], via Wikimedia Commons Helen Cameron Convex Hulls 14/101

15 Removing Outliers Often, we want to estimate some arameter from a small, randomly-chosen samle of a oulation of oints This sort of estimation is used, for examle, in medical diagnostics and network intrusion detection File:Pankreas-Ca im CT - Coeliacusblockadeng By Hellerhoff [CC BY 20 (htts://creativecommonsorg/ licenses/by/20)], via Wikimedia Commons Helen Cameron Convex Hulls 15/101

16 Removing Outliers Examle outliers Some arameter estimations are very sensitive to outliers (oints that are far from most of the other oints in the oulation) Helen Cameron Convex Hulls 16/101

17 Removing Outliers Get rid of outlier oints in 2D: Reeatedly find and then eel off the convex hull, until no more than some chosen fraction of the original oints remains Then you can safely estimate the desired arameter Original oints Next hull Outermost hull Remaining oints Points to estimate from: Helen Cameron Convex Hulls 17/101

18 Finding the Convex Hull: Inut and Outut

19 The Inut (If You re Writing a Program) Inut: A list of 2D oints ( x, y ), in no articular order Examle inut: (98,106) (7,13) (128,87) (1035,121) (112, 145) (8,11) (75,98) (91,122) (78,73) (102,95) (117,96) (96,91) (95,78) (855,102) (107,101) (1255,83) (885,91) (84,138) (10,87) (122,107) (11, 104) (1055,83) Helen Cameron Convex Hulls 19/101

20 The Outut (If You re Writing a Program) Outut: The oints on the boundary of the convex hull of the inut oints, listed in the order of a counter-clockwise traversal of the boundary Examle outut: (7,13) (78,73) (1255,83) (128,87) (112, 145) (84,138) (7,13) Helen Cameron Convex Hulls 20/101

21 Left, Right, or Collinear?

22 Leftness Testing for a Line Segment Useful test when finding the convex hull: Is oint q to the left, right or collinear with a directed line segment a, b that is, if we re standing on endoint a and facing the other endoint b, is q to our left, to our right or somewhere on the infinite line through a and b? q 1 q 0 b q 2 a Helen Cameron Convex Hulls 22/101

23 Leftness Testing from a Line Segment A method that returns true if q is to the left of a, b (returns false otherwise): boolean isleft( Point q, Point a, Point b ) { return 0 < (bx-ax)*(qy-ay) - (by-ay)*(qx-ax); } A method that returns true if q is to the right of a, b (returns false otherwise): boolean isright( Point q, Point a, Point b ) { return 0 < (bx-ax)*(qy-ay) - (by-ay)*(qx-ax); } A method that returns true if q is collinear with a, b (returns false otherwise): boolean iscollinear( Point q, Point a, Point b ) { return 0 == (bx-ax)*(qy-ay) - (by-ay)*(qx-ax); } Helen Cameron Convex Hulls 23/101

24 Leftness Testing from a Line Segment The leftness test is using the right-hand rule : Lay the outer edge of your right hand along a, b (fingers ointing from a to b) with your thumb sticking u If your fingers naturally curl towards q, then q is to the left The right-hand rule has to do with the cross roduct of two vectors Helen Cameron Convex Hulls 24/101

25 A Vector A vector is a directed line segment starting at the origin and ending at oint Note: We ll work with a directed line segment starting at some oint a and ending at oint b we ll have to translate a to the origin by subtracting a from all oints (Really: subtract a x from all oints x-coordinates and subtract a y from all oints y-coordinates) Helen Cameron Convex Hulls 25/101

26 Area of a Triangle: Vector Cross Product The cross roduct q of two vectors = ( x, y, z ) and q = (q x, q y, q z ) only makes sense in 3D: it is the vector erendicular to both and q given by the right-hand rule and whose magnitude is given by the absolute value of x y z x y z q x q y q z = ( y q z z q y ) x +( z q x x q z ) y +( x q y y q x ) z Note: x is the unit vector in the ositive x-direction, y is the unit vector in the ositive y-direction, and z is the unit vector in the ositive z-direction Helen Cameron Convex Hulls 26/101

27 Area of a Triangle: Vector Cross Product For 2D vectors, the z-coordinates z = q z = 0 and the cross-roduct formula reduces to ( x q y y q x ) z If oint q is to the left of vector, then x q y y q x is ositive (follows right-hand rule) If oint q is to the right, then x q y y q x is negative (erendicular in the oosite direction) If oint q is collinear with vector, then x q y y q x is zero Helen Cameron Convex Hulls 27/101

28 Examles Examle 1: If = (3, 1) and q = (2, 4), then the calculation gives ( x q y y q x ) z = ( ) z = 10 z Conclusion: q is to the left of q (0, 0) Helen Cameron Convex Hulls 28/101

29 Examles Examle 2: If = ( 1, 4) and q = (2, 4), then the calculation is ( x q y y q x ) z = ( ) z = 12 z Conclusion: q is to the right of q (0, 0) Helen Cameron Convex Hulls 29/101

30 Examles Examle 3: If = (1, 1) and q = (2, 2), then the calculation gives ( x q y y q x ) z = ( ) z = 0 z Conclusion: q is collinear with q (0, 0) Helen Cameron Convex Hulls 30/101

31 Leftness Testing and Line Segments We re usually working not with a vector (tail at the origin and head at some oint ), but with a directed line segment (tail at some oint a and head at some other ont b) To test if oint q is to the left of directed line segment a, b, we take the cross roduct of vectors b a and q a Helen Cameron Convex Hulls 31/101

32 Leftness Testing and Line Segments Examle: If we want to know if oint q = (4, 5) is to the left of line segment a, b, where a = (2, 1) and b = (5, 2), we translate to asking if oint q a = (2, 4) is to the left of directed line segment a a, b a = vector b a = (3, 1) this translation is Examle 1 above: q a q b a b a (0, 0) Helen Cameron Convex Hulls 32/101

33 Graham s Scan

34 Graham s Scan: Overview Graham s scan: Finds a convex hull of a set S of two-dimensional oints Examle inut: Find the convex hull of (8, 8), (2, 4), (0, 11), (5, 6), (6, 10), (10, 5), (1, 6), (5, 12),(2, 8), and (9, 13): (0, 11) (5, 12) (6, 10) (9, 13) (2, 8) (8, 8) (1, 6) (2, 4) (5, 6) (10, 5) Helen Cameron Convex Hulls 34/101

35 Graham s Scan: Overview Graham s scan uses a list: Each oint is ushed onto the end of the list once, and eventually oed off the end of the list if the oint is not on the convex hull At the end of the algorithm, the list contains the counterclockwise ordering of oints on the hull, from the beginning to the end of the list Helen Cameron Convex Hulls 35/101

36 Graham s Scan: Overview Examle Outut: For the revious examle oints, Graham s scan returns (2, 4), (10, 5), (9, 13), (0, 11), and (1, 6) (in that order), because that s what its list contains (from beginning to end of the list) at the end of Graham s scan: (9, 13) (0, 11) (5, 12) (6, 10) (2, 8) (8, 8) (2, 4) (1, 6) (5, 6) (10, 5) Helen Cameron Convex Hulls 36/101

37 Graham s Scan Has Four Stes Ste 1: Find the oint 0 with the lowest y-coordinate (0, 11) (5, 12) (6, 10) (9, 13) (2, 8) (8, 8) (1, 6) 0 (2, 4) (5, 6) (10, 5) Helen Cameron Convex Hulls 37/101

38 Graham s Scan Has Four Stes Ste 2: Sort the oints by angle around 0 (that is, by olar coordinates ) discarded 1 0 Helen Cameron Convex Hulls 38/101

39 Graham s Scan Has Four Stes Ste 3: Initialize the list L to contain 0, 1, and 2 (in that order): discarded 1 0 Helen Cameron Convex Hulls 39/101

40 Graham s Scan Has Four Stes Ste 4: Process each of the other oints in order, 3, 4,, m 1 When we re rocessing oint i : (4a) Loo: Suose oints 2nd last and last are the last two oints on the end our list L Remove last from the end of L if i (the oint we re rocessing) is NOT to the left of directed line segment 2nd last last Reeat this until i is to the left of 2nd last last (4b) Add i to the end of L Helen Cameron Convex Hulls 40/101

41 Graham-Scan( S ) 1 Find 0, the oint in S with the lowest y-coordinate (break ties by choosing the leftmost such oint) 2 Sort the other oints in S by olar angle around 0 (if two or more oints have the same olar angle, remove all but the one farthest from 0 ) Let the sorted order be 1, 2,, m 1 3 L = emty list Add 0 to the end of L Add 1 to the end of L Add 2 to the end of L 4 For each oint i in order from 3 to m 1 do 4a While i is not left of directed line segment 2nd last last Remove the oint last from the end of L 4b Add i to the end of L

42 Ste 1: Finding Lowest Point 0 Question: How do we find the oint 0 with the lowest y-coordinate? (0, 11) (5, 12) (6, 10) (9, 13) (2, 8) (8, 8) (1, 6) 0 (2, 4) (5, 6) (10, 5) Answer: Simly loo through the oints, looking only at the y-coordinates of each oint (do a findlowest) Helen Cameron Convex Hulls 42/101

43 Ste 1: Finding Lowest Point 0 Question: How do we find the oint 0 with the lowest y-coordinate? findlowest( Point[] S ) returns int { int minindex = 0; // Assume S[0] is 0 for ( int i = 1; i < Slength; i++ ) { if (S[i]y < S[minIndex]y ) minindex = i; else if ((S[i]y == S[minIndex]y) && (S[i]x < S[minIndex]x)) minindex = i; } // end for return minindex; } // end findlowest At the end, S[minIndex] is the oint with the lowest y-coordinate (in case of ties, it s the leftmost of the lowest oints) Helen Cameron Convex Hulls 43/101

44 Ste 2: Sorting by Polar Coordinate Question: How do we sort by olar coordinate? discarded 1 0 Answer: Use any sorting algorithm such as merge sort or quick sort Helen Cameron Convex Hulls 44/101

45 Ste 2: Sorting by Polar Coordinate In the sorting algorithm, when comaring two oints i and j to decide which comes first in the sorted order ( Is i before j in the sorted order? ): Test if j is to the left of directed line segment 0, i using the cross roduct method If j is to the left, then i comes before j in the sorted order If j is to the right of 0, i, then i comes after j in the sorted order If the cross roduct gives 0, then 0, i and j are collinear Comute the distance of i and j from 0 and discard the closer one Helen Cameron Convex Hulls 45/101

46 Ste 2: Sorting by Polar Coordinate Further note: If the cross roduct gives 0, do not erform the square root in the calculation of the distance: Just discard i if is smaller than otherwise, discard j ( i x 0 x) 2 + ( i y 0 y) 2 ( j x 0 x) 2 + ( j y 0 y) 2 ; Comuting square roots is too exensive and we do not need to know the exact distance measurement, we just need to know which is closer to 0 Helen Cameron Convex Hulls 46/101

47 Graham s Scan Examle Examle: Given the following set of oints, comute the convex hull Helen Cameron Convex Hulls 47/101

48 Graham s Scan Examle Examle (continued): First choose 0 to be the leftmost oint among the two oints with the same lowest y-coordinate Then sort the remaining oints by olar angle: Helen Cameron Convex Hulls 48/101

49 Graham s Scan Examle Examle (continued): Now add 0, 1, 2 on the list L Helen Cameron Convex Hulls 49/101

50 Graham s Scan Examle Examle (continued): Consider oint 3 : Because 2, 3 is not a left turn from 1, 2, remove 2 from the list L Helen Cameron Convex Hulls 50/101

51 Graham s Scan Examle Examle (continued): Still considering oint 3 : Because 1, 3 is a left turn from 0, 1, add 3 onto the list L Helen Cameron Convex Hulls 51/101

52 Graham s Scan Examle Examle (continued): Consider oint 4 : Because 3, 4 is a left turn from 1, 3, add 4 onto the list L Helen Cameron Convex Hulls 52/101

53 Graham s Scan Examle Examle (continued): Consider oint 5 : Because 4, 5 is not a left turn from 3, 4, remove 4 from the list L Helen Cameron Convex Hulls 53/101

54 Graham s Scan Examle Examle (continued): Still considering oint 5 : Because 3, 5 is a left turn from 1, 3, add 5 onto the list L Helen Cameron Convex Hulls 54/101

55 Graham s Scan Examle Examle (continued): Consider oint 6 : Because 5, 6 is a left turn from 3, 5, add 6 onto the list L Helen Cameron Convex Hulls 55/101

56 Graham s Scan Examle Examle (continued): Consider oint 7 : Because 6, 7 is not a left turn from 5, 6, remove 6 from the list L Helen Cameron Convex Hulls 56/101

57 Graham s Scan Examle Examle (continued): Still considering oint 7 : Because 5, 7 is a left turn from 3, 5, add 7 onto the list L Helen Cameron Convex Hulls 57/101

58 Graham s Scan Examle Examle (continued): Consider oint 8 : Because 7, 8 is a left turn from 5, 7, add 8 onto the list L The convex hull is reresented by the counterclockwise ordering 0, 1, 3, 5, 7, 8 Helen Cameron Convex Hulls 58/101

59 What Is Ste 4(a) Doing? Idea: When Graham s scan is about to rocess i, list L contains the convex hull of the oints reviously rocessed 0,, i 1 Graham s scan tries to add the next oint i by simly adding triangle 0, i 1, i to the convex hull i i 1 CH( 0 i 1 ) 0 1 Helen Cameron Convex Hulls 59/101

60 What Is Ste 4(a) Doing? Idea: But the result is not a convex hull if i is not a left turn from the revious edge in CH( 0,, i 1 )) Graham s Scan fixes the convexity roblem by adding more triangles on the outside of the olygon ( filling in non-left turns to i with another triangle): i j k i 1 CH( 0 i 1 ) 0 1 Helen Cameron Convex Hulls 60/101

61 How Fast Is Graham s Scan? To find the convex hull of n oints using Graham s Scan: Running time = Time to find 0 + Time to sort by olar angle + Time for adds, removes, and left-turn tests = O(n) + O(n log n) + O(n) = O(n log n) Helen Cameron Convex Hulls 61/101

62 Divide and Conquer Convex Hull

63 Divide and Conquer Algorithm This Prearata and Hong (1977) algorithm can be extended to three or higher dimensions To kee things simle, assume: No three oints lie on a line (No three oints are collinear) No two oints lie on a vertical line These assumtions can be removed, but they make the exlanations simler, so we will use them Helen Cameron Convex Hulls 63/101

64 Divide and Conquer Algorithm: The Idea The algorithm sorts the oints by x-coordinate The algorithm then builds many small convex hulls of small grous of adjacent oints These small convex hulls will not intersect each other they re disjoint Then the algorithm merges (joins together) adjacent small convex hulls to make bigger convex hulls of bigger grous of adjacent oints The algorithm kees merging adjacent convex hulls until it has ONE convex hull of all the oints Helen Cameron Convex Hulls 64/101

65 Ste 1: Sort the Points Ste 1 gets as its inut an array of oints: (8, 3) ( 1, 4) (0, 1) (5, 2) (4, 4) (6, 0) (3, 6) Here s the inut oints lotted: [6] [1] [2] [4] [3] [5] [0] You can see that the oints are not in any articular order Helen Cameron Convex Hulls 65/101

66 Ste 1: Sort the Points Ste 1 sorts the oints into ascending order by x-coordinate: ( 1, 4) (0, 1) (3, 6) (4, 4) (5, 2) (6, 0) (8, 3) Here s the oints lotted, so you can see that they re now sorted [2] [0] [1] [3] [4] [5] [6] Helen Cameron Convex Hulls 66/101

67 Ste 1: Sort the Points Ste 1 can use any sorting method (eg, quick sort) when the sorting algorithm wants to comare two items (oints), it simly comares their x-coordinates Helen Cameron Convex Hulls 67/101

68 Ste 2: Pair U the Points Ste 2 airs adjacent oints to form edges (If there s an odd number of oints, grou the last three oints into a triangle) [2] [0] [1] [3] [4] [5] [6] Helen Cameron Convex Hulls 68/101

69 Ste 2: Pair U the Points An edge is a degenerate convex hull of the air of oints Consequence: Ste 2 is making the list of oints into a list of convex hulls of small grous of oints Helen Cameron Convex Hulls 69/101

70 Ste 2: Pair U the Points Note: Make sure you get a counter-clockwise ordering of the oints of a triangle When [i+2] is left of [i],[i+1] [i+2] When [i+2] is right of [i],[i+1] [i+1] [i+1] [i] Order: [i],[i+1],[i+2] [i+2] [i+2] [i] Order: [i],[i+2],[i+1] [i+1] [i] [i+1] [i+2] [i] Helen Cameron Convex Hulls 70/101

71 Ste 3: Merge Pairs of Hulls Ste 3 does the following Pair-and-Merge ste over and over again until we have ONE convex hull: Pair u adjacent small convex hulls and merge each air into one convex hull (more on merging in a minute) Before Pair-and-Merge 1: Helen Cameron Convex Hulls 71/101

72 Ste 3: Merge Pairs of Hulls Ste 3 airs u adjacent small convex hulls and merges each air into one convex hull (more on merging in a minute) After Pair-and-Merge 1: Helen Cameron Convex Hulls 72/101

73 Ste 3: Merge Pairs of Hulls Ste 3 airs u adjacent small convex hulls and merges each air into one convex hull (more on merging in a minute) After Pair-and-Merge 2: Helen Cameron Convex Hulls 73/101

74 Ste 3: Merge Pairs of Hulls Ste 3 airs u adjacent small convex hulls and merges each air into one convex hull (more on merging in a minute) After Pair-and-Merge 3: Helen Cameron Convex Hulls 74/101

75 Ste 3: Merge Pairs of Hulls Ste 3 airs u adjacent small convex hulls and merges each air into one convex hull (more on merging in a minute) After Pair-and-Merge 4: Helen Cameron Convex Hulls 75/101

76 Ste 3: Merge Pairs of Hulls Ste 3 Each time we air and merge, we are halving the number of convex hulls we have and doubling the number of oints that each convex hull contains If we have n oints, we can do that at most log 2 n times Helen Cameron Convex Hulls 76/101

77 Ste 3: Finding Tangent Lines to Merge Hulls The merge ste: How do we merge two non-overlaing convex hulls searated by an imaginary vertical line? We find two tangent lines, one suorting the two hulls below and the other resting on the two hulls above L R Helen Cameron Convex Hulls 77/101

78 Finding the Lower Tangent Line

79 Ste 3: Finding Tangent Lines to Merge Hulls What is the lower tangent line T? The two oints on L s hull immediately before and after T s endoint in L are both to the left of T (when T is directed from L to R) The two oints on R s hull immediately before and after T s endoint in R are both to the left of T (when T is directed from L to R) L R Helen Cameron Convex Hulls 79/101

80 Ste 3: Finding Tangent Lines to Merge Hulls To find the lower tangent line: Start by connecting the rightmost oint of L with the leftmost oint of R with a line segment T L T R Helen Cameron Convex Hulls 80/101

81 Ste 3: Finding Tangent Lines to Merge Hulls To find the lower tangent line: (continued) Then walk T downward Reeat while T is not tangent to both hulls at the same time: Move T s endoint down L s hull while T is not tangent to L s hull, then Move T s endoint down R s hull while T is not tangent to R s hull Helen Cameron Convex Hulls 81/101

82 Ste 3: Finding Tangent Lines to Merge Hulls To find the lower tangent line: (continued) Move T down L while T is not tangent to L: L R Helen Cameron Convex Hulls 82/101

83 Ste 3: Finding Tangent Lines to Merge Hulls To find the lower tangent line: (continued) Now move T down R while T is not tangent to R: L R Helen Cameron Convex Hulls 83/101

84 Ste 3: Finding Tangent Lines to Merge Hulls To find the lower tangent line: (continued) Move T down L again, while T is not tangent to L: L R Helen Cameron Convex Hulls 84/101

85 Ste 3: Finding Tangent Lines to Merge Hulls To find the lower tangent line: (continued) When we try to move T down R again, we see that T is already tangent to R Now T is the lower tangent line because it is tangent to both L and R at the same time! L R Helen Cameron Convex Hulls 85/101

86 Ste 3: Finding Tangent Lines to Merge Hulls To find the lower tangent line: (continued) Let l be the index of the endoint of T in L and r be the endoint of T in R L l T r R Helen Cameron Convex Hulls 86/101

87 Ste 3: Finding Tangent Lines to Merge Hulls To find the lower tangent line: (continued) Assume that, in each hull, the oints are indexed from 0 and that arithmetic on indices is done using modular arithmetic so that we can say l 1 and r + 1 and get the index of the next oint 7 L 6 5 l = 4 T 3 4 = r R 2 1 l 1 = = r Helen Cameron Convex Hulls 87/101

88 Ste 3: Finding Tangent Lines to Merge Hulls To find the lower tangent line: (continued) Notice that moving from l to l 1 is moving clockwise in L and moving from r to r + 1 is moving counterclockwise in R 7 L R 2 l = 4 T 4 = r 1 l 1 = = r Helen Cameron Convex Hulls 88/101

89 Ste 3: Finding Tangent Lines to Merge Hulls To find the lower tangent line: (continued) T will be tangent to both hulls when l 1 and l + 1 both lie above T (are to the left of lr) and when r 1 and r + 1 lie above T (to the left of lr) l 1 = 7 L R = r + 1 l = r 1 = = l + 1 T 0 = r Helen Cameron Convex Hulls 89/101

90 Ste 3: Finding Tangent Lines to Merge Hulls To find the lower tangent line: (continued) Algorithm LowerTangent 1 l = rightmost oint of L /* maximum x-coordinate */ 2 r = leftmost oint of R /* minimum x-coordinate */ 3 while (T =lr is not lower tangent to both L and R) { 4 while (T is not lower tangent to L) { 5 l=l-1; 6 } 7 while (T is not lower tangent to R) { 8 r=r+1; 9 } 10 } Helen Cameron Convex Hulls 90/101

91 Ste 3: Finding Tangent Lines to Merge Hulls To find the lower tangent line: L R Helen Cameron Convex Hulls 91/101

92 Finding the Uer Tangent Line

93 Ste 3: Finding Tangent Lines to Merge Hulls To find the uer tangent line: We find the uer tangent similarly we walk T u until it is uer tangent to both hulls Note: Instead of considering T to be the directed line segment from l to r, we consider T to be the directed line segment from r to l T is tangent if the before and after oints on L and R are to the left of rl Helen Cameron Convex Hulls 93/101

94 Ste 3: Finding Tangent Lines to Merge Hulls To find the uer tangent line: Again, start by connecting the rightmost oint of L with the leftmost oint of R with a line segment T L l T r R Helen Cameron Convex Hulls 94/101

95 Ste 3: Finding Tangent Lines to Merge Hulls To find the uer tangent line: Move T = rl u L while T is not tangent to L: l T L r R Helen Cameron Convex Hulls 95/101

96 Ste 3: Finding Tangent Lines to Merge Hulls To find the uer tangent line: Then move T = rl u R while T is not tangent to R: l T r L R Helen Cameron Convex Hulls 96/101

97 Ste 3: Finding Tangent Lines to Merge Hulls To find the uer tangent line: Since T is not yet tangent to both hulls at the same time, move T = rl u L while T is not tangent to L: l T r L R Helen Cameron Convex Hulls 97/101

98 Ste 3: Finding Tangent Lines to Merge Hulls To find the uer tangent line: When we try to move T u R again, we see that T is already tangent to R Now T is the uer tangent line because it is tangent both hulls at the same time, l T r L R Helen Cameron Convex Hulls 98/101

99 Ste 3: Finding Tangent Lines to Merge Hulls To find the uer tangent line: Algorithm UerTangent 1 l = rightmost oint of L /* maximum x-coordinate */ 2 r = leftmost oint of R /* minimum x-coordinate */ 3 while (T =rl is not uer tangent to both L and R) { 4 while (T is not uer tangent to L) { 5 l=l+1; 6 } 7 while (T is not uer tangent to R) { 8 r=r-1; 9 } 10 } Helen Cameron Convex Hulls 99/101

100 Merging the Two Convex Hulls

101 Ste 3: Merging Hulls with Tangent Lines The merged convex hull: Once we ve found the two tangents endoints, we simly coy the ieces of L s boundary and R s boundary and the tangent lines into the boundary of the convex hull of L and R merged L R Helen Cameron Convex Hulls 101/101

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,

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, 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

More information

Cross products Line segments The convex combination of two distinct points p

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 information

Graduate Algorithms CS F-19 Computational Geometry

Graduate 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 information

COT5405: GEOMETRIC ALGORITHMS

COT5405: 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 information

CMSC 425: Lecture 16 Motion Planning: Basic Concepts

CMSC 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 information

Computing the Convex Hull of. W. Hochstattler, S. Kromberg, C. Moll

Computing 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 information

Lecture 3: Geometric Algorithms(Convex sets, Divide & Conquer Algo.)

Lecture 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 information

Shuigeng Zhou. May 18, 2016 School of Computer Science Fudan University

Shuigeng 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 information

Chapter 3: Graphics Output Primitives. OpenGL Line Functions. OpenGL Point Functions. Line Drawing Algorithms

Chapter 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 information

Lecture 2: Fixed-Radius Near Neighbors and Geometric Basics

Lecture 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 information

Lecture 8: Orthogonal Range Searching

Lecture 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 information

521493S Computer Graphics Exercise 3 (Chapters 6-8)

521493S 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 information

An improved algorithm for Hausdorff Voronoi diagram for non-crossing sets

An 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 information

CMSC 754 Computational Geometry 1

CMSC 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 information

We 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.

We 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 information

The Edge-flipping Distance of Triangulations

The 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 information

Computational Geometry. Geometry Cross Product Convex Hull Problem Sweep Line Algorithm

Computational 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 information

The 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.

The 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 information

Geometric Algorithms. 1. Objects

Geometric 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 information

Curve Reconstruction taken from [1]

Curve 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 information

CS 450: COMPUTER GRAPHICS 2D TRANSFORMATIONS SPRING 2016 DR. MICHAEL J. REALE

CS 450: COMPUTER GRAPHICS 2D TRANSFORMATIONS SPRING 2016 DR. MICHAEL J. REALE CS 45: COMUTER GRAHICS 2D TRANSFORMATIONS SRING 26 DR. MICHAEL J. REALE INTRODUCTION Now that we hae some linear algebra under our resectie belts, we can start ug it in grahics! So far, for each rimitie,

More information

3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College

3D 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 information

EE678 Application Presentation Content Based Image Retrieval Using Wavelets

EE678 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 information

Geometry. Zachary Friggstad. Programming Club Meeting

Geometry. 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 information

arxiv: v1 [math.gt] 1 May 2018

arxiv: 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 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

Space-efficient Region Filling in Raster Graphics

Space-efficient Region Filling in Raster Graphics "The Visual Comuter: An International Journal of Comuter Grahics" (submitted July 13, 1992; revised December 7, 1992; acceted in Aril 16, 1993) Sace-efficient Region Filling in Raster Grahics Dominik Henrich

More information

Convex Hull Algorithms

Convex 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 information

Learning Motion Patterns in Crowded Scenes Using Motion Flow Field

Learning Motion Patterns in Crowded Scenes Using Motion Flow Field Learning Motion Patterns in Crowded Scenes Using Motion Flow Field Min Hu, Saad Ali and Mubarak Shah Comuter Vision Lab, University of Central Florida {mhu,sali,shah}@eecs.ucf.edu Abstract Learning tyical

More information

2-D Geometry for Programming Contests 1

2-D Geometry for Programming Contests 1 2-D Geometry for Programming Contests 1 1 Vectors A vector is defined by a direction and a magnitude. In the case of 2-D geometry, a vector can be represented as a point A = (x, y), representing the vector

More information

Trigonometric Functions

Trigonometric Functions Similar Right-Angled Triangles Trigonometric Functions We lan to introduce trigonometric functions as certain ratios determined by similar right-angled triangles. By de nition, two given geometric gures

More information

Deformable Free Space Tilings for Kinetic Collision Detection

Deformable 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 information

Real Numbers and Algebraic Expressions

Real Numbers and Algebraic Expressions College Algebra - MAT 161 Page: 1 Coyright 2009 Killoran Real Numbers and Algebraic Exressions Idea #1 Infinity- a never ending rogression Is there an infinity of sand grains on the Outer Banks of North

More information

A CLASS OF STRUCTURED LDPC CODES WITH LARGE GIRTH

A CLASS OF STRUCTURED LDPC CODES WITH LARGE GIRTH A CLASS OF STRUCTURED LDPC CODES WITH LARGE GIRTH Jin Lu, José M. F. Moura, and Urs Niesen Deartment of Electrical and Comuter Engineering Carnegie Mellon University, Pittsburgh, PA 15213 jinlu, moura@ece.cmu.edu

More information

Chapter 7b - Point Estimation and Sampling Distributions

Chapter 7b - Point Estimation and Sampling Distributions Chater 7b - Point Estimation and Samling Distributions Chater 7 (b) Point Estimation and Samling Distributions Point estimation is a form of statistical inference. In oint estimation we use the data from

More information

Chapter 7, Part B Sampling and Sampling Distributions

Chapter 7, Part B Sampling and Sampling Distributions Slides Preared by JOHN S. LOUCKS St. Edward s University Slide 1 Chater 7, Part B Samling and Samling Distributions Samling Distribution of Proerties of Point Estimators Other Samling Methods Slide 2 Samling

More information

Clipping. Administrative. Assignment 1 Gallery. Questions about previous lectures? Overview of graphics pipeline? Assignment 2

Clipping. 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 information

UPDATING ALGORITHMS FOR CONSTRAINT DELAUNAY TIN

UPDATING 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 information

3D convex hulls. Computational Geometry [csci 3250] Laura Toma Bowdoin College

3D 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 information

Randomized algorithms: Two examples and Yao s Minimax Principle

Randomized 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 information

Basics of Computational Geometry

Basics of Computational Geometry Basics of Computational Geometry Nadeem Mohsin October 12, 2013 1 Contents This handout covers the basic concepts of computational geometry. Rather than exhaustively covering all the algorithms, it deals

More information

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Spring, 2010

Advanced 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 information

MATH4455 Module 10 Worth the Weight

MATH4455 Module 10 Worth the Weight MTH4455 Module 10 Worth the Weight Math Math oncets: Weighted Means, Inscribed reas, eneralized Midoints uxiliary Ideas: Quadrilaterals, eneralized Proortions, Polygons, onvexity I. Personally Inscribed.

More information

Computational Geometry. HKU ACM ICPC Training 2010

Computational 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 information

Planar convex hulls (I) Computational Geometry [csci 3250] Laura Toma Bowdoin College

Planar 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 information

CSE 5311 Notes 13: Computational Geometry

CSE 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 information

GEOMETRIC CONSTRAINT SOLVING IN < 2 AND < 3. Department of Computer Sciences, Purdue University. and PAMELA J. VERMEER

GEOMETRIC CONSTRAINT SOLVING IN < 2 AND < 3. Department of Computer Sciences, Purdue University. and PAMELA J. VERMEER GEOMETRIC CONSTRAINT SOLVING IN < AND < 3 CHRISTOPH M. HOFFMANN Deartment of Comuter Sciences, Purdue University West Lafayette, Indiana 47907-1398, USA and PAMELA J. VERMEER Deartment of Comuter Sciences,

More information

Image Segmentation Using Topological Persistence

Image Segmentation Using Topological Persistence Image Segmentation Using Toological Persistence David Letscher and Jason Fritts Saint Louis University Deartment of Mathematics and Comuter Science {letscher, jfritts}@slu.edu Abstract. This aer resents

More information

Constrained Empty-Rectangle Delaunay Graphs

Constrained 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 information

A Simple and Robust Approach to Computation of Meshes Intersection

A Simple and Robust Approach to Computation of Meshes Intersection A Simle and Robust Aroach to Comutation of Meshes Intersection Věra Skorkovská 1, Ivana Kolingerová 1 and Bedrich Benes 2 1 Deartment of Comuter Science and Engineering, University of West Bohemia, Univerzitní

More information

Objectives. Part 1: Implement Friction Compensation.

Objectives. Part 1: Implement Friction Compensation. ME 446 Laboratory # Inverse Dynamics Joint Control Reort is due at the beginning of your lab time the week of Aril 9 th. One reort er grou. Lab sessions will be held the weeks of March th, March 6 th,

More information

10. Parallel Methods for Data Sorting

10. Parallel Methods for Data Sorting 10. Parallel Methods for Data Sorting 10. Parallel Methods for Data Sorting... 1 10.1. Parallelizing Princiles... 10.. Scaling Parallel Comutations... 10.3. Bubble Sort...3 10.3.1. Sequential Algorithm...3

More information

A Concise Workbook for College Algebra

A Concise Workbook for College Algebra City University of New York (CUNY) CUNY Academic Works Oen Educational Resources Queensborough Community College Summer 6--08 A Concise Workbook for College Algebra Fei Ye Queensborough Community College

More information

Efficient Algorithms for Computing Conservative Portal Visibility Information

Efficient Algorithms for Computing Conservative Portal Visibility Information EUROGRAPHICS 2000 / M. Gross and F.R.A. Hogood (Guest Editors) Volum9 (2000), Number 3 Efficient Algorithms for Comuting Conservative Portal Visibility Information W. F. H. Jiménez, C. Eserança and A.

More information

CS 1110 Final, December 7th, 2017

CS 1110 Final, December 7th, 2017 CS 1110 Final, December 7th, 2017 This 150-minute exam has 8 questions worth a total of 100 oints. Scan the whole test before starting. Budget your time wisely. Use the back of the ages if you need more

More information

Optics Alignment. Abstract

Optics Alignment. Abstract Otics Alignment Yi Qiang Duke University, Durham, NC 27708 Xiaohui Zhan Massachusetts Institute of Technology, Cambridge, MA 02139 (Dated: July 9, 2010) Abstract yqiang@jlab.org zhanxh@jlab.org 1 I. INTRODUCTION

More information

CSE 546, Fall, 2016 Homework 1

CSE 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 information

CS2 Algorithms and Data Structures Note 8

CS2 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 information

CS 373: Combinatorial Algorithms, Fall Name: Net ID: Alias: U 3 / 4 1

CS 373: Combinatorial Algorithms, Fall Name: Net ID: Alias: U 3 / 4 1 CS 373: Combinatorial Algorithms, Fall 2000 Homework 1 (due November 16, 2000 at midnight) Starting with Homework 1, homeworks may be done in teams of up to three people. Each team turns in just one solution,

More information

2 Geometry Solutions

2 Geometry Solutions 2 Geometry Solutions jacques@ucsd.edu Here is give problems and solutions in increasing order of difficulty. 2.1 Easier problems Problem 1. What is the minimum number of hyperplanar slices to make a d-dimensional

More information

Triangulation and Convex Hull. 8th November 2018

Triangulation 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 information

level 0 level 1 level 2 level 3

level 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 information

Earthenware Reconstruction Based on the Shape Similarity among Potsherds

Earthenware Reconstruction Based on the Shape Similarity among Potsherds Original Paer Forma, 16, 77 90, 2001 Earthenware Reconstruction Based on the Shae Similarity among Potsherds Masayoshi KANOH 1, Shohei KATO 2 and Hidenori ITOH 1 1 Nagoya Institute of Technology, Gokiso-cho,

More information

Lecture 14: Computational Geometry Steven Skiena. skiena

Lecture 14: Computational Geometry Steven Skiena.   skiena Lecture 14: Computational Geometry Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Line Segments Arbitrary closed curves

More information

An Efficient Coding Method for Coding Region-of-Interest Locations in AVS2

An Efficient Coding Method for Coding Region-of-Interest Locations in AVS2 An Efficient Coding Method for Coding Region-of-Interest Locations in AVS2 Mingliang Chen 1, Weiyao Lin 1*, Xiaozhen Zheng 2 1 Deartment of Electronic Engineering, Shanghai Jiao Tong University, China

More information

Recap: Consensus. CSE 486/586 Distributed Systems Mutual Exclusion. Why Mutual Exclusion? Why Mutual Exclusion? Mutexes. Mutual Exclusion C 1

Recap: Consensus. CSE 486/586 Distributed Systems Mutual Exclusion. Why Mutual Exclusion? Why Mutual Exclusion? Mutexes. Mutual Exclusion C 1 Reca: Consensus Distributed Systems Mutual Exclusion Steve Ko Comuter Sciences and Engineering University at Buffalo On a synchronous system There s an algorithm that works. On an asynchronous system It

More information

Perception of Shape from Shading

Perception of Shape from Shading 1 Percetion of Shae from Shading Continuous image brightness variation due to shae variations is called shading Our ercetion of shae deends on shading Circular region on left is erceived as a flat disk

More information

Last time. Today: Convex Hull Brute Force Inside(q,abc) Intersect(ab,cd) Orient(a,b,c).

Last 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 information

Recognizing Convex Polygons with Few Finger Probes

Recognizing 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 information

CS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk

CS 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 information

Introduction to Visualization and Computer Graphics

Introduction to Visualization and Computer Graphics Introduction to Visualization and Comuter Grahics DH2320, Fall 2015 Prof. Dr. Tino Weinkauf Introduction to Visualization and Comuter Grahics Grids and Interolation Next Tuesday No lecture next Tuesday!

More information

Taut ideal triangulations of 3-manifolds

Taut ideal triangulations of 3-manifolds Abstract Taut ideal triangulations of 3-manifolds Marc Lackenby Mathematical Institute, Oxford University, 24-29 St Giles, Oxford OX1 3LB, UK Email: lackenby@maths.ox.ac.uk A taut ideal triangulation of

More information

CS 428: Fall Introduction to. Geometric Transformations. Andrew Nealen, Rutgers, /15/2010 1

CS 428: Fall Introduction to. Geometric Transformations. Andrew Nealen, Rutgers, /15/2010 1 CS 428: Fall 21 Introduction to Comuter Grahics Geometric Transformations Andrew Nealen, Rutgers, 21 9/15/21 1 Toic overview Image formation and OenGL (last week) Modeling the image formation rocess OenGL

More information

Source Coding and express these numbers in a binary system using M log

Source Coding and express these numbers in a binary system using M log Source Coding 30.1 Source Coding Introduction We have studied how to transmit digital bits over a radio channel. We also saw ways that we could code those bits to achieve error correction. Bandwidth is

More information

Advanced Algorithm Homework 4 Results and Solutions

Advanced 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 information

Polygon Triangulation

Polygon 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 information

Dr Pavan Chakraborty IIIT-Allahabad

Dr 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 information

Line Arrangement. Chapter 6

Line 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 information

Building Polygonal Maps from Laser Range Data

Building Polygonal Maps from Laser Range Data ECAI Int. Cognitive Robotics Worksho, Valencia, Sain, August 2004 Building Polygonal Mas from Laser Range Data Longin Jan Latecki and Rolf Lakaemer and Xinyu Sun and Diedrich Wolter Abstract. This aer

More information

Using Rational Numbers and Parallel Computing to Efficiently Avoid Round-off Errors on Map Simplification

Using 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 information

Fast Shape-based Road Sign Detection for a Driver Assistance System

Fast Shape-based Road Sign Detection for a Driver Assistance System Fast Shae-based Road Sign Detection for a Driver Assistance System Gareth Loy Comuter Vision and Active Percetion Laboratory Royal Institute of Technology (KTH) Stockholm, Sweden Email: gareth@nada.kth.se

More information

Computational geometry

Computational 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 information

CS335 Fall 2007 Graphics and Multimedia. 2D Drawings: Lines

CS335 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 information

Process and Measurement System Capability Analysis

Process and Measurement System Capability Analysis Process and Measurement System aability Analysis Process caability is the uniformity of the rocess. Variability is a measure of the uniformity of outut. Assume that a rocess involves a quality characteristic

More information

Truth Trees. Truth Tree Fundamentals

Truth Trees. Truth Tree Fundamentals Truth Trees 1 True Tree Fundamentals 2 Testing Grous of Statements for Consistency 3 Testing Arguments in Proositional Logic 4 Proving Invalidity in Predicate Logic Answers to Selected Exercises Truth

More information

CS 410/584, Algorithm Design & Analysis, Lecture Notes 8!

CS 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 information

Math Precalculus (12H/4H) Review. CHSN Review Project

Math Precalculus (12H/4H) Review. CHSN Review Project Math Precalculus (12H/4H) Review CHSN Review Project Contents Functions 3 Polar and Complex Numbers 9 Sequences and Series 15 This review guide was written by Dara Adib. Prateek Pratel checked the Polar

More information

Fundamentals of Restricted-Orientation Convexity

Fundamentals of Restricted-Orientation Convexity Fundamentals of Restricted-Orientation Convexity Eugene Fink Derick Wood Abstract A restricted-orientation convex set, also called an O-convex set, is a set of oints whose intersection with lines from

More information

Real Time Compression of Triangle Mesh Connectivity

Real Time Compression of Triangle Mesh Connectivity Real Time Comression of Triangle Mesh Connectivity Stefan Gumhold, Wolfgang Straßer WSI/GRIS University of Tübingen Abstract In this aer we introduce a new comressed reresentation for the connectivity

More information

Vector Calculus: Understanding the Cross Product

Vector Calculus: Understanding the Cross Product University of Babylon College of Engineering Mechanical Engineering Dept. Subject : Mathematics III Class : 2 nd year - first semester Date: / 10 / 2016 2016 \ 2017 Vector Calculus: Understanding the Cross

More information

Prof. Gill Barequet. Center for Graphics and Geometric Computing, Technion. Dept. of Computer Science The Technion Haifa, Israel

Prof. 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 information

CSS 503 Program 1: Parallelizing a Convex-Hull Program with Multi-Processes Professor: Munehiro Fukuda Due date: see the syllabus

CSS 503 Program 1: Parallelizing a Convex-Hull Program with Multi-Processes Professor: Munehiro Fukuda Due date: see the syllabus CSS 503 Program 1: Parallelizing a Convex-Hull Program with Multi-Processes Professor: Munehiro Fukuda Due date: see the syllabus 1. Purpose In this programming assignment, we will parallelize a convex

More information

Lecture 18. Today, we will discuss developing algorithms for a basic model for parallel computing the Parallel Random Access Machine (PRAM) model.

Lecture 18. Today, we will discuss developing algorithms for a basic model for parallel computing the Parallel Random Access Machine (PRAM) model. U.C. Berkeley CS273: Parallel and Distributed Theory Lecture 18 Professor Satish Rao Lecturer: Satish Rao Last revised Scribe so far: Satish Rao (following revious lecture notes quite closely. Lecture

More information

15-451/651: Algorithms CMU, Spring 2016 Lecture #24: Computational Geometry Introduciton April 13, 2015 Lecturer: Danny Sleator

15-451/651: Algorithms CMU, Spring 2016 Lecture #24: Computational Geometry Introduciton April 13, 2015 Lecturer: Danny Sleator 15-451/651: Algorithms CMU, Spring 2016 Lecture #24: Computational Geometry Introduciton April 13, 2015 Lecturer: Danny Sleator 1 Introduction Computational geometry is the design and analysis of algorithms

More information

Convex Hulls in Three Dimensions. Polyhedra

Convex 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 information

Optimizing Dynamic Memory Management!

Optimizing Dynamic Memory Management! Otimizing Dynamic Memory Management! 1 Goals of this Lecture! Hel you learn about:" Details of K&R hea mgr" Hea mgr otimizations related to Assignment #6" Faster free() via doubly-linked list, redundant

More information

COMPUTING CONSTRAINED DELAUNAY

COMPUTING 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 information

Flavor 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 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 information

Introduction to Parallel Algorithms

Introduction to Parallel Algorithms CS 1762 Fall, 2011 1 Introduction to Parallel Algorithms Introduction to Parallel Algorithms ECE 1762 Algorithms and Data Structures Fall Semester, 2011 1 Preliminaries Since the early 1990s, there has

More information

Lecture 2: Divide and Conquer

Lecture 2: Divide and Conquer Lecture 2: Divide and Conquer Paradigm Convex Hull Median finding Paradigm Given a problem of size n divide it into subproblems of size n, a 1, b >1. Solve each b subproblem recursively. Combine solutions

More information