WYKŁAD 10 GENERACJA REALISTYCZNYCH OBRAZÓW W SCEN 3-D, 3 METODA ŚLEDZENIA PROMIENI Plan wykładu: Sformułowana owana problemu Metoda próbkowana przestrzen Metoda śledzena promen - algorytm Oblczena w metodze śledzena promen Upraszczane oblczeń 1. Sformułowane owane problemu y v Obekt 2 źródło śwatła Obekt 1 z v (x, y, z ) pksel (x p, y p ) Punkt (x, y, z) z na prosta rzutowana Punkt na ścane obektu 1 jest ośwetlany o bezpośredno przez źródło śwatła a a także e przez śwatło o odbte od obektu 2. Jak oblczyć jasność lub kolor punktu (pksela) lub kolor punktu (pksela) (x p, y p ), cego rzutem punktu (x, y, z) z? będącego rzutem punktu x v 1
2. Metoda próbkowana przestrzen Założene: Źródło śwatła a reprezentowane jest przez pęk p k promen begnących w różnych r kerunkach (dyskretyzacja( źródła śwatła). a). Algorytm : 1. Analzuje sę poszczególne promene emtowane przez źródło śwatła a w kerunku od źródła śwatła a do rzutn. 2. Wylcza sę kolejne kerunk odbca analzowanego promena od ścan obektów, aża do wyznaczena kerunku ostatnego odbca promena. 3. Prosta wyznaczona przez ostatn kerunek odbca analzowanego promena przecna rzutnę,, bądźb ne. Przykład: y v Obekt 2 źródło śwatła promeń ne przecął rzutn Obekt 1 z v (x, y, z ) pksel (x p, y p ) promeń przecął rzutnę Wady metody: W marę dokładne próbkowane przestrzen wymaga analzy welu promen wychodzących cych ze źródła a (źróde( deł) śwatła. a. Prawdopodobne wększo kszość analzowanych promen ne przetne rzutn (będze badana nepotrzebne). x v 2
3. Metoda śledzena promen (ray( ray-tracng) Whtted T. An mproved llumnaton model for shaded dsplay,, Communcatons of the ACM, vol. 23, No 6, 1980. Założena: Na scene może e znajdować sę wele obektów wele źródeł śwatła. a. Możlwe jest oblczene punktu przecęca ca prostej (promena) powerzchn obektu. Opsany jest sposób b oddzaływana powerzchn obektów śwatła a (zadane sąs modele ośwetlena). o Idea metody Bada sę drogę fkcyjnego promena begnącego od obserwatora, przez pksel ekranu w głąg łąb b sceny, czyl odwrotne nż w rzeczywstośc. c. Śledzene (wylczane kolejnych kerunków promena ) prowadzone jest w oparcu o geometrę analzowanej sceny określony z góry g sposób b oddzaływana obektów śwatła. a. Kończy sę gdy: promeń ne trafa w żaden obekt na scene, wtedy analzowany pksel wypełnany jest założonym onym na wstępe kolorem tła, t następuje ostatne odbce promena, czyl take po którym ne trafa on już w żaden obekt analzowanej sceny, promeń rozprasza sę po osągn gnęcu obektu, którego powerzchna posada charakterystykę dyspersyjną (jest matowa), promeń trafa na obekt, w którym następuje całkowte odbce wewnętrzne. 3
Przykład: Na scene jest sześć obektów dwa źródła śwatła z p 3 w 3 promeń perwotny 1 - odbja załamuje amuje promeń, promene wtórne 2 - występuje całkowte odbce wewnętrzne, 3 - odbja promeń, 4 - rozprasza promeń, 5 - zasłana ana źródło śwatła, a, 4 w 4 2 w 2 6 1 w 1 5 6 - tłum promeń,, ale ne zasłana ana źródła pksel (x p, y p ) x p kerunek obserwacj Algorytm metody śledzena promen: Krok1 Przez każdy punkt (pksel) ekranu przeprowadza sę promeń perwotny wyznacza promene wtórne (śledzene). Następne dla analzowanego punktu ekranu buduje sę graf w postac drzewa. promeń perwotny w 1 z p 3 w 3 4 w 4 1 w 1 w 2 w 3 promene wtórne w 4 w ( x, y, z ) 2 6 w 2 5 (x p, y p ) x p 4
Krok 2 Dla każdego węzła w drzewa, na podstawe analzy promen testujących (łą( łączących cych bezpośredno źródło śwatła a węze zeł), wyznacza sę ośwetlene lokalne węzła o. z p 3 w 3,o 3 promeń perwotny promene wtórne 4 w 4,o 4 1 w 1,o 1 promene testujące 2 w 2,o 2 6 5 pksel (x p, y p ) x p Modyfkuje sę wyznaczony w kroku 1 graf, przypsując węzłom w oblczone ośwetlena o lokalne o promeń perwotny o 1 promene wtórne o 2 o 3 o 4 Krok 3 Sumuje sę ośwetlena lokalne przypsane węzłom grafu. Ośwetlene O węzła wyższego uzyskuje sę przez dodane do jego ośwetlena o lokalnego, ośwetlena węzłów nższych. 5
promeń perwotny o 1 promeń perwotny o 1 + o 2 + o 3 + o 4 o 2 o 3 o 2 o 3 + o 4 promene wtórne o 4 promene wtórne o 4 Graf dla kroku 2 Graf dla kroku 3 Punkt ekranu (pksel) wypełna sę odpowedno do ośwetlena najwyższego węzła a grafu. Wady metody śledzena promen: 1. Mogą powstać efekty alasngowe,, powodowane analzowanem neskończene wąskch promen: małe obekty mogą zostać pomnęte, ostre krawędze mogą być znekształcone. W celu unknęca wymenonych efektów stosuje sę rozproszone śledzene promen, które polega na zastąpenu neskończene wąskego promena wązk zką promen. 2. ZłożonoZ oność oblczenowa metody jest znaczna. 3. Ne wszystke kerunk padane śwatła a na powerzchne obektów sąs rozpatrywane, co powoduje czasem błęb łędy w wyznaczanu ośwetlena. o 6
Przykład: Metoda prowadz w tym przypadku do błęb łędnego wyznaczena ośwetlena. o x v promeń perwotny obekt P S lustro Jeśl zastosować metodę śledzena promen, to punkt P będze ośwetlony o jedyne przez źródło śwatła S. W rzeczywstośc, c, punkt P ośwetlany jest przez źródło śwatła S śwatło o odbte od lustra. z v 4. Oblczena geometryczne w metodze śledzena promen W metodze, wększo kszość nakładu adu oblczenowego pochłana wyznaczane punktów przecęć promen z powerzchnam obektów. Wyznaczene punktu przecęca ca promena weloboku wypukłego: Znając c kerunek promena ops weloboku, należy wyznaczyć współrz rzędne punktu przecęca ca (x c, y c, z c ). y v pksel z v welobok (x c, y c, z c ) promeń x v 7
[ x y z] R = r r r 0 0 0 0 1. Równane R promena (parametryczne) gdze R = R( [ r0 x r0 y 0 z ] [ r r r ] 0 r R = d dx dy u ) = R0 + Rd ( u ) u > 0 dz - początek promena (punkt) - wektor jednostkowy, opsujący kerunek begu promena Współrz rzędne punktu leżą żącego na promenu można opsać węc c jako: x = r y = r z = r 0 x 0 y 0 z + r + r + r dx dy dz u u u u > 0 (1) u z = 1 2. Równane R płaszczyzny, p na której leży y welobok gdze P = n [ p p p ] x y p x + p y + p z + p 0 (2) x y z d = z p d - jednostkowy, wektor normalny do płaszczyznyp - odległość płaszczyzny od środka układu współrz rzędnych 3. Przecęce ce promena z płaszczyznp aszczyzną,, na której leży y welobok Jeśl podstawć równane (1) do (2) to px ( r0 x + rdxu ) + py( r0 y + rdyu ) + pz( r0 z + rdzu ) + pd = 0 Rozwązuj zując c równane r ze względu na u uzyskuje sę odległość punktu przecęca ca płaszczyzny, p od początku promena. 8
Rozwązane zane jest następuj pujące: lub w postac wektorowej ( pxrox + pyroy + pzroz + û = p r + p r + p r l P n R d = 0, to prome x dx n dy ( Pn R0 + p û = P R Jeśl, to promeń jest równolegr wnoległy y do płaszczyzny p ne przecna jej. Dla wyznaczonego u współrz rzędne punktu przecęca ca promena płaszczyzny p wyrażaj ają sę węc c jako x y z c c c = r = r = r 0 x 0 y 0z y + r + r d + r dx dy dz û û û d z ) dz p d ) 4. Sprawdzene czy oblczony punkt przecęca ca promena płaszczyzny p leży y wewnątrz weloboku Welobok wypukły y opsany jest jako zbór r kolejnych werzchołków. w. P = { p } = {[ x y z ]} = 0,1,...,n 1 Wadomo, że e trzy newspółlnowe werzchołk weloboku określaj lają płaszczyznę,, na której leży y welobok. Przy pomocy metody opsanej w poprzednch krokach można znaleźć punkt przecęca ca promena z płaszczyznp aszczyzną,, na której leży welobok. Punkt ten może e leżeć zarówno wewnątrz, jak na zewnątrz weloboku. Aby stwerdzć,, czy promeń przecna welobok, należy sprawdzć,, czy wyznaczony punkt leży y wewnątrz weloboku. Metoda sprawdzena jest następuj pująca: 9
Należy zrzutować welobok oblczony punkt przecęca na jedną z płaszczyzn układu współrzędnych (wyznaczoną przez ose układu). Płaszczyznę, na którą wykonuje sę rzut wybera sę na podstawe kryterum: max( p Rzutowane polega na pomnęcu jednej współrzędnej. Korzystając z faktu, że prosta dzel płaszczyznę na dwe częśc, bada sę dla rzutu punktu przecęca rzutu kolejnej krawędz weloboku, po której strone rzutu krawędz leży rzut punktu przecęca. x, p y, p z ) rzut punktu przecęca - p 0 - + + p 3 + + - p 1 - p 2 rzut weloboku Jeżel el rzut punktu przecęca ca promena płaszczyzny p leży dla wszystkch prostych wyznaczonych przez pary kolejnych werzchołków w rzutów weloboku po tej samej strone,, to punkt leży y wewnątrz weloboku. Stosując c podobne rozumowane, można zbudować algorytmy oblczające ce punkt przecęca ca promena z kwadrykam. 5. Upraszczane oblczeń w metodze śledzena promen Rozróżna sę trzy podstawowe rodzaje sposobów upraszczana oblczeń : redukcję kosztów śledzena pojedynczego promena, redukcję lczby przecęć na drodze promena, redukcję gęstośc próbkowana 10
Redukcja kosztów śledzena pojedynczego promena: Dla skomplkowanego obektu po wykonanu welu oblczeń może e okazać sę, że e promeń ne przecna obektu, czyl wykonane rachunk przeprowadzone zostały y nepotrzebne. Stosuje sę węc c różne r sposoby na zmnejszene szansy wykonywana nepotrzebnych oblczeń. Metoda brył otaczających cych Skomplkowane obekty otacza sę bryłam, które pownny: casno obejmować obekt, meć prosty ops matematyczny, Przykładam stosowanym w praktyce sąs kula, czy sześcan. Jeżel el stwerdz sę, że e promeń ne przecna bryły y otaczającej cej to jest oczywste, że e ne przecna też powerzchn obektu Redukcja lczby przecęć na drodze promena: Dąży y sę do wyelmnowana testów przecęca ca z tym obektam, w które promeń na pewno ne traf. Metoda struktur herarchcznych brył otaczających cych Obekty sceny otacza sę bryłam tworzącym strukturę herarchczną (w sense zawerana sę w sobe). Jeżel el promeń ne przecna bryły wyższej w ustalonej herarch, to ne przecna równer wneż żadnej z brył nższych. Metoda podzału u przestrzen Metoda wymaga wstępnego przetworzena danych o geometr sceny. Proces ten wymaga też oczywśce ce pewnego nakładu adu oblczenowego, jednak w sume jest to metoda bardzo wydajna. 11
Postępuje sę następuj pująco: 1. Określa sę mnmalny prostopadłoścan (domen( domenę), ), w którym zawerają sę wszystke obekty analzowanej sceny. 2. Dzel sę domenę na małe e elementy prostopadłoścenne (woksele)(voxel). 3. Dla każdego woksela domeny tworzy sę lstę obektów, które całkowce lub częś ęścowo w nm sę zawerają. 4. W procese śledzena promena, dentyfkuje sę woksele leżą żące na jego drodze analzuje jedyne obekty znajdujące sę na właścwych lstach. Redukcja gęstog stośc próbkowana: Analza wszystkch promen perwotnych ne zawsze jest koneczna. Metoda redukcj lczby promen perwotnych Promeń perwotny oblczena prowadz sę tylko dla nektórych pksel ekranu np. dla jednego pksela na cztery. Dla punktu ekranu przez, które ne prowadzono promen perwotnych rezultat wyznacza sę,, nterpolując c wynk oblczeń przeprowadzonych dla sąsednch s sednch punktów. Sposób b tak jest często stosowany przy próbnej generacj obrazów skomplkowanych scen. Jeśl okaże e sę że e wynk spełna określone wymagana, dokonuje sę generacj obrazu nną,, dokładnejsz adnejszą metodą. 12
Przykład: Aby otrzymać obraz sceny przy pomocy metody śledzena promen należy: stworzyć model sceny, wygenerować obraz używaju ywając c odpowednego oprogramowana (raytracer( ). Przykładem programu służąs żącego do uzyskwana obrazów metodą śledzena promen jest bezpłatne dostępny paket o nazwe POV-Ray Ray. Użyce go wymaga opsana sceny w specjalne zbudowanym dla potrzeb programu języku j a następne uruchomenu modułu, u, realzującego algorytm metody śledzena promen. Paket POV-Ray Ray zawera wele, różnego r rodzaju model obektów geometrycznych, model źródeł śwatła a tekstur. Umożlwa także e generację obrazu sceny metodą energetyczną (następny wykład). Ops przykładowej sceny #nclude"colors.nc" #nclude"textures.nc." background { colorgray} camera { locaton <0, 2, -8> look_at <0, 1, 2> } plane { <0, 1, 0>, -1 pgment {checker coloryellow, colorblue} } sphere { <0, 1, 2>, 2 texture{ Chrome_Metal} fnsh{ phong 0.9 phong_sze 60 metallc} } lght_source{ <2, 4, -3> colorwhte} Sekcja #nclude Szare tło Sposób patrzena na scenę Płaszczyzna pokryta szachowncą Metalowa kula Źródło śwatła 13
14