Aufbau einer Quadtree -

Ich bin versucht, einen quadtree (a 4-ary tree) halten die Informationen in einem bestimmten BMP.

Ich bin kämpfen, um herauszufinden, wie Sie zum Aufbau des Baumes gegeben, BMP.

Grundsätzlich die Struktur ist so, dass jedes Blatt repräsentiert ein pixel. Jeder Knoten 4 Zeiger, von denen jeder auf eine der vier verbleibenden Quadranten im Bild. Damit kann jeder Knoten teilt das aktuelle Bild in 4 Teile. Durch die Zeit, die Sie auf dem Blatt sind Sie an einem bestimmten pixel.

Ich bin mir nicht sicher wie Sie gehen über den Bau einen Baum, um die Karte mit einem bestimmten image. Unter der Annahme, dass das Bild hat die Abmessungen die eine Potenz von zwei, was soll ich tun. Ich verstehe, dass eine rekursive Funktion könnte wahrscheinlich machen das die meisten aus, aber ich bin kämpfen, um herauszufinden, wie zu verfolgen, wo in dem Bild, das ich dabei bin zu werden.

Dies ist in C++ und momentan mein quadtree.h-Datei enthält ein Node* root, wo ein Knoten ist definiert als eine Struktur mit einem pixel-element und 4 Zeiger auf andere Knoten. Jeder innere Knoten (nicht-Blatt-Knoten) halten sollte, der Durchschnittliche Wert aller 4 RGB-Werte führt.

Ich bin versucht, um einen Algorithmus, aber ich glaube, ich könnte brauchen, um eine Struktur oder zwei in der .h-Datei. Gibt es eine bessere/mehr sauber Weg, um dieses problem zu lösen?

InformationsquelleAutor Arjun Nayini | 2010-03-24
Schreibe einen Kommentar