GKIW Moduł 10 - Dążenie do realizmu: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Zastępowanie tekstu – „\</math>” na „\ </math>” |
|||
(Nie pokazano 5 wersji utworzonych przez 2 użytkowników) | |||
Linia 114: | Linia 114: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|width="500px" valign="top"|[[Grafika:GKIW_M10_Slajd12n.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:GKIW_M10_Slajd12n.png|thumb|500px]] | ||
|valign="top"|Niech <math>S(u,v)=[x_S(u,v), y_S(u,v), z_S(u,v)]</math> opisuje parametrycznie powierzchnię, która będzie odkształcona. | |valign="top"|Niech <math>S(u,v)=[x_S(u,v), y_S(u,v), z_S(u,v)]</math> opisuje parametrycznie powierzchnię, która będzie odkształcona. Niech <math>B(u,v)</math> opisuje zaburzenie (teksturę). Wektor normalny <math>\vec{N}\ </math>, do powierzchni <math>S(u,v)\ </math>, można wyznaczyć jako: | ||
:<math> | :<math>\vec{N}=\frac{\partial S(u,v)}{\partial u}\times\frac{\partial S(u,v)}{\partial v}</math> | ||
Jeśli nałożymy teksturę na powierzchnię to powstanie powierzchnia zniekształcona | Jeśli nałożymy teksturę na powierzchnię to powstanie powierzchnia zniekształcona | ||
Linia 124: | Linia 124: | ||
Wektor normalny do tak otrzymanej powierzchni można wyznaczyć analogicznie. Przy czym różniczkując równanie zniekształconej powierzchni otrzymuje się: | Wektor normalny do tak otrzymanej powierzchni można wyznaczyć analogicznie. Przy czym różniczkując równanie zniekształconej powierzchni otrzymuje się: | ||
:<math> | :<math>\frac{\partial S'(u,v)}{\partial u}=\frac{\partial S(u,v)}{\partial u}+\frac{\partial B(u,v)}{\partial u}\cdot \vec{N}+B(u,v)\cdot \frac{\partial \vec{N}}{\partial u}</math> | ||
:<math> | :<math>\frac{\partial S'(u,v)}{\partial v}=\frac{\partial S(u,v)}{\partial v}+\frac{\partial B(u,v)}{\partial v}\cdot \vec{N}+B(u,v)\cdot \frac{\partial \vec{N}}{\partial v}</math> | ||
Blinn założył, że zaburzenie jest na tyle małe, że ostatnie wyrazy w tych równaniach można pominąć. Wtedy aproksymowany wektor normalny do zniekształconej powierzchni można opisać jako | Blinn założył, że zaburzenie jest na tyle małe, że ostatnie wyrazy w tych równaniach można pominąć. Wtedy aproksymowany wektor normalny do zniekształconej powierzchni można opisać jako | ||
:<math> | :<math>\vec{N}'\approx \left(\frac{\partial S(u,v)}{\partial u}+\frac{\partial B(u,v)}{\partial u}\cdot \vec{N}\ \right)\times \left(\frac{\partial S(u,v)}{\partial v}+\frac{\partial B(u,v)}{\partial v}\cdot \vec{N}\ \right)</math> | ||
to oznacza, że | to oznacza, że | ||
Linia 136: | Linia 136: | ||
:<math>\vec{N}'=\vec{N}+\vec{D}</math> | :<math>\vec{N}'=\vec{N}+\vec{D}</math> | ||
Przy czym <math>\vec{D}\ | Przy czym <math>\vec{D}\ </math>, jest wektorem zaburzenia: | ||
:<math> | :<math>\vec{D}=\frac{\partial B(u,v)}{\partial u}\cdot \vec{S}-\frac{\partial B(u,v)}{\partial v}\cdot \vec{T}</math> | ||
gdzie <math>\vec{S}\ | gdzie <math>\vec{S}\ </math>, i <math>\vec{T}\ </math>, są wektorami stycznymi do powierzchni <math>S(u,v)\ </math>,. | ||
Takie rozwiązanie daje bardzo prostą możliwość definicji wektora normalnego odkształconej powierzchni za pomocą wektorów zaburzenia. Wadą zaproponowanej przez Blinna metody jest aproksymacja wektora normalnego. Stąd powstało wiele różnych realizacji tej metody, wykorzystujących różne warianty uproszczenia. Znane są również próby aplikacji sprzętowych mapowania nierówności Blinna. | Takie rozwiązanie daje bardzo prostą możliwość definicji wektora normalnego odkształconej powierzchni za pomocą wektorów zaburzenia. Wadą zaproponowanej przez Blinna metody jest aproksymacja wektora normalnego. Stąd powstało wiele różnych realizacji tej metody, wykorzystujących różne warianty uproszczenia. Znane są również próby aplikacji sprzętowych mapowania nierówności Blinna. | ||
Linia 158: | Linia 158: | ||
Techniką dającą dobre efekty w takiej sytuacji jest mapowanie przesunięć. | Techniką dającą dobre efekty w takiej sytuacji jest mapowanie przesunięć. | ||
Niech <math>S(u,v)=[x_S(u,v), y_S(u,v), z_S(u,v)]</math> opisuje parametrycznie powierzchnię, <math>P\ | Niech <math>S(u,v)=[x_S(u,v), y_S(u,v), z_S(u,v)]</math> opisuje parametrycznie powierzchnię, <math>P\ </math>, będzie punktem na tej powierzchni, a <math>\vec{N}\ </math>, będzie wektorem normalnym do powierzchni <math>S(u,v)\ </math>,. Niech funkcja <math>f(P)\ </math>, opisuje przesunięcie punktu powierzchni <math>S(u,v)\ </math>,. | ||
Wtedy dla każdego punktu <math>P\ | Wtedy dla każdego punktu <math>P\ </math>, | ||
:<math>P'=P+f(P)\cdot \vec{N}</math> | :<math>P'=P+f(P)\cdot \vec{N}</math> | ||
Linia 230: | Linia 230: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|width="500px" valign="top"|[[Grafika: | |width="500px" valign="top"|[[Grafika:GKIW_M10v5_plus_05.png|thumb|500px]] | ||
|valign="top"|Deformowanie obrazów (warping) w celu uzyskania określonego kształtu (poprzez zmianę barw rysunku) wymaga precyzyjnej definicji co i w jaki sposób ma zostać odkształcone. Najczęściej jest to określane za pomocą siatki punktów kontrolnych (czworokątnej lub trójkątnej). Wykorzystywane są przekształcenia afiniczne (translacje, obroty, skalowanie) lub dowolne. Przekształcenie może dotyczyć samej geometrii obiektu lub też jego atrybutów (barwa, tekstura, właściwości odbijające itd.). | |valign="top"|Deformowanie obrazów (warping) w celu uzyskania określonego kształtu (poprzez zmianę barw rysunku) wymaga precyzyjnej definicji co i w jaki sposób ma zostać odkształcone. Najczęściej jest to określane za pomocą siatki punktów kontrolnych (czworokątnej lub trójkątnej). Wykorzystywane są przekształcenia afiniczne (translacje, obroty, skalowanie) lub dowolne. Przekształcenie może dotyczyć samej geometrii obiektu lub też jego atrybutów (barwa, tekstura, właściwości odbijające itd.). | ||
Linia 393: | Linia 393: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|width="500px" valign="top"|[[Grafika:GKIW_M10v4_plus_15.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:GKIW_M10v4_plus_15.png|thumb|500px]] | ||
|valign="top"|Rozpatrzmy dwie kamery | |valign="top"|Rozpatrzmy dwie kamery <math>K_1</math> i <math>K_2</math> śledzące poruszający się punkt <math>P</math> zgodnie z rysunkiem. Jeśli znane jest położenie kamer oraz ich ustawienie, to można określić rzuty <math>P'</math> i <math>P''</math> . Rzuty te definiują proste, których przecięciem jest szukany punkt <math>P</math>. Stąd jego współrzędne można wyznaczyć korzystając z prezentowanych równań. W praktyce, na skutek zakłóceń i błędów pomiarów może się okazać, że proste zdefiniowane przez rzuty <math>P'</math> i <math>P''</math> wcale się nie przecinają. W takiej sytuacji należy wyznaczyć punkt <math>P</math> będący punktem najbliższym obu prostych. | ||
Do określenia położenia punktu wystarczą dwie kamery. Jednak aktor poruszając się może zasłaniać markery umieszczone na ubraniu. Na scenie może być także wielu aktorów, którzy zasłaniają się wzajemnie. Z tego powodu stosuje się wiele kamer, aby bez względu na pozę aktora, każdy marker był zawsze „widziany” przynajmniej przez dwie kamery. | Do określenia położenia punktu wystarczą dwie kamery. Jednak aktor poruszając się może zasłaniać markery umieszczone na ubraniu. Na scenie może być także wielu aktorów, którzy zasłaniają się wzajemnie. Z tego powodu stosuje się wiele kamer, aby bez względu na pozę aktora, każdy marker był zawsze „widziany” przynajmniej przez dwie kamery. |
Aktualna wersja na dzień 12:03, 5 wrz 2023
Wykład
![]() |
![]() |
Literatura
![]() |
![]() |