Binary Space Partition Size Open Problem 14

Binary Space Partition Size Presenter: Jason Smith Problem 14 of the Open Problems Project http://maven.smith.edu/~orourke/TOPP/P14.html#Problem.14 Binary Space Partition (BSP) ‡ A BSP is a recursive division of a set of geometric objects forming a binary tree. ‡ Goal: Choose divisions to minimize the fragmentation of the objects. ‡ General Strategies. ± Find and split on medians of verts, edges, objects. ± Split along facets of objects or orthogonal directions. Binary Space Partition (BSP) 1 1 3 2 2 Applications ‡ Hidden Surface Removal ± Real time rendering/shadow generation ‡ Solid Modeling [Peterson 1984] ± CSG operations corresponding to half-­‐spaces ± Convert between interior and boundary data ‡ Point Location ‡ Collision Detection ‡ Convex Decomposition of Polygon/Polyhedra Problem ‡ Is it possible to construct a binary space partition (BSP) for n disjoint line segments in the plane of size less than ੓(n log n) at depth O(log n)? [Paterson and Yao 1990] Paterson and Yao 1990 ‡
‡
‡
‡
Upper bound for size found to be O( n log n) Specialized balancing for O(log n) height Randomization General Alg. ± Find min max and then split median. Related Work ‡ A note on binary plane partitions [Toth 2001] ‡ Improved the trivial lower bound of ɏ(n) to worst case ɏ(n log n / log log n) ‡ Split region of segments into 3 boxes. Head, tail, and center. Toth 2001 ‡ ZĞƉůĂĐĞůŝŶĞƐĞŐŵĞŶƚƐǁŝƚŚ͞ĂƌƌŽǁƐ͟ ‡ Confusing algorithm which bounds segment ƐƉůŝƚƐƵƐŝŶŐŚĞdžĂŐŽŶĂůƌĞŐŝŽŶƐ͙ Toth 2009 ‡ Binary Plane Partitions for Disjoint Line Segments[Toth 2009] ± Find convex hull of endpoints ± Classify segments as free, boundary, interior Toth 2009 ‡ Generate paths from subset of boundary segs ± Trace a ray from convex boundary along segment. Change direction when intersecting other boundary edges ± Stop when intersect self or convex boundary Toth 2009 ‡ Generate convex regions from paths/cycles and construct dual graph. ± Proof uses this information to bound segment fragmentation Current Status ‡ Binary Plane Partitions for Disjoint Line Segments[Toth 2009] ‡ Algorithm running time O(n polylog n) ‡ Size = O (n log n / log log n) ‡ Height = O(n) ± If all input segments partitioned into single cycle Future Direction ‡ Study trade off between height of tree and size ‡ Can we get height O(log n)? ‡ 3D extension? References ‡ J. S. B. Mitchell and Joseph O'Rourke. Computational geometry column 42. Internat. J. Comput. Geom. Appl. 2001 ‡ M. S. Paterson and F. F. Yao. Efficient binary space partitions for hidden-­‐surface removal and solid modeling. Discrete Comput. Geom. 1990 ‡ Csaba Tóth. Binary plane partitions for disjoint line segments. In Proc. 25th Sympos. on Comput. Geom., pages 71-­‐79, 2009. ‡ Csaba David Tóth. A note on binary plane partitions. In Proc. 17th Annu. ACM Sympos. Comput. Geom., pages 151-­‐156, 2001. ‡ D. Peterson, Halfspace representations of extrusions, solids of revolution, and pyramids, SANDIA Report SAND84-­‐0572, Sandia National Laboratories, 1984