Algorytm malarza

Z Wikipedii, wolnej encyklopedii
Problem algorytmu malarza

Algorytm malarza (ang. painter's algorithm) – algorytm stosowany w grafice komputerowej, służący do wyznaczania powierzchni widocznych. Polega na rysowaniu obiektów w kolejności od najdalszego do najbliższego, podobnie jak malarz przedstawia bliższe obiekty malując je na namalowanych wcześniej, bardziej odległych. Fragmenty są następnie rysowane w tejże kolejności. Zakłada się przy tym, że rysunek powstaje analogicznie do malowania obrazu olejnego, stąd nazwa algorytmu. Oznacza to, że fragment później namalowany zasłania (zamalowuje) wszystko, co było dotychczas namalowane w tym miejscu. Tę cechę ma każde urządzenie wyświetlające, ale stosowanie algorytmu malarza bezpośrednio na drukarce jest niemożliwe.

Jest jednym z najprostszych algorytmów HSR i nie usuwa powierzchni niewidocznych, dlatego przy złożonych scenach powinien być stosowany razem z innymi metodami, np. backface culling, BSP tree.

Algorytm nazywany jest również algorytmem sortowania ze względu na głębokość, ponieważ przed rozpoczęciem rysowania obiektów następuje ich sortowanie ze względu na głębokość (na ogół współrzędną Z) i, w ogólnym przypadku, przed narysowaniem sceny 3D rozstrzyga się wszystkie niejednoznaczności związane z sortowaniem – czy wielokąty nie przenikają przez siebie, co wymuszałoby konieczność skorzystania z innego algorytmu, np. bufora Z.

W zastosowaniach grafiki 2,5D (kartografia, projektowanie układów scalonych, zarządzanie oknami w systemach graficznych) takie problemy nie występują.

Zobacz też[edytuj | edytuj kod]

Bibliografia[edytuj | edytuj kod]

  • 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.