SVG export of several 2D space partitioning structures.
src/geo.hminimalist 2D geometry structures (Point, Vector, Box, Sphere)src/bvhsphere.hminimalist bounding sphere hierarchysrc/bvhbox.hminimalist bounding box hierarchysrc/kdtree.hminimalist kd treesrc/quadtree.hminimalist quadtreesrc/vptree.hminimalist vantage points treesrc/bvptree.hminimalist Bregman Kullback-Leibler vantage points treesrc/bregman.hminimalist utility functions for plotting Bregman ballssrc/lambert.hminimalist Lambert W function implementation for parametric Bregman balls (warning: this may be numerically unstable)src/draw.htree to SVG draw functionssrc/simple_svg_extend.hextends Simple SVG to support arcs and cavc::PolyLine (aka: bulge paths)
(included in this project)
The project uses cmake to build the examples. For instance (linux/mac):
mkdir build
cd build
cmake ..
make
Note: the bunny.dat file must be copied in the same folder as
the build binaries.
| Vantage points tree | Quadtree | KD tree |
|---|---|---|
| Bregman vantage points tree | Bounding box hierarchy | Bounding sphere hierarchy |
|---|---|---|
| Large poster |
|---|
| Bregman VPT Kullback-Leibler divergence | Bregman VPT Itakura-Saito divergence |
|---|---|
Basile Fraboni, LIRIS, INSA Lyon, Université Claude Bernard Lyon 1
David Coeurjolly, CNRS, LIRIS
You may use, distribute and modify this code under the terms of the MIT license. For further details please refer to : https://mit-license.org/