Drzewo ósemkowe
Drzewo ósemkowe to struktura danych stosowana w grafice komputerowej do przestrzennego podziału trójwymiarowej przestrzeni. Proces ten polega na otoczeniu sceny sześcianem, który następnie jest dzielony na osiem mniejszych sześcianów w sposób rekurencyjny. Najczęściej boki sześcianu są równoległe do osi układu współrzędnych, co upraszcza operacje geometryczne.
Zastosowanie drzew ósemkowych
- Reprezentacja wokseli: W liściach pełnego drzewa ósemkowego przechowywana jest informacja o zajętości sześcianów, co umożliwia usuwanie pustych lub zajętych węzłów oraz efektywne „spakowanie” danych.
- Wykrywanie kolizji: Drzewa ósemkowe są wykorzystywane do efektywnego wykrywania kolizji w przestrzeni 3D.
- Kwantyzacja kolorów: Umożliwia zmniejszenie liczby kolorów w obrazach cyfrowych przy minimalnych błędach wizualnych.
- Rendering grafiki 3D: Usprawniają usuwanie niewidocznych obiektów poza bryłą widzenia, co pozwala na szybkie odrzucanie całych gałęzi drzewa bez szczegółowego testowania.
Testowanie widoczności sześcianu rozpoczyna się od korzenia drzewa ósemkowego. Istnieją trzy scenariusze:
- Jeśli sześcian jest niewidoczny, to wszystkie obiekty w nim zawarte również są niewidoczne.
- Jeśli sześcian jest całkowicie widoczny, to wszystkie obiekty są widoczne.
- W przypadku częściowej widoczności, następuje dalsze sprawdzanie widoczności jego mniejszych dzieci.
W ten sposób drzewo ósemkowe efektywnie wspomaga zarządzanie złożonymi danymi przestrzennymi w grafice komputerowej, co przekłada się na lepszą wydajność renderingu i interakcji w trójwymiarowych środowiskach.