Quadtree

module
v0.0.0-...-fd1d963 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2024 License: Apache-2.0

README

Quadtree

Konzept

Ein Quadtree ist eine Baumdatenstruktur, bei der jeder interne Knoten genau vier Kinder hat. Quadtrees sind das zweidimensionale Gegenstück zu Octrees und werden meist verwendet, um einen zweidimensionalen Raum durch rekursive Unterteilung in vier Quadranten oder Regionen zu partitionieren. Die mit einer Blattzelle verbundenen Daten variieren je nach Anwendung, aber die Blattzelle stellt eine "Einheit interessanter räumlicher Informationen" dar.

Die unterteilten Regionen können quadratisch oder rechteckig sein, aber auch beliebige Formen haben. Diese Datenstruktur wurde 1974 von Raphael Finkel und J.L. Bentley als Quadtree bezeichnet. Eine ähnliche Aufteilung ist auch als Q-Tree bekannt. Alle Formen von Q-Trees haben einige gemeinsame Merkmale:

Sie unterteilen den Raum in anpassbare Zellen. Jede Zelle (oder Bucket) hat eine maximale Kapazität. Wenn die maximale Kapazität erreicht ist, wird die Zelle geteilt. Das Baumverzeichnis folgt der räumlichen Zerlegung des Quadtrees. Eine Baumpyramide (T-Pyramide) ist ein "vollständiger" Baum; jeder Knoten der T-Pyramide hat vier untergeordnete Knoten, ausgenommen Blattknoten; alle Blätter befinden sich auf der gleichen Ebene, der Ebene, die den einzelnen Pixeln im Bild entspricht. Die Daten in einer Baumpyramide können kompakt in einem Array als implizite Datenstruktur gespeichert werden, ähnlich wie ein vollständiger Binärbaum kompakt in einem Array gespeichert werden kann.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL