Homework Assignment Sheet I (Due 16-March-2018) Assignment 1 Let f, g : N R with f(n) := 8n + 4 and g(n) := 1 5 n log 2 n. Prove explicitly that f O(g) and f o(g). Assignment 2 How can you generalize the sweep-line approach (for line-segment intersection) to full lines rather than just line segments? Does it make sense from a complexity point of view? Assignment 3 We consider two line segments ab and cd in R 2. We say that ab an cd have a proper intersection if there exists exactly one point q {a, b, c, d} such that q ab and q cd. Prove that ab and cd have a proper intersection if and only if and where sign(det(a, b, c)) sign(det(a, b, d)) = 1 sign(det(c, d, a)) sign(det(c, d, b)) = 1, det(u, v, w) := det u x u y 1 v x v y 1 w x w y 1 denotes the signed area of the triangle (u, v, w), and sign(x) denotes the sign of a real number x. (Recall: The signed area of (u, v, w) is positive if and only if the points u, v, w are oriented in a counter-clockwise manner.)
Homework Assignment Sheet II (Due 23-March-2018) Assignment 4 Let L be a set of n line segments in the plane which may share common endpoints but do not intersect otherwise. Let V denote the set of m endpoints of the segments of L and suppose that they are indexed according to lexicographic order. An endpoint v j V is regarded as dead end relative to L if there do not exist indices i and k such that (1) i < j < k and (2) v i v j L and v j v k L. Your task is to add a set L of additional line segments such that 1. all endpoints of L belong to V, 2. no v j V is a dead end relative to L L for all 1 < j < m, 3. no line segment of L L intersects another line segment of L L, except for possibly sharing a common endpoint, 4. L is minimum. Try to devise an algorithm that solves this problem in O(n log n) time and O(n) space. (You are welcome to make reasonable GPA assumptions, such as that no two endpoints of V have the same y-coordinate.) Assignment 5 Prove that the vertical distance between two parallel lines g and h equals the length of the line segment g h. Assignment 6 Consider the parabola y = x2 2 is the tangent to the parabola at p. and a point p on this parabola. Prove that p
Homework Assignment Sheet III (Due 20-April-2018) Assignment 7 For a vector v := (v x, v y ) R 2 we define its (canonical) normal vector as n(v) := ( v y, v x ). Consider two points a, b R 2, with a b, and let ab be the direction vector from a to b of the oriented line through a, b. We say that a point c lies left of this oriented line if it lies in the half-space into which n(ab) points. Prove that c lies left of this oriented line if and only if det(a, b, c) > 0. Assignment 8 Prove constructively that the convex hull of a y-monotone polygonal chain P := (p 1, p 2,..., p n ), with n vertices in R 2, can be computed in O(n) time. (Please do try not resort to general-purpose O(n) algorithms for computing the convex hull of an arbitrary polygon!) Assignment 9 Let P be a set of n d + 2 points in R d. Prove that there exists a partition of P into sets P 1, P 2 such that CH(P 1 ) and CH(P 2 ) intersect. (Hint: You may want to recall that any set of (d + 1) vectors in R d admits a non-trivial linear combination that yields the zero vector. This allows to construct a partition of P into P 1 and P 2 such that CH(P 1 ) and CH(P 2 ) intersect.)
Homework Assignment Sheet IV (Due 27-April-2018) Assignment 10 Let L be a set of n line segments in the plane. Let V denote the set of m endpoints of the segments of L and suppose that they are indexed according to lexicographic order. An endpoint v j V is regarded as dead end relative to L if there do not exist indices i and k such that (1) i < j < k and (2) v i v j L and v j v k L. Your task is to add a set L of additional line segments such that 1. all endpoints of L belong to V, 2. no v j V is a dead end relative to L L for all 1 < j < m, 3. L is minimum. Please make sure that your algorithm solves this problem in O(n) time and O(n) space. (You are welcome to make reasonable GPA assumptions.) Assignment 11 Let L be a set of n line segments in the plane which may share common endpoints but do not intersect otherwise. Let V denote the set of m endpoints of the segments of L and suppose that they are indexed according to lexicographic order. An endpoint v j V is regarded as dead end relative to L if there do not exist indices i and k such that (1) i < j < k and (2) v i v j L and v j v k L. Your task is to add a set L of additional line segments such that 1. all endpoints of L belong to V, 2. no v j V is a dead end relative to L L for all 1 < j < m, 3. no line segment of L L intersects another line segment of L L, except for possibly sharing a common endpoint, 4. L 2 OP T, where OP T is the minimum number of line segments that need to be added in order to fulfill the first three requirements. Please make sure that your algorithm solves this problem in O(n log n) time and O(n) space. (You are welcome to make reasonable GPA assumptions.) Assignment 12 Show that a point can be the nearest neighbor of at most six other points in R 2.
Homework Assignment Sheet V (Due 04-May-2018) Assignment 13 Explain how VD(S) can be obtained from DT (S) and how DT (S) can be obtained from VD(S) in O(n) time, for every set S of n points in the plane. (You don t need to come up with actual formulas, say for the Voronoi nodes, but should be able to explain how one could compute the Voronoi nodes and obtain an appropriate (graph) representation of DT (S) and VD(S).) Assignment 14 A polygonal chain P (in the plane) is called monotone with respect to a straight line l if every line orthogonal to l intersects P in at most one point. Devise an O(n) algorithm to check whether there exists a line l such that a given chain P with n vertices is monotone relative to l. If P is monotone then your algorithm should also determine a suitable line l. Assignment 15 Consider Fortune s sweep-line algorithm for computing the Voronoi diagram of point sites: What is the maximum number of disjoint parabolic arcs in the beach line that are defined by the same site? (The exact number is sought, no O-term!)
Homework Assignment Sheet VI (Due 18-May-2018) Assignment 16 In the lecture we discussed how the Voronoi diagram of points in R 2 can be computed by regarding R 2 as the xy-plane of R 3 and doing computations in R 3. (Recall Slides 185 187.) Your task is to mimic these approaches in R 1 and compute VD(S) by regarding R 1 as the x-axis of R 2, for S := { 1, 0, 2, 4}. (Of course, in this setting the Voronoi diagram consists only of some isolated Voronoi nodes.) Assignment 17 Draw the bisectors in the L 2, L 1 and L metric of the following pairs of points: (0, 2) and (4, 0); (4, 0) and (8, 0); (8, 0) and (12, 4). Draw also the Voronoi diagram of all points for the L 2 metric. (Of course, the bisectors for L 1 and L are defined as in the L 2 case, just with another interpretation of the distance d(, ).) Assignment 18 Consider a set S of n points in R 2 and suppose that all inter-point distances are distinct. A point q S is an east-northeast neighbor of p S, with p q, if 1. the y coordinate of q is greater than or equal to the y-coordinate of p, 2. the supporting line of the edge (p, q) has a slope between 0 and 1. Define a graph G with vertex set S by adding an edge between each point and its nearest east-northeast neighbor. Now add edges to G between each point and its nearest neighbor to the north-northeast, north-northwest, west-northwest, etc. (for all eight possibilities). Prove that G contains all edges of the EMST of S. (Of course, you are welcome to make a reasonable general-position assumption.)
Homework Assignment Sheet VII (Due 25-May-2018) Assignment 19 Consider the computation of a straight skeleton based on wavefront propagation and a kinetic triangulation, and prove that it suffices to solve a second-degree polynomial equation in order to obtain the collapse times of a kinetic triangle. Assignment 20 Sketch the Voronoi regions of s 1, s 2 and p for the two settings depicted on Slide 226. No need to derive precise formulas, but you should be able to explain your sketch. In particular, I expect you to be able to argue why no two-dimensional bisectors or similar oddities can occur. Assignment 21 Prove that all bisectors between (a) two lines, (b) a line and a circle, and (c) two circles are (possibly degenerate) conics. (The sites are allowed to intersect.)
Homework Assignment Sheet VIII (Due 08-June-2018) Assignment 22 Consider a set S of n points in the plane and prove that no pair of edges of its Euclidean minimum spanning tree intersect (except for possibly sharing a point of S as common end point). Assignment 23 Prove that there exists a linear mapping f that maps R 2 to R 2 such that d (p, q) = d 1 (f(p), f(q)) for every pair of points p, q R 2, where d 1 (, ) denotes the L 1 distance and d (, ) denotes the L distance. Assignment 24 Offsetting a polygon seems to smooth out the polygon by eliminating small concave features. Prove or disprove for both constant-radius and mitered offsets: Offsetting turns every simple polygon into a convex polygon. (That is, you are to argue whether or not for every given polygon there exists a finite offset distance such that the corresponding offset of the polygon is convex.)
Homework Assignment Sheet IX (Due 15-June-2018) Assignment 25 Consider a convex quadrilateral (a, b, c, d) and suppose that it is partitioned into two triangles (a, b, c) and (a, c, d) such that d is contained in the interior of the circumcircle of (a, b, c). Prove that replacing the edge ac by the edge bd and, thus, partitioning the quadrilateral (a, b, c, d) into (a, b, d) and (b, c, d), will increase the minimum angle among the two pairs of triangles. Assignment 26 Prove that every polygon with n vertices, for all n 4, can be split by a diagonal into two sub-polygons such that each sub-polygon has at most 2(n 2) + 2 3 vertices. Assignment 27 Chazelle s triangulation algorithm can be used to check whether a given list of n vertices constitutes a simple polygon in time O(n). Using this result as a black box, explain how one can check in time O( P + Q ) whether a simple polygon P intersects a simple polygon Q.