An Octree is a three-dimensional analogue of the Quadtree, the latter can be explained more easily. A quadtree is a spatial data structure that stores region information in quadrants formed by recursively subdividing square regions. A point can thus be approximated by a quadrant small enough to adequately enclose the point within reasonable bounds on accuracy. Our team created a presentation on the importance of such classes of data-structures and the octree which can be found here
Here, we create an Octree using similar principles and use it store the point cloud information of a highly detailed model here.
This data structure reduces the time and space complexity of rendering objects in 3D and allows faster spatial operations such as Nearest-Neighbor (NN) search and Frustum Culling.
The application may be run by running the python code using an ".obj" file. This will extract the points from the model and remove surfaces, surface normals and color and textural data. The set of points extracted can then be used in the blenderpy script at the end of the code.
