Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Geometria obrazu Wykład 11
Źródła światła. Cienie. Bryła cienia. Mapowanie cieni. Rzutowanie skośne. Stabbing w R3. Niepunktowe źródła światła.
2
Źródła światła. Punktowe Kierunkowe Stożkowe (reflektor).
3
Cienie. Cienie twarde. Charakteryzują się brakiem płynnego przejścia pomiędzy punktami w cieniu i poza nim (ostre krawędzie). W naturze zwykle (rzadko) powstają, gdy źródło światła jest bardzo małe (punktowe) i stosunkowo blisko obiektów oświetlanych. [google]
4
Cienie miękkie. Cienie te są najczęściej spotykanym typem cienia w świecie naturalnym. Granice cieni nie są wyraźne. Występuje wiele tzw. półcieni (penumbra). Rozmycie cienia wynika stąd, że źródło światła nie jest nieskończenie małym punktem w przestrzeni. W obszarze penumbry widać część źródła światła, a w całkowitym cieniu (umbrze) źródło jest zasłaniane. Dodatkowo można zaobserwować, że im dalej znajduje się źródło światła tym cień staje się bardziej rozmyty. [google]
5
Metoda bryły cienia. Bryła cienia składa się z: Przedniego domknięcia (light cap) złożonego z danych elementów sceny zwróconych przodem do źródła światła, Tylnego domknięcia (dark cap) będącego rzutem elementów zwróconych tyłem do źródła światła na płaszczyznę w nieskończoności, Czworokątnych ścian łączących brzegi przedniego domknięcia z odpowiadającymi im brzegami tylnego domknięcia.
6
Aby stwierdzić, czy dany punkt przestrzeni leży w cieniu należy zbadać, czy punkt leży w środku przynajmniej jednej z brył cieni. Jest to równoważne stwierdzeniu, czy dla dowolnej półprostej o początku w danym punkcie różnica liczby przednich ścian brył przecinanych przez tę półprostą i liczby tylnych ścian brył przecinanych przez tę półprostą jest niezerowa. Algorytm. Wyznacz powierzchnie widoczne z punktu widzenia kamery. Z punktu źródła światła wyznacz obiekty, które mogą rzucać cień. Dla widocznych punktów sceny renderuj bryły cieni obiektów rzucających cień.
7
Wady metody brył cieni. Duża złożoność obliczeniowa. Konieczność renderowania każdego źródła światła. W wersji podstawowej algorytmu obiekty muszą być siatkami trójkątów. Nieodpowiednia dla obrazów z kanałem alfa.
8
Mapowanie cieni. Algorytm. Renderowanie elementów widocznych z pozycji źródła światła. Dokonanie pozostałych obliczeń oświetlenia (odbicia rozproszone, zwierciadlane) jedynie dla elementów widocznych ze źródła światła. Zalety mapowania cieni: Łatwość implementacji. Szybkość. Możliwość równoczesnej analizy wielu źródeł światła.
9
Wady mapowania cieni. Dokładność wyznaczania cieni zależy od rozdzielczości mapy cieni. Oryginalna metoda niewiele różni się od zwykłego badania krawędzi. W przypadku źródeł punktowych metoda jest czasochłonna. W przypadku kierunkowych źródeł światła istnieje możliwość powstania artefaktów.
10
: R3 \ {(x,y,z): z{a,b}} {(x,y,z): z = 0} w następujący sposób:
Rzutowanie skośne. Definicja. Dla danej płaszczyzny rzutowania z = 0 (ekranu) i dwóch prostych (osi) wyznaczanych przez przecięcia płaszczyzn (z = a)(x = 0) (prosta k) oraz (z = b)(y = 0) (prosta l) definiujemy rzutowanie skośne : R3 \ {(x,y,z): z{a,b}} {(x,y,z): z = 0} w następujący sposób: punkt (p,q,0) jest obrazem wszystkich punktów leżących na prostej m przecho-dzącej przez (p,q,0) i przecinającej k i l oprócz mk i ml. l k
11
Lemat. Rzutowanie skośne jest zdefiniowane jednoznacznie, tzn. dla każdego punktu z R3 \ {(x,y,z): z{a,b}} istnieje dokładnie jeden punkt na ekranie będący jego obrazem. Dowód. Dany punkt p i prosta l wyznaczają płaszczyznę P, która przecina prostą k w punkcie q. Punkty p i q jednoznacznie wyznaczają prostą, która przecina prostą l w punkcie r oraz ekran w punkcie s. q r s p l k
12
Lemat. Kierunki rzutowania punktów należących do danej prostej m wyznaczają powierzchnię paraboloidy hiperbolicznej lub hiperboloidy jednopowłokowej, w zależności od położenia prostej m. [google]
13
Lemat. Obrazem przy rzutowaniu skośnym prostej niezawartej w płaszczyznach równoległych do ekranu, zawierających proste k i l, może być punkt, prosta lub hiperbola. Dowód. Punkt otrzymujemy, gdy dana prosta przecina proste k i l. Prostą otrzymamy, gdy dana prosta jest równoległa do ekranu. W pozostałych przypadkach otrzymamy hiperbolę. Fakt (ćwiczenia). Rzut skośny odcinka nie musi być spójny. Fakt (ćwiczenia). Wnętrze spójnego rzutu skośny wielokąta wypukłego może nie być spójne.
14
Stabbing w R3. Rozpatrzmy następujący problem prostej przeszywającej w R3: dla danego zbioru wypukłych wielościanów w R3 o łącznym rozmiarze n znajdź (o ile istnieje) prostą przeszywającą wszystkie z nich. Lemat. Jeśli prosta przeszywająca istnieje, to istnieje prosta przeszywająca przechodząca przez co najmniej dwie krawędzie wielościanów. Dowód. Możemy przesunąć prostą przeszywającą w dowolnym kierunku aż dotknie jednej krawędzi w punkcie p, a następnie obrócić względem punktu p aż osiągnie drugą krawędź.
15
W ten sposób otrzymujemy następujący algorytm.
for każda para krawędzi wielościanów do begin if wybrane krawędzie są równoległe then znajdź przekrój wielościanów płaszczyzną zawierającą wybrane krawędzie i rozwiąż stabbing dwuwymiarowy else przekształć afinicznie przestrzeń tak, aby wybrane krawędzie przeszły w osie rzutowania skośnego; zrzutuj wielościany na ekran; if część wspólna rzutów jest niepusta then punkty części wspólnej i odcinki wyznaczające osie wyznaczają proste przeszywające; end end;
16
Twierdzenie. Problem stabbingu w R3 można rozwiązać w czasie O(n4 (n) log n). Dowód. Złożoność powyższego algorytmu wynosi: O(n2) x (O(n log n) (rozwiązanie stabbingu planarnego) + O(n) (rzutowanie) + O(n2 (n) log n) (znalezienie części wspólnej z wykorzystaniem ciągów Davenporta- Schinzela) ) = O(n4 (n) log n).
17
Niepunktowe źródła światła. Definicja.
Punkt p znajduje się w cieniu, gdy źródło światła nie jest widoczne z tego punktu. Punkt p znajduje się w półcieniu, gdy źródło światła jest częściowo widoczne z tego punktu. Punkt p znajduje się w antycieniu, gdy całe źródło światła jest widoczne z tego punktu. źródło światła przeszkoda antycień półcień cień półcień antycień
18
LS(p) = s M(cosout cosin /R2)dS
Definicja. Wartość oświetlenia w danym punkcie p opisana jest następującą całką LS(p) = s M(cosout cosin /R2)dS Gdzie M oznacza jasność źródła światła, R jest odległością od źródła światła, a out i in odpowiednio oznaczają kąty między wektorami normalnymi do powierzchni źródła światła i badanego obiektu a odcinkiem łączącym punkt p ze źródłem światła. out R in p
19
Siatka nieciągłości oświetlenia.
Aby realistycznie przedstawić oświetlenie sceny musimy określić granice obszarów, w których oświetlenie zmienia się w sposób jednostajny (siatkę nieciągłości), na tej podstawie określić oświetlenie w konkretnych punktach sceny (siatka nieciągłości pomaga w określeniu rzeczywistego rozmiaru źródła światła oświetlającego dany punkt).
20
W celu określenia siatki nieciągłości musimy zbadać następujące układy
EV – krawędź i wierzchołek przeszkody, EEE – trzy krawędzie przeszkód. W pierwszym przypadku badamy płaszczyzny, w drugim zaś powierzchnie stopnia drugiego. Oczywiście nie trzeba badać wszystkich układów. Tworząc wcześniej podział przestrzeni z pomocą np. drzewa BSP i stosując algorytm podobny do algorytmu malarza jesteśmy w stanie przyspieszyć ten proces.
21
Gdy określimy siatkę nieciągłości, znacznie łatwiej możemy obliczyć wartość oświetlenia w danym punkcie p, gdyż granice widzialności źródła światła z punktu p wyznaczają krawędzie, których obrazy tworzą brzeg ściany siatki zawierającej punkt p. Należy z punktu p poprowadzić płaszczyzny zawierające odpowiednie krawędzie, aby określić obszary źródeł światła, które oświetlają punkt p i na tej podstawie obliczyć wartość oświetlenia w tym punkcie. Co więcej, możemy wykorzystać informacje, otrzymane w trakcie tworzenia siatki nieciągłości, w postaci zależności wzajemnego zacieniania elementów sceny. Możemy je zapamiętać w postaci grafu, po którym będziemy się przemieszczać w fazie obliczania wartości oświetlenia.
22
Algorytm obliczania wartości oświetlenia
Algorytm obliczania wartości oświetlenia. zacznij od całkowicie oświetlonych elementów sceny; poruszając się po grafie opisującym zależności wzajemnego zacieniania przechodź do obiektów coraz bardziej odległych od źródeł światła; dla odpowiednich ścian siatki nieciągłości oblicz wartości oświetlenia i zsumuj je po wszystkich ścianach zawierających odpowiedni punkt; Złożoność pesymistyczna całego algorytmu wynosi O(n4), ale w praktyce jest znacznie niższa.
23
Dziękuję za uwagę.
24
Ćwiczenia. Jaki jest rzut prostych (t,0,0), (t,t,0), (t,t,t) na ekran z = 0 względem prostych (z = 1)(x = 0) oraz (z = 2)(y = 0). Co mogłyby być skośnym rzutem prostej, gdyby ekran nie był równoległy do osi ? Podaj przykład położenia odcinka, którego rzut nie musi być spójny. Podaj przykład spójnego rzutu skośnego wielokąta wypukłego, którego wnętrze nie jest spójne.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.