This crate hopes to provide an efficient 2D space partitioning data structure and useful query algorithms to perform on it in a hopefully simple cohesive api.
It is a hybrid between a KD Tree and Sweep and Prune.
Uses no_std
, but uses the alloc
crate.
Please see the dinotree-book which is a work in-progress high level explanation and analysis of this crate.
Inner projects
The dinotree_alg_demo inner project is meant to show case the use of these algorithms. It depends on the piston 2d engine to draw to the screen.
The dinotree_alg_data project generates some graphs using RustGnuPlot. These graphs are used to create the reports in the dinotree_report project that is a seperate project.
Analysis
Please see the book for a work in progress writeup of the design and analysis of the algorithms in this project.
Example
use rect;
use *;