Binary Space Partitioning
A tutorial on binary space partitioning trees inproceedings naylor2001ato title a tutorial on binary space partitioning trees author b.
Binary space partitioning. Binary space partitioning is a generic process of recursively dividing a scene into two until the partitioning. In this case the constraint is the width and height of the container and the fact that we do not want containers to overlap since they represent separate rooms. Since there is no restriction on what hyperplanes are used polytopes polyhedra polygons etc can be represented exactly.
There s a pretty good description of bsp here as video or if you happen to have a copy of procedural generation in game design there s a great chapter in there by brian bucklew on space partitioning of various kinds including binary. Binary space partitioning contents. Generating a bsp tree can be time consuming.
It can be seen as a generalisation of other spatial tree structures such as k d trees and quadtrees one where hyperplanes that partition the space may have any orientation rather than being aligned with the coordinate axes as they are in k d trees or quadtrees. The canonical use. I immediately thought of binary space partitioning as a way to produce this sort of layout.
A partitioning tree is the recording of this process of recursive subdivision in the form of a binary tree of hyperplanes. The resulting data structure is a binary tree and the two subplanes are referred to as front and back. Binary space partitioning is treated as a generic process of recursively dividing a scene into two.
Binary space partitioning overview of bsp. Binary space partitioning is a technique for recursively dividing a space subject to some constraints. Bsp does not solve the problem of visible surface.
Bsp uses tree data structure to store information about set of objects in each convex set. Binary space partitioning was developed in the context of 3d computer graphics in 1969 1 2 where the. Binary space partitioning makes the vsd problem easier to solve by splitting a 3d scene into parts ahead of time.