Dzisiaj jest 22 stycznia 2025 r.
Chcę dodać własny artykuł

Bryła brzegowa

Bryła brzegowa

Bryła brzegowa (bounding volume, BV) to uproszczona forma przestrzeni, w której mieszczą się określone obiekty. Jej zastosowanie obejmuje m.in. wykrywanie kolizji oraz sprawdzanie widoczności obiektów na ekranie. Użycie brył brzegowych przyspiesza te procesy, umożliwiając szybsze i prostsze obliczenia.

Obiekty w grafice 3D składają się zwykle z siatek wielokątów. Wykrywanie kolizji pomiędzy setkami wielokątów jest czasochłonne, dlatego najpierw sprawdza się kolizję ich brył brzegowych. Jeśli te nie kolidują, można od razu uznać, że obiekty również się nie stykają.

Najczęstsze typy brył brzegowych

  • Bounding sphere (kula) – najmniejsza kula otaczająca obiekt. Kolizję dwóch kul sprawdza się szybko, porównując odległość między ich środkami z sumą promieni.
  • Bounding box (pudełko) – najmniejszy prostopadłościan otaczający obiekt. Może być:
    • Oriented Bounding Box (OBB) – nieosiowo ustawiony prostopadłościan, co pozwala lepiej opisać kształty obiektów.
    • Axis-Aligned Bounding Box (AABB) – prostopadłościan wyrównany z osiami układu współrzędnych, ułatwiający sprawdzanie kolizji.

Podczas wykrywania kolizji zazwyczaj najpierw sprawdza się kolizję brył sferycznych, następnie pudełkowych, a na końcu kolizję samych obiektów.

Hierarchie brył brzegowych

Bryły brzegowe mogą być zorganizowane w hierarchie, tworząc struktury drzewiaste, gdzie jedna bryła obejmuje całą scenę. Hierarchie te (Bounding Volume Hierarchies, BVH) są używane w wykrywaniu kolizji oraz w renderowaniu dynamicznych scen. Mimo że obliczanie optymalnego BVH jest skomplikowane, jego aktualizacja po zmianie pozycji obiektów jest stosunkowo prosta.

Optymalne stworzenie BVH dla konkretnego zastosowania może być trudne, ponieważ liczba możliwych podziałów w binarnym BVH z AABB rośnie wykładniczo. Zazwyczaj korzysta się z programów do modelowania lub algorytmów przybliżonych, które rozpatrują tylko kilka możliwości oraz stosują heurystyki.