Space partitioning structures visualization

Overview

vptree-draw

Win/Linux/Mac build

SVG export of several 2D space partitioning structures.

Code structure

  • geo.h minimalist 2D geometry structures (Point, Vector, Box, Sphere)
  • bvhsphere.h minimalist bounding sphere hierarchy
  • bvhbox.h minimalist bounding box hierarchy
  • kdtree.h minimalist kd tree
  • quadtree.h minimalist quadtree
  • vptree.h minimalist vantage points tree
  • bvptree.h minimalist Bregman Kullback-Leibler vantage points tree
  • draw.h tree to SVG draw functions
  • simple_svg_extend.h extends Simple SVG to support arcs and cavc::PolyLine (aka: bulge paths)

Dependencies

(included in this project)

  • Simple SVG drawing library link
  • Cavaliers contours link

Build

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.

Examples

VP tree Quadtree KD tree BVH box BVH sphere
Large poster

Contributors

Basile Fraboni, LIRIS, INSA Lyon, Université Claude Bernard Lyon 1

David Coeurjolly, CNRS, LIRIS

License

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/

You might also like...
Repository of problems and solutions of labsheets used for Data Structures and Algorithms (CS F211) in Semester 2, 2020-21 at BITS Pilani - Hyderabad Campus.

CS F211 Data Structures and Algorithms (BITS Pilani - Hyderabad Campus) This repository contains the problems, solution approaches & explanations and

An assortment of commonly used algorithms and data structures implemented with C++.

Algorithms-And-Data-Structures This repo contains C++ implementations of common algorithms and data structures, grouped by topics. The list will be sp

Algo-Tree is a collection of Algorithms and data structures which are fundamentals to efficient code and good software design. Creating and designing excellent algorithms is required for being an exemplary programmer. It contains solutions in various languages such as C++, Python and Java.
Wonderful library with lots of useful functions, algorithms and data structures in C, link it with -l9wada

Lib9wada Wonderful library with lots of useful functions, algorithms and data structures in C, link it with -l9wada Usage Compile the library with mak

Wonderful library with lots of useful functions, algorithms and data structures in C, link it with -l9wada

LibC+ Wonderful library with lots of useful functions, algorithms and data structures in C, link it with -lC+ Better than C, not as much as c++ Usage

A collection of basic data structures syntaxes, useful for competitive coding and placement exams
A collection of basic data structures syntaxes, useful for competitive coding and placement exams

Data-Structures A collection of basic data structures syntaxes, useful for competitive coding and placement exams 1. Array 2. Matrix 3. Linked List Si

The aim of this repository is to make it a one final stop for revision for technical interviews involving data structures and algorithms .

Hey 🙋‍♂️ This repository is meant for data structures and algorithms . I will be updating this often and will include all the data structures importa

This is a beginner-friendly project aiming to build a problem-set on different data structures and algorithms in different programming languages.

DSAready Overview This is a beginner-friendly project that aims to create a problem-set for various Data Structures and Algorithms. Being a programmer

A reverse engineering tool to interactively reconstruct structures and generate header files
A reverse engineering tool to interactively reconstruct structures and generate header files

ReGenny ReGenny is a reverse engineering tool to interactively reconstruct structures and generate usable C++ header files. Header file generation is

Owner
Basile Fraboni
PhD student at INSA LYON - LIRIS. My research area focuses on computer graphics and realistic rendering.
Basile Fraboni
cartographer work space with detailed comments

cartographer 超详细注释 基于2021.04.20日在github上下载的master的代码的注释版本, 会增加更规范、详细的注释, 包括: 1、增加关键地方的公式推导 2、难理解部分代码画图展示原理 3、原作者代码本身疑似/确定bug的说明 by lixiang 注释多数在 .cc 文

xiangli 447 Jan 2, 2023
🏅State-of-the-art learned data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes

The Piecewise Geometric Model index (PGM-index) is a data structure that enables fast lookup, predecessor, range searches and updates in arrays of bil

Giorgio Vinciguerra 650 Dec 31, 2022
Rajesh Kumar Sah 1 Nov 20, 2021
C header to execute user-space functions in ring 0

r0e - Execute User Code in Ring0 This small header allows executing functions in your application in ring 0, i.e., with kernel privileges. Use cases i

Michael Schwarz 11 Nov 11, 2022
R :package: and header-only C++ library for geospatial space-division based compression and encoding

spress spress provides utilities for encoding and compressing geospatial objects, such as sf objects. Installation This package requires C++11 for com

UF-OKN 5 Dec 9, 2021
R :package: and header-only C++ library for geospatial space-division based compression and encoding

spress spress provides utilities for encoding and compressing geospatial objects, such as sf objects. Installation This package requires C++11 for com

UF-OKN 5 Dec 9, 2021
Easy to use, header only, macro generated, generic and type-safe Data Structures in C

C Macro Collections Easy to use, header only, macro generated, generic and type-safe Data Structures in C. Table of Contents Installation Contributing

Leonardo Vencovsky 347 Jan 8, 2023
A library of generic data structures.

Collections-C A library of generic data structures including a list, array, hashtable, deque etc.. Examples Building and Installing Using the library

Srđan Panić 2.5k Jan 8, 2023
🔗 Common Data Structures and Algorithms

?? Data Structures and Algorithms This library provides common data structures. It will also provide some data structures which needed in render or ga

Recep Aslantas 45 Dec 10, 2022
A collecton of generic reference counted data structures, tools to create compatible C style classes, and demo applications

The Offbrand library is a collection of reference counted generic data structures written in C for C. The library includes bash scripts to assist in t

Tyler Heck 82 Dec 10, 2022