additional-problems-for-final

additional-problems-for-final - AMS 345/CSE 355 Joe...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: AMS 345/CSE 355 Joe Mitchell COMPUTATIONAL GEOMETRY Review Problems for Final 1. For the set S of 8 points shown below, do the following: (a). Draw the (Euclidean) Delaunay diagram. In order to assist you in making some decisions (in case you do not have a compass with you), I have drawn a couple circles. a b (b). Sketch also the Voronoi cells for points a and b. (You need not draw the entire Voronoi diagram.) How many sides does each cell have? (c). Draw the furthest-site Delaunay diagram (dual to the furthest-site Voronoi diagram) 2. Give an example of a set of k (k ≥ 4) points, no 3 of which lie on a line, that has a Delaunay diagram that is not a Delaunay triangulation. 3. Give an example of a set S of k ≥ 5 points for which the Delaunay diagram is a triangulation, but there is a subset of 4 points of S that are co-circular. 4. (See Problem 6, Section 5.3.3, O’Rourke page 165) True or false (and justify!): If a query point q lies inside Delaunay triangle ∆abc (a face of the Delaunay diagram of S), then the closest site (of S) to q is either a, b, or c. 5. True of false (and justify!): The minimum spanning tree (MST) of a set S of n points in convex position is a path. 6. True or false (and justify!): Each edge of the convex hull, CH(S), of n points S in the plane is a Delaunay edge. 7. Let D(S) be the Delaunay diagram of a set S of points in the plane. Assume that D(S) is a triangulation. True or false (and justify!): (i). No interior angle of a face of D(S) can be greater than 90 degrees. (ii). D(S) minimizes the total length of all edges, among all triangulations of S. (iii). D(S) maximizes the minimum angle, among all triangulations of S. (iv). D(S) minimizes the maximum angle, among all triangulations of S. 8. Give an efficient algorithm to count the number of crossings among n segments in the plane, assuming the segments are all axis-parallel (horizontal or vertical). (Your algorithm should be O(n log n). Justify!) 9. What is wrong with this algorithm? The goal is to preprocess a given simple polygon, P , having n vertices, V , so that if we are given a query point q, we can quickly determine the (Euclidean) distance from q to the set P . We build the Voronoi diagram of V (in time O(n log n)); we preprocess it for point location (in additional time O(n), by Kirkpatrick method); then, when given q, we locate (in time O(log n)) the point q in the Voronoi diagram, and report the distance, |qv|, from q to the vertex v that owns the Voronoi cell containing q. 10. Given a set S of n points in the plane, explain clearly how one can efficiently tell if there are 3 or more points that accidentally lie on a common line. What is the running time? 11. Let P1 , P2 , . . . , Pn be a set of n simple polygons in the plane, each polygon having exactly 3n vertices. Our goal is to detect if there are any intersections between any pair of polygon boundaries. (i.e., does there exist at least one pair of polygons, Pi and Pj , such that ∂Pi ∩ ∂Pj = ∅?) How efficiently can this be done? (Explain!) 12. Let P1 , P2 , . . . , Pn be a set of n simple polygons in the plane, each polygon having exactly 3n vertices. Find the closest pair among the vertices of all of the polygons. (i.e., find two vertices, u and v, among the vertices of the polygons (possibly u and v are on the same polygon), such that the distance between u and v is minimized among all such pairs) How efficiently can this be done? (Explain!) 13. Given n red points and n blue points in the plane, compute the minimum spanning trees, M STred and M STblue , for the sets, and report all k points of intersection between M STred and M STblue . How efficiently can this be done? (Explain!) 14. Given an arrangement, A(L), of a set L of 4n2 lines in the plane, given as a winged-edge data structure, and given a line ℓ ∈ L, compute the necessary updates to the winged edge data structure, A(L), so that it now represents the arrangement A(L ∪ {ℓ}) we get by inserting line ℓ into A(L). How efficiently can this be done? (Explain!) 15. Given an arbitrary set of n triangles in 3D (possibly intersecting each other), compute their convex hull. How efficiently can this be done? (Explain!) 16. For each of the following statements, state whether it is ALWAYS TRUE: give a brief reason SOMETIMES TRUE (but sometimes false): show a TRUE example AND a FALSE example, or NEVER TRUE: give a brief reason (i). For a set of n ≥ 3 distinct points in the plane, the Voronoi edges and Voronoi vertices of the Voronoi diagram constitute a connected set (i.e., one can get from any point a on a Voronoi edge to any other point b on a Voronoi edge, using a path that stays entirely on the union of all Voronoi edges). (ii). Let S = {p1 , . . . , pn } be a set of n ≥ 3 points in the plane. Consider the Delaunay diagram, D(S). If ∆pi pj pk is a Delaunay triangle (face) in D(S), then the corresponding Voronoi vertex for this triangle lies interior to the triangle. 17. In the figure below, consider the left diagram to be in the “primal” plane and the right diagram to be in the “dual” plane. (a). Inside each of the rectangles next to the 3 lines in the dual plane, place the labels “D(p1 )”, “D(p2 )”, and “D(p3 )”, indicating each line as the dual of the corresponding point pi in the primal plane. (b). Plot (approximately) in the dual plane the dual of the line L. Label it with “D(L)”. (c). Plot in the dual plane the dual of the line, ℓp1 p2 , passing through points p1 and p2 in the primal plane. (d). Plot in the primal plane the dual of the point q (shown in the dual plane). 0000000000000 1111111111111 0000000000000 1111111111111 1111111111111 0000000000000 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 0000000000000 1111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000 11111111111111111 1111111111111 0000000000000 11111111111111111111111111 00000000000000000000000000 11111111111111111 00000000000000000 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 11111111111111111 00000000000000000 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 00000000000000000 11111111111111111 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 11111111111111111 00000000000000000 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 11 00 00000000000000000 11111111111111111 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 11 00 11111111111111111 00000000000000000 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 00000000000000000 q 11111111111111111 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 11111111111111111 00000000000000000 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 00000000000000000 11111111111111111 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 11111111111111111 00000000000000000 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 00000000000000000 11111111111111111 0000000000000 1111111111111 11111111111111111111111111 00000000000000000000000000 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000000000000 11111111111111111111111111 00000000000000000 11111111111111111 0000000000000 1111111111111 00000000000000000 11111111111111111 11111111111111111111111111111111 00000000000000000000000000000000 L 11111111111111111111111111111111 00000000000000000000000000000000 11111111111111111111111111111111 00000000000000000000000000000000 11111111111111111111111111111111 00000000000000000000000000000000 00000000000000000000000000000000 11111111111111111111111111111111 11 00 p 11111111111111111111111111111111 00000000000000000000000000000000 11 00 p 11111111111111111111111111111111 00000000000000000000000000000000 11 00 1 3 11111111111111111111111111111111 00000000000000000000000000000000 11 00 11111111111111111111111111111111 00000000000000000000000000000000 00000000000000000000000000000000 11111111111111111111111111111111 11 00 p 11111111111111111111111111111111 00000000000000000000000000000000 11 00 11111111111111111111111111111111 00000000000000000000000000000000 2 11111111111111111111111111111111 00000000000000000000000000000000 11111111111111111111111111111111 00000000000000000000000000000000 00000000000000000000000000000000 11111111111111111111111111111111 11111111111111111111111111111111 00000000000000000000000000000000 11111111111111111111111111111111 00000000000000000000000000000000 18. Consider performing the Bentley-Ottmann sweep algorithm on the set of line segments below, in order to report all points of intersection among them. Assume a horizontal sweep line, from top to bottom. Assume that we use the notation that each segment si = (ai , bi ) has upper endpoint ai and lower endpoint bi , and xij denotes the point (if any) at the intersection of segment si and segment sj . 1 4 3 2 5 (a). Fill in the first 6 rows of the chart below, showing the execution of the algorithm up through the event when the sweep line hits point x45 . (You do NOT need to fill in later rows of the chart; I will ignore them.) Use the “modified” (not “usual”) version of the algorithm. Event - Event Queue, Q Sweep Status, L x45 (b). Now assume that we want only to detect whether or not there is an intersection point among the segments. What is the last event to be processed during the Bentley-Ottmann sweep applied to the segments above? (c). For each crossing point xij discovered in the report version, indicate at which events segments si and sj are first tested for intersection. Also, in the modified version of the sweep, is xij ever removed from the event queue? ...
View Full Document

Ask a homework question - tutors are online