Strona 1 z 1

algorytmy potrzebne

PostNapisane: 16 listopada 2003, o 17:16
przez januzi
Hej

Zacząłem znowu męczyć się z moim skrypcikiem php do tworzenia obrazków. Wiem, że jest gd i wogóle, ale funkcje 3d znajdujące się w niej nie zadowalają moich wymagań. Obecnie stanąłem przed problemem sortowania ścian, tak żeby rysować tylko te widoczne. Czy ktoś wie jak wygląda algorytm na wyznaczanie tego ?

PostNapisane: 20 listopada 2003, o 16:27
przez januzi
Prawie się udało : Obrazek Jeszcze czasami pokazują się ściany które nie powinny :(

PostNapisane: 20 listopada 2003, o 20:14
przez platekr
Jes kilka metod ukrywania niewidocznych ścian. Jednym z nich jest np. Z-Buffer. Nazwa pochodzi od sposobu jego działania. Współrzędna Z określa odległość punku od ekranu. Tworzy się zatem bufor w pamięci, który przechowuje największą wartość Z w aktualnym punkcie ekranu. Kiedy wartość Z(1) rysowanego punktu jest większa od Z(b) w buforze w aktualnym punkcie, to wtedy wiemy, że obiekt narysowany wcześniej (ten w buforze) jest bliżej obserwatora, a zatem nie rysujemy Z(1). Jeśli jest mniejsza, to umieszczamy Z(1) w buforze i rysujemy punkt. Innymi słowy jest to jakby "zamalowywanie" tego co jest dalej. Obliczenia możesz też wykonać przed rysowaniem i na końcu narysować wszystko z bufora zamiast zamalowywac.

Wadą bufora jest mała pojemność, ale pewnie do Twojego zastosowania wystarczy. Jeśli nie, to poszukaj informacji o algorytmie związanym z kolejnością rysowania wierzchołków, który w połączeniu z Z-Bufferem ma już niezłą wydajność.

PostNapisane: 21 listopada 2003, o 10:04
przez januzi

PostNapisane: 23 listopada 2003, o 21:29
przez januzi
Powyżej uaktualniony obrazek :) Następny krok : szklany sześcian.
Biblioteka jest open, jakby ktoś chciał się pobawić, to podeśle na maila.