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
© Copyright 2026 Paperzz