Leksykon IT › Programowanie › Cohen–Sutherland

Cohen–Sutherland

Programowanie Svenska → Zaktualizowano: 2026-10-27

Obcinanie odcinków za pomocą czterobitowych kodów regionów, które pozwala przyjąć lub odrzucić większość linii bez jednego dzielenia.

Płaszczyzna wokół prostokątnego okna dzieli się na dziewięć obszarów, a każdy koniec odcinka dostaje czterobitowy kod: powyżej, poniżej, na prawo, na lewo. Jeśli oba kody są zerowe, odcinek leży w całości wewnątrz. Jeśli iloczyn bitowy obu kodów jest niezerowy, oba końce leżą po tej samej zewnętrznej stronie i odcinek można wyrzucić. Rzeczywiste wyznaczanie przecięcia potrzebne jest tylko w pozostałych przypadkach: przesuwa się problematyczny koniec na krawędź okna i próbuje od nowa.

Danny Cohen i Ivan Sutherland wymyślili to w 1967 roku do symulatora lotu, w którym większość świata zawsze znajdowała się poza ekranem. Algorytm Lianga–Barsky’ego (1984) jest szybszy dla odcinków, które naprawdę trzeba obciąć, ale sztuczka z kodami przetrwała go — te same maski bitowe służą do taniego odrzucania obiektów w frustum cullingu.

← Wróć do leksykonu