WYKŁAD 9 TRANSFORMAJE W 3-D, 3 USUWANIE ELEMENTÓW NIEWIDOZNYH Pln wkł: Trnsforje eleentrne w 3-D 3 Skłnie trnsforji Wnnie powierhni wionh Algort sortowni śin Algort -bfor. Trnsforje eleentrne w 3-D3 Prwoskrętn kł współręnh: oś oś oś Jeśli ptr otniego kiernk osi w stronę śrok kł współręnh, to obrót o 9 w kiernk preiwn o rh wskówek egr, prekstłi jeną otnią oś w rgą. Trnsforje eleentrne: presnięie, in skli, obrot wokół posególnh osi kł. Współręne jenorone ( ) ( ) ( ) ( ) [ ] [ ] 3 4 3 4 3 3 33 43 4 4 34 44 Presnięie: Sklownie: Obrot wokół osi: [ ] [ ] [ ] [ ] t s Jeśli ptr otniego kiernk osi w stronę śrok kł współręnh, obrót o kąt otni wż się obrót w kiernk preiwn o rh wskówek egr. t s t s
Obrót wokół osi : [ ] [ ] Obrót wokół osi : [ ] [ ] Obrót wokół osi : [ ] [ ] osθ sinθ osθ sinθ osθ sinθ sinθ osθ sinθ osθ sinθ osθ. Skłnie trnsforji Obrót pnkt (obiekt) wokół owolnie nej osi : Sforłownie ni: Dne: opis osi obrot (,, ), (,, ), opis obiekt (np. sitk wieloboków), kąt obrot Θ oś obrot Nleż wnć ier trnsforji relijąej obrót obiekt o kąt Θ. Θ (,, ) (,, ) obiekt Repreentj osi obrot: oś obrot Θ (,, ) (,, ) Oś obrot repreentown bęie pre wektor [ b ] obiekt epion w pnkie (,, ), pr b v v v v ( ) + ( ) + ( ) Kroki proer obrot obiekt wokół osi:. Presnięie osi i obiekt, tk b oś obrot prehoił pre śroek kł współręnh.. Obróenie osi i obiekt, tk b oś obrot stł się współliniow jeną osi kł współręnh (np. osią ). - położenie osi n płsźnie (-), - obrót wokół osi 3. Obrót obiekt wokół osi o kąt Θ. 4. Trnsforj owrotn o wkonnej w krok. 5. Trnsforj owrotn o wkonnej w krok.
Krok Presnięie osi i obiekt, tk b oś prehoił pre śroek kł współręnh. Wkonne presnieie opisje ier T (,, ) Θ Krok Obróenie osi i obiekt, tk b oś stł się współliniow osią. Położenie osi obrot n płsźnie (-). b α [ b ] [ b ] [ ] Położenie osi obrot n płsźnie (-) jest równowżne obrotowi wektor o kąt α. Jk wnć α, lb jese lepiej sinα i osα? Ilon sklrn + b + osα b + os α Ilon wektorow os α et b b sinα sinα b α b sin α Położenie osi obrot n płsźnie (-) ożn wkonć pre obrót wokół osi o kąt α. Obrót ten opisje ier. R ( α ) Położenie osi obrot n osi. β b b [ ] [ ] [ ] 3
Ilon sklrn + + os β + Ilon wektorow et os β ( ) sin β sin β β sin β Położenie osi obrot n osi ożn preprowić pre obrót wokół osi o kąt β. Obrót ten opisje ier. R ( β ) Krok 3 Obróenie obiekt wokół osi o kąt Θ. Obrót ten opisje ier. R ( Θ ) os Θ sinθ sinθ osθ Krok 4 Trnsforj owrotn o wkonnej w krok Mier trnsforji: R ( β ) R ( α ) Krok 5 Trnsforj owrotn o wkonnej w krok Mier trnsforji: T (,, ) Osttenie, ier reliją trnsforję obrot obiekt wokół nej osi o kąt Θ prjje postć R ( Θ ) T (,, ) R ( α ) R ( β ) R ( Θ ) R ( β ) R ( α ) T (,, ) Jk wić, jest to ilon siei ier. 3. Wnnie powierhni wionh Jk pokć n rtni tlko te eleent sen, które są wione l obserwtor? Prkł: Wniosek: Rs. Rs. Rt pokją wsstkie krwęie śin obiekt (tk jk n pierws rsnk), oże bć niejenonn. Rs.3 4
Algort wnni śin wionh: Złożeni:. Sen trójwirow jest opisn jko biór śin S { s,s,...,s,..., } i s n. Śin są płskii wieloboki. 3. Kżej e śin prpisn jest lib określją jej stopień srośi lb kolor si v i 4. Wświetlnie rtów śin (wełg stlonego sposob projekji) obw się w ssteie rstrow. Roje lgortów wnni śin wionh: lgort nlijąe senę lgort nlijąe obr Algort nlijąe senę:. Porąkje się biór śin, tk b skć pnkt wieni obserwtor, seregownie o njlsej o njbliżsej śin.. Dokonje się projekji śin wełg stlonego weśniej porąk. Kżą e śin nleż porównć poostłi. Lib porównń jest proporjonln o n. Algort nlijąe obr:. Dl kżego piksel ekrn wn się njbliżej leżąą śinę.. Z stopień srośi lb kolor nliownego piksel prjje się stopień srośi lb kolor wnonej śin. Dl kżego piksel nleż porównć n śin. Lib porównń jest proporjonln o n N, pr N jest libą pikseli ekrn. 4. Algort sortowni śin Algort sortowni wglęe głębokośi (Depth-sorting) Ogóln shet lgort: Krok. Wstępne porąkownie bior śin. Krok. Porównwnie wstępnie porąkownh śin pri i poprw porąkowni. Krok 3. Projekj śin n ekrn wełg porąk sknego w krok. Krok. Wstępne porąkownie bior śin Dl kżej e śin nleżąej o bior { s,s,..., s,..., } S i s n wn się kslną wrtość współręnej wierhołk. s s Śin e bior S porąkje się wełg prenio wnonej wrtośi o wrtośi njwięksej, o njniejsej. Prkł: v s p s s Wstępne porąkownie ło włśiw reltt. s v s s v s Wstępne porąkownie nie ło włśiwego reltt. s v 5
Krok. Porównnie wstępnie porąkownh śin pri i poprw porąkowni Posególne pr śin iąg, wstępnie porąkowne w krok, poje się pięi testo. v s s Jeśli kolejn test je wnik potwn, koń się testownie i poostwi się eleent pr n poprenih iejsh. Test są porąkowne wełg rosnąej skli trnośi. Test. Porównwnie współręnh in in Potwn wnik test Test. Porównwnie współręnh v Jeżeli l pr śin s i s preił [, ] i [, ] in są rołąne, to wnik test jest potwn. in Jeżeli l pr śin s i s preił [, ] i [, ] in in są rołąne, to wnik test jest potwn. Test 3. Bnie położeni śin s wglęe płsn, n której leż śin s Test 4. Bnie położeni śin s wglęe płsn, n której leż śin s Jeżeli ( ptrą włż kiernk obserwji ) śin s leż łkowiie po płsną wnoną pre śinę s, to wnik test jest potwn v s s Kiernek obserwji Jeżeli ( ptrą włż kiernk obserwji ) śin s leż łkowiie pre płsną wnoną pre śinę s, to wnik test jest potwn v s s Kiernek obserwji v v Inej ówią, wnik test jest potwn jeśli l wsstkih wierhołków,, śin s spełnion jest nierówność Inej ówią, wnik test jest potwn jeśli l wsstkih wierhołków,, śin s spełnion jest nierówność A + B + + D > A + B + + D < gie A, B,, D są współnniki równni płsn, n której leż śin s. gie A, B,, D są współnniki równni płsn, n której leż śin s. 6
s s Test 5. Porównnie rtów śin s i s n płsnę (-) Jeżeli rt śin s i s n płsnę (-) są biori rołąni, to wnik test jest potwn. v s s Jeśli żen pięi testów nie ł wnik potwnego, prestwi się eleent bnej pr śin i powtr testownie. G kolejne pięć testów nie prniosło wnik potwnego, porąkownie pr śin nie jest ożliwe. Prkł: v v Prktnie, wkonnie test poleg n sprweni posególne pr oinków rtów śin preinją się. Preprow się go rowiąją opowienie pr kłów równń liniowh i bją ih rowiąni. Jk postąpić w tki prpk? v Możn poielić (preiąć) jeną e śin. Sposób preięi nie jest jenk obojętn. 5. Algort -bfor (Depth - bffer) Ogóln shet lgort: s s s v v (, ) rtni v prost rtowni Piksel (,) ostnie wświetlon w kolore (stopni srośi) tej śin, l której współręn pnkt preięi śin prostą rtowni jest njniejs. Opis lgort: Dostępne są wie pięi: pięć obr ( refresh bffer ) pięć głębokośi ( epth bffer ) Obie pięi ją tle słów, ile jest pikseli obr. Krok. Inijlij pięi obr i głębokośi Dl kżego piksel obr o współręnh (, ) postwić refresh (, ) epth (, ) v t refresh(, ) - wrtość pięi obr l piksel (,), epth(, ) - wrtość pięi głębokośi l piksel (,), v t - kolor tł, - ksln wrtość współręnej. 7
Krok. Porównnie głębokośi (l kżego piksel ekrn) Dl piksel o współręnh (, ), wlić wrtość (, ), l śin s (, ) < epth (, ) Jeżeli to postwić: refresh (, ) v epth (, ) Krok powtrć l kolejnh śin s, s 3, ż o werpni list śin. Postwow problee oblieniow lgort - bfor jest oblinie (,). Algort oblini (,) l śin. Wbrć tr pnkt niewspółliniowe śin (np. tr wierhołki). Oblić współnniki A,B,,D, równni płsn, n której leż śin. Oblić wrtość e wor A B D Oblinie wrtośi ożn prośić, bowie strktr ekrn w rstrow ssteie wświetlni jest skretn v Oblinie (w kolnie). - Oblinie (w linii). + v stą A B( ) D A B D + + B B stą A( + ) B D A B D A A 8