GKIW Moduł 7 - Eliminacja powierzchni zasłoniętych: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 249: | Linia 249: | ||
Można przyjąć, że dziedziną '''D''' funkcji dla rozpatrywanego fragmentu powierzchni jest prostokąt <math>[x_{min},x_{max}] X [y_{min},y_{max}]</math>. Jeśli dziedzinę '''D''' podzielimy równomierną siatką za pomocą linii równoległych odpowiednio do osi <math>x</math> i osi <math>y</math>, to punkt <math>[x_i,y_j]</math> będzie węzłem takiej siatki (dla <math>1\le i\le NX</math> oraz <math>1\le j \le NY</math>, gdzie <math>NX</math>, <math>NY</math> określają liczbę linii siatki dla każdej współrzędnej). Punkt <math>[z_{ij},x_i,y_j]</math> dla <math>z_{ij}}=f(x_i,y_j)</math> jest węzłem siatki rozpiętej na powierzchni będącej wykresem punkcji. Taki przykład najczęściej występuje w zastosowaniach praktycznych, gdzie wartości węzłowe pochodzą na przykład z pomiarów lub symulacji. Przybliżoną powierzchnię rysujemy łącząc węzły odcinkami. | Można przyjąć, że dziedziną '''D''' funkcji dla rozpatrywanego fragmentu powierzchni jest prostokąt <math>[x_{min},x_{max}] X [y_{min},y_{max}]</math>. Jeśli dziedzinę '''D''' podzielimy równomierną siatką za pomocą linii równoległych odpowiednio do osi <math>x</math> i osi <math>y</math>, to punkt <math>[x_i,y_j]</math> będzie węzłem takiej siatki (dla <math>1\le i\le NX</math> oraz <math>1\le j \le NY</math>, gdzie <math>NX</math>, <math>NY</math> określają liczbę linii siatki dla każdej współrzędnej). Punkt <math>[z_{ij},x_i,y_j]</math> dla <math>z_{ij}}=f(x_i,y_j)</math> jest węzłem siatki rozpiętej na powierzchni będącej wykresem punkcji. Taki przykład najczęściej występuje w zastosowaniach praktycznych, gdzie wartości węzłowe pochodzą na przykład z pomiarów lub symulacji. Przybliżoną powierzchnię rysujemy łącząc węzły odcinkami. | ||
Watkins w 1974 roku zaproponował algorytm maskowania pozwalający rysować kolejne krzywe (łamane) siatki rozpiętej na powierzchni będącej wykresem funkcji. Można zauważyć dotychczas narysowany fragment (pierwszym takim fragmentem jest obszar powierzchni pomiędzy pierwszymi dwoma krzywymi/łamanymi) może zasłaniać wszystkie później rysowane elementy powierzchni. A zatem do realizacji algorytmu wystarczy zdefiniować bufor górny (ograniczenie górne <math>Y_{OG}</math> we współrzędnych rzutu) i bufor dolny (ograniczenie dolne <math>Y_{OD}\,</math> we współrzędnych rzutu), a następnie w każdym kroku sprawdzać położenie rysowanego elementu (odcinka) względem buforów. Jeśli element jest powyżej ograniczenia górnego lub poniżej dolnego to jest rysowany, w przeciwnym przypadku (między ograniczeniami) to nie jest rysowany. Oczywiście każdy narysowany element powiększa (rozszerza w danym kierunku) odpowiednie ograniczenie. | Watkins w 1974 roku zaproponował algorytm maskowania pozwalający rysować kolejne krzywe (łamane) siatki rozpiętej na powierzchni będącej wykresem funkcji. Można zauważyć dotychczas narysowany fragment (pierwszym takim fragmentem jest obszar powierzchni pomiędzy pierwszymi dwoma krzywymi/łamanymi) może zasłaniać wszystkie później rysowane elementy powierzchni. A zatem do realizacji algorytmu wystarczy zdefiniować bufor górny (ograniczenie górne <math>Y_{OG}\,</math> we współrzędnych rzutu) i bufor dolny (ograniczenie dolne <math>Y_{OD}\,</math> we współrzędnych rzutu), a następnie w każdym kroku sprawdzać położenie rysowanego elementu (odcinka) względem buforów. Jeśli element jest powyżej ograniczenia górnego lub poniżej dolnego to jest rysowany, w przeciwnym przypadku (między ograniczeniami) to nie jest rysowany. Oczywiście każdy narysowany element powiększa (rozszerza w danym kierunku) odpowiednie ograniczenie. | ||
|} | |} |
Wersja z 22:07, 24 lis 2007
Wykład
![]() |
![]() |
![]() |
Zadanie określenia widoczności elementów wielościanu wypukłego można więc rozwiązać na dwa sposoby korzystając z rozwiązań A i B sprawdzających zorientowanie poszczególnych ścian. |
![]() |
Literatura
![]() |