Algorytm malarza

Algorytm malarza

Algorytm malarza (ang. painter’s algorithm) to technika używana w grafice komputerowej do określania widocznych powierzchni. Działa na zasadzie rysowania obiektów w kolejności od najdalszego do najbliższego, co przypomina sposób, w jaki malarz przedstawia bliższe obiekty, malując je na wcześniej namalowanych, bardziej oddalonych. Fragmenty są rysowane w tej samej kolejności. Proces ten przypomina malowanie obrazu olejnego, co wyjaśnia nazwę algorytmu. Oznacza to, że fragment, który zostanie namalowany później, zasłania (zamalowuje) wszystko, co zostało już namalowane w danym miejscu. Tę właściwość mają wszystkie urządzenia wyświetlające, jednak zastosowanie algorytmu malarza bezpośrednio na drukarce jest niemożliwe.

Algorytm ten jest jednym z najprostszych algorytmów HSR (ang. Hidden Surface Removal) i nie eliminuje niewidocznych powierzchni. Dlatego w przypadku skomplikowanych scen powinien być łączony z innymi metodami, takimi jak backface culling czy BSP tree.

Algorytm jest również nazywany algorytmem sortowania ze względu na głębokość, ponieważ przed rozpoczęciem rysowania obiektów, następuje ich sortowanie według głębokości (zazwyczaj współrzędnej Z). W ogólnym przypadku, przed narysowaniem sceny 3D, rozstrzyga się wszystkie niejednoznaczności związane z sortowaniem, takie jak przenikanie wielokątów, co mogłoby wymusić zastosowanie innego algorytmu, na przykład bufora Z.

W kontekście grafiki 2,5D (takiej jak kartografia, projektowanie układów scalonych, zarządzanie oknami w systemach graficznych) problemy te nie występują.

Zobacz też

Bibliografia

James D Foley, Andries van Dam, Steven K Freiner, John F Hughes, Richard L Phillips: Wprowadzenie do grafiki komputerowej. Jan Zabrodzki (tłumaczenie). Warszawa: Wydawnictwa Naukowo-Techniczne, 1995. ISBN 83-204-1840-2. Brak numerów stron w książce.

Przeczytaj u przyjaciół: