Az octree ( octant tree , octal tree , angolul octree ) egy olyan fa adatstruktúra , amelyben minden belső csomópontnak pontosan nyolc "gyermeke" van. Az oktális fákat leggyakrabban a 3D tér felosztására használják nyolc cellára való rekurzív felosztással. Az oktrák a négyfák 3D-s analógjai . Az angol "octree" név az oct + tree-ből származik, és általában "octree"-nek írják, nem pedig "octtree"-nek.
Az oktánsfa minden csomópontja nyolc új oktánsra osztja fel a teret . Az oktfa ponttartományában (PR ) a csomópont egy explicit 3D pontot tárol, amely az adott csomópont térfelosztásának "középpontja". Ez a pont határozza meg mind a nyolc gyermek mező egyik sarkát. Egy MX oktrában a felosztási pont a csomópont által képviselt tér implicit középpontja. A PR-okfa gyökércsomópontja egy végtelen teret képviselhet. Egy MX oktfa gyökércsomópontjának egy korlátozott térrégiót kell képviselnie, hogy az implicit középpontok jól meghatározottak legyenek. Az oktrákat nem tekinthetjük k-dimenziós fáknak , mivel a k-dimenziós fák egy dimenzió mentén hasadnak, míg az oktrák egy pont körül. Ezenkívül a k-dimenziós fák mindig binárisak , ami nem igaz az oktrákra.
Oktfa algoritmus színkvantáláshozGerwauz és Purgathofer 1988-ban találta fel, a kép színadatait kilenc szint mélységű oktfaként kódolja. Az octree használatát az magyarázza, hogy az RGB rendszerben három színösszetevő van. Ez az algoritmus nagyon memóriatakarékos, mivel a fa mérete korlátozható. Az oktra alsó (alap) szintje levélcsomópontokból áll , amelyek olyan színadatokat halmoznak fel, amelyek nem jelennek meg a fában; ezek a csomópontok kezdetben 1 bitet tartalmaznak. Ha a kívántnál jóval nagyobb mennyiségű színpaletta kerül az oktrába, akkor az oktfa mérete folyamatosan csökkenthető úgy, hogy az alsó (alap) szinten keresünk egy csomópontot, és annak bitadatait csomópontlevélre, zsugorító részre átlagoljuk. a fáról. A lekérés befejezése után a fa megvizsgálja az összes útvonalat a csomóponti levelekig, figyelembe véve a keresési útvonal bitjeit. Ez a folyamat hozzávetőleges számú színt eredményez.
![]() |
---|
Fa (adatstruktúra) | |
---|---|
Bináris fák | |
Önkiegyensúlyozó bináris fák |
|
B-fák | |
előtag fák |
|
A tér bináris particionálása | |
Nem bináris fák |
|
A tér felosztása |
|
Más fák |
|
Algoritmusok |
|