Skip to content

Pavel-N/R-Tree-Visualiser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

R-Tree Visualization

Interactive 3D visualization of R-Tree spatial index data structure.

Features

  • R-Tree Implementation: Custom R-Tree spatial index with configurable node capacity
  • Dual View: Side-by-side 3D visualization of R-Tree and sequential data structure
  • Interactive Camera: Perspective and orthographic camera modes with orbit, pan, and zoom controls
  • Data Generation: Gaussian cluster-based point generation
  • Spatial Queries: Range queries and k-NN query support
  • Performance Metrics: Built-in timing for insert and search operations

Requirements

  • Java 21
  • Maven 3.6+

Build

mvn clean compile

Run

mvn clean javafx:run

Usage

  1. Configure Data: Set number of dimensions, clusters, and points per cluster
  2. Configure Tree: Set maximum children per node (R-Tree fanout)
  3. Generate Points: Click to create and insert data points
  4. Explore: Use mouse to rotate, pan, and zoom the 3D view
  5. Search: Perform range or k-NN queries on the data

Project Structure

src/main/java/cz/cvut/fit/vwm/rtreesemestral/
├── controller/        # UI controllers and search logic
├── model/             # Data models (R-Tree, points, MBRs)
├── util/              # Helpers for drawing and data generation
└── view/              # JavaFX rendering and application entry

Dependencies

  • JavaFX 21 (OpenJFX)
  • ControlsFX 11.2.1
  • FormsFX 11.6.0
  • FXyz3D 0.6.0 (3D rendering)
  • JUnit 5.12.1 (testing)

About

Interactive 3D visualization of R-Tree spatial index data structure.

Topics

Resources

Stars

Watchers

Forks

Contributors