• Nie Znaleziono Wyników

Mapowanie tekstur

W dokumencie Index of /rozprawy2/10612 (Stron 50-53)

3.2 Model wirtualnego fantomu drzewa oskrzelowego

3.2.3 Modelowanie wygl ˛ adu powierzchni

3.2.3.2 Mapowanie tekstur

Teksturowanie, nazywane równie˙z nakładaniem tekstur, jest technik ˛a u˙zywan ˛a w grafice komputerowej, której głównym celem jest zwi˛ekszenie szczegółów generowanego obrazu. W uproszczeniu mo˙zna stwierdzi´c, ˙ze teksturowanie polega na „oklejaniu przestrzennego obiektu kolorow ˛a tapet ˛a”. Teksturowanie polega na mapowaniu współrz˛ednych tekstury na współrz˛edne obiektu, na który tekstura ma by´c „nało˙zona”. Tekstur ˛a mo˙ze by´c obraz bitma-powy w postaci mapy pikseli lub te˙z mo˙ze mie´c ona posta´c funkcji matematycznej. Wówczas tak ˛a tekstur˛e nazywa si˛e tekstur ˛a proceduraln ˛a.

Rysunek 3.13 ilustruje zasad˛e teksturowania — mapowania współrz˛ednych tekstury (ko-lorowej szachownicy) na współrz˛edne trójwymiarowego obiektu (czworo´scianu). Wybranym wierzchołkom opisuj ˛acym obiekt, poza trójwymiarowymi współrz˛ednymi w przestrzeni sceny (x,y,z), przypisane s ˛a dodatkowe, dwuwymiarowe współrz˛edne (u,v), wyznaczaj ˛ace punkty w przestrzeni tekstury. Dzi˛eki temu poprzez interpolacj˛e, mo˙zliwe jest wyznaczenie koloru poszczególnych pikseli obiektu z uwzgl˛ednieniem koloru tekstury. Przypisane wierzchołkom

Rysunek 3.13: Zasada działania teksturowania przez mapowanie UV

współrz˛edne tekstury, zazwyczaj w postaci pary współrz˛ednych (u, v) dla tekstur dwuwymiaro-wych lub (u, v, w ) dla tekstur trójwymiarodwuwymiaro-wych, mog ˛a by´c wyznaczane w ró˙zny sposób. Mo˙zna rozró˙zni´c dwie główne metody: współrz˛edne s ˛a przypisywane r˛eczenie, np. w trakcie modelo-wania przestrzennego obiektu autor modelu „przypina” tekstur˛e do bryły. Wi ˛a˙ze si˛e to zazwy-czaj z „rozwini˛eciem” (ang. unfold) powierzchni obiektu na płaszczyzn˛e, która słu˙zy do wyli-czenia współrz˛ednych tekstury. W tej metodzie zazwyczaj nie jest wykorzystywana cała prze-strze ´n tekstury — wyst˛epuj ˛a obszary, które nie s ˛a mapowane.

Rysunek 3.14 przedstawia przykładow ˛a tektur˛e, która powstała przez rozwini˛ecie siatki wir-tualnego drzewa oskrzelowego. Tekstura ta, zwana UV map ˛a, została wygenerowana w

progra-mie Blender dla siatki fantomu drzewa oskrzelowego.

Model powierzchni drzewa oskrzelowego, uwzgl˛edniaj ˛acy wiele szczegółów, musi by´c zbu-dowany z du˙zej liczby trójk ˛atów. To z kolei prowadzi do trudno´sci w automatycznym genero-waniu map UV. Jak mo˙zna zauwa˙zy´c na przytoczonym rysunku 3.14a, rozwini˛ecie powierzchni drzewa oskrzelowego stanowiło wyzwanie nawet dla dedykowanego oprogramowania, jakim jest program Blender, słu˙z ˛acy do tworzenia grafiki komputerowej. Ze wzgl˛edu na du˙z ˛a zło˙zo-no´s´c powierzchni, program podzielił siatk˛e na kilkadziesi ˛at fragmentów. Poł ˛aczenie ich jest jak najbardziej mo˙zliwe, jednak wymaga sporego do´swiadczenia. Powa˙znym ograniczeniem tej metody nakładania tekstur jest to, ˙ze wygenerowana w taki sposób mapa UV mo˙ze by´c u˙zyta jedynie z siatk ˛a, dla której powstała. Zmiana kształtu modelu drzewa oskrzelowego lub np. dys-kretyzacja modelu z mniejszym krokiem, wymaga wygenerowania nowej mapy UV i zwi ˛azanej z ni ˛a nowej tekstury.

(a) (b)

(c)

Rysunek 3.14: Przykład rozwini˛ecia siatki (a) wygenerowanej dla modelu drzewa oskrzelowego, (b) tekstura opracowana na jej podstawie oraz (c) obraz wirtualnego drzewa oskrzelowego z na-ło˙zon ˛a tekstur ˛a

Na rysunku 3.14b przedstawiono przykład tekstury, która symuluje tkanki wyst˛epuj ˛ace w tchawicy. Została ona przygotowana w programie graficznym Gimp poprzez poł ˛aczenie kilku warstw ró˙znych fotografii skóry i innych tkanek. Dodatkowo dorysowano drobne linie, które sy-muluj ˛a naczynia krwiono´sne. Do tak otrzymanej tekstury dodano szum, który symuluje mikro-skopowe ró˙znice kolorów, wyst˛epuj ˛ace w tkankach. Przykład u˙zycia tak opracowanej tekstury zaprezentowano na rysunku 3.14c.

Drug ˛a metod ˛a generowania współrz˛ednych mapowania jest wyznaczenie współrz˛ednych tekstur w sposób analityczny, np. poprzez rzutowanie prostego obiektu (np. płaszczyzny) na teksturowany, bardziej skomplikowany obiekt. Jako obiekty po´srednie stosuje si˛e takie, które maj ˛a prosty opis matematyczny, ułatwiaj ˛acy powi ˛azanie współrz˛ednych tekstur z parame-trycznym opisem obiektu po´sredniego. Do najcz˛e´sciej stosowanych zalicza si˛e: płaszczyzn˛e (tekstura opisana jest w prostok ˛atnym układzie współrz˛ednych), walec (tekstura opisana jest w cylindrycznym układzie współrz˛ednych) oraz sfer˛e (tekstura w sferycznym układzie współ-rz˛ednych). Mapowanie takie równie˙z nazywane jest mapowaniem parametrycznym. W zale˙z-no´sci od u˙zytego obiektu po´sredniego, spotyka si˛e równie˙z takie nazwy jak mapowanie sfe-ryczne lub mapowanie cylindsfe-ryczne.

Rysunek 3.15 przedstawia przykłady u˙zycia mapowania tekstury przez rzutowanie płasz-czyzny, walca oraz sfery na trzy bryły: sfer˛e, sze´scian oraz walec. Mo˙zna zauwa˙zy´c, ˙ze ka˙zde z zastosowanych mapowa ´n daje inny efekt.

Rysunek 3.15: Przykłady mapowania tekstury na trzy rodzaje przestrzennych figur (sfer˛e, sze-´scian oraz walec) metod ˛a rzutowania płaszczyzny (pierwsza kolumna) walca (druga kolumna) oraz sfery (trzecia kolumna) (Bourke, March 1987)

U˙zycie mapowania parametrycznego, b˛ed ˛acego wynikiem rzutowania prostej bryły po-´sredniej na bardziej skomplikowan ˛a, mo˙ze powodowa´c artefakty objawiaj ˛ace si˛e zniekształ-caniem lub rozci ˛aganiem tekstury. Wyst˛epuj ˛a one wówczas, gdy powierzchnie pomocnicza i obiektu s ˛a do siebie prostopadłe. Efekt taki mo˙zna zauwa˙zy´c na rysunku 3.15 na powierzchni bocznej walca przy mapowaniu płaszczyzn ˛a.

Na rysunku 3.16a przedstawiono przykład u˙zycia tekstury z rysunku 3.14b, ale z pomini˛e-ciem zapisanych współrz˛ednych UV, wykorzystuj ˛ac rzutowanie parametryczne w

cylindrycz-nym układzie współrz˛ednych. Na lewej ´scianie tchawicy mo˙zna zauwa˙zy´c rozci ˛agni˛ete frag-menty tekstury, które s ˛a artefaktami. Rysunek 3.16b przedstawia przykład u˙zycia tekstury pro-ceduralnej (szum Perlina), która generowana jest na bie˙z ˛aco na podstawie opisuj ˛acej j ˛a funk-cji matematycznej. Takie teksturowanie nie wymaga generowania współrz˛ednych mapowania, poniewa˙z zale˙z ˛a one zazwyczaj jedynie od współrz˛ednych w przestrzeni. Teksturowanie takie jest kosztowne obliczeniowo, a w przypadku zmiany geometrii obiektu (np. modelowanie ugi˛e-cia) mo˙ze prowadzi´c do przesuwania si˛e tekstury po obiekcie.

(a) (b)

Rysunek 3.16: Przykład u˙zycia: (a) mapowania parametrycznego oraz (b) tekstury procedural-nej (szum Perlina)

Pomimo wyst˛epuj ˛acych w mapowaniu parametrycznym (rysunek 3.16a) artefaktów mo˙ze ono by´c z powodzeniem stosowane w fantomie drzewa oskrzelowego. Mapowanie parame-tryczne umo˙zliwia w pełni automatyczne generowanie współrz˛ednych dla tekstur, niezale˙znie od stopnia skomplikowania topologii modelu oraz niezale˙znie od stopnia skomplikowania po-wierzchni. Takie podej´scie zostało zastosowane do przypisania tekstury w prostych modelach „tubowych”, stosowanych do testowania algorytmów estymacji poło˙zenia endoskopu.

W dokumencie Index of /rozprawy2/10612 (Stron 50-53)