Synteza i obróbka obrazu Modelowanie obiektów 3D Modelowanie Modelowanie opisanie kształtu obiektu. Najczęściej stosuje się reprezentację powierzchniową opis powierzchni obiektu. Najczęstsza reprezentacja powierzchniowa to siatka wielokątowa(polygonal mesh). Metody modelowania: projektowanie komputerowe skanowanie przedmiotów mod. proceduralne mod. fizyczne
Modelowanie komputerowe Tworzenie modelu za pomocą oprogramowania Modelowanie komputerowe Przy tworzeniu modelu 3D przy pomocy programu komputerowego korzysta się z: konstrukcji modelu bezpośrednio w programie, danych uzyskanych ze skanowania obiektów 3D, zdjęć cyfrowych, szkiców wykonanych w innych programach, zeskanowanych szkiców ołówkowych
Skanery 3D Skanery 3D próbkują powierzchnię obiektów. Wymagane jest wielokrotne skanowanie z różnych kierunków (często kilkaset skanów). Skanery mają różną zasadę działania, np.: pomiar czasu przebiegu odbitej wiązki lasera; rzucanie wiązki lasera na obiekt i pomiar położenia punktu za pomocą kamery; rzucanie wzoru za pomocą lasera na obiekt i pomiar zniekształceń wzoru. Skanowanie 3D W wyniku skanowania 3D obiektu uzyskuje się chmurę punktów. Aby uzyskać reprezentację powierzchni obiektu przeprowadza się proces rekonstrukcji. Na podstawie uzyskanych punktów oblicza się kształt powierzchni obiektu. Następnie przeprowadza się dalsze przekształcanie, np. w celu uzyskania siatki wielokątowej.
Modelowanie wielokątowe Modelowanie wielokątowe(polygonal modeling) -aproksymacja powierzchni obiektu za pomocą siatki tworzącej wielokąty. Najczęściej siatka składa się z trójkątów (łatwość przekształceń). Siatka (mesh) zawiera: wierzchołki - werteksy (vertex / vertices) krawędzie (edge) wielokąty (polygon, face) Teselacja Kształt obiektu jest opisany przez zbiór punktów. Teselacja(tesselation) polega na utworzeniu siatki wielokątowejpoprzez łączenie punktów tak, aby utworzone zostały wielokąty. Zwykle tworzy się trójkąty, a proces nazywa się triangularyzacją. Powstaje w ten sposób szkielet obiektu (wireframe).
Teselacja Prosty przykład: sześcian jest opisany za pomocą współrzędnych jego ośmiu wierzchołków po triangularyzacjipowstaje siatka złożona z 12 trójkątów Teselacja Chmura punktów przed teselacją Szkielet po teselacji
Reprezentacje siatki Istnieją różne metody opisu siatki wielokątowej: wierzchołki i krawędzie lista wierzchołków (indeks, współrzędne) lista krawędzi (indeksy wierzchołków) wierzchołki, krawędzie i wielokąty lista wierzchołków (indeks_w, współrzędne) lista krawędzi (indeks_k, ind. wierzchołków) lista wielokątów (indeksy krawędzi) reprezentacja winged-edge Reprezentacje siatki (c.d.) Reprezentacja winged-edge tablica krawędzi: nazwa krawędzi (a) indeksy wierzchołków (X, Y) indeksy wielokątów (1, 2) indeksy poprzedniej i następnej krawędzi lewego wielokąta (b, d) jw., ale prawego wielokąta (e, c) Ponadto tablice: wierzchołków i wielokątów
Operacje na siatkach wielokątowych Siatka wielokątowamoże być poddawana dalszym przekształceniom: elementarne przekształcenia upraszczanie siatki (łączenie wielokątów) remeshing opracowanie nowej siatki, spełniającej wymagania co do jakości edycja (modyfikacja siatki) odkształcanie siatki (np. symulacja uszkodzeń lub plastycznych obiektów) morphing-przenikanie między dwoma siatkami NURBS NURBS - Non Uniform Rational Basis Spline Reprezentacja powierzchni obiektu za pomocą krzywych i powierzchni parametrycznych, opisywanych za pomocą równań matematycznych. Stosowane głównie w projektowaniu komputerowym (CAD). Metoda opracowana w latach 50. XX wieku w laboratoriach firmy Renault, do celów projektowania nadwozi samochodów.
Parametryczne krzywe 3. stopnia Opis segmentu krzywej za pomocą wielomianów trzeciego stopnia: x(t) = a x t 3 + b x t 2 + c x t+ d x y(t) = a y t 3 + b y t 2 + c y t+ d y z(t) = a z t 3 + b z t 2 + c z t+ d z Założenie: 0 t 1 Opis macierzowy: Q(t) = C T = 1 ) ( ) ( ) ( 2 3 t t t d c b a d c b a d c b a t z t y t x z z z z y y y y x x x x Ciągłość odcinków krzywej Aby odcinki krzywej tworzyły krzywą ciągłą, muszą być spełnione warunki ciągłości. Różne stopnie ciągłości: C0: odcinki łączą się ze sobą C1: C0 + wektory styczne w punkcie połączenia mają jednakowe kierunki C2: C1 + wektory styczne w punkcie połączenia mają także jednakowe długości
Ograniczenia reprezentacji krzywych Wielomiany trzeciego stopnia: każdy wielomian ma cztery współczynniki potrzebne są cztery ograniczenia uzyskujemy układ 4 równań z 4 niewiadomymi pozostaje rozwiązanie tego układu Dostępne ograniczenia: 2 punkty końcowe 2 wektory styczne punkty pośrednie (kontrolne) ciągłość między segmentami krzywej Sposób obliczania krzywych Uogólniony zapis macierzowy: x t) y( t) = z( t) Q(t) = G M T m m m m 3 t t t 1 11 12 13 14 ( 2 21 m22 m23 m24 [ G1 G2 G3 G4 ] 31 m32 m33 m34 41 m m 42 m m 43 m m 44 Sposób obliczania: G- macierz geometrii ograniczenia T-parametr M macierz bazowa należy wyznaczyć
Krzywe Béziera Ograniczenia: punkty końcowe P 1, P 4 punkty kontrolne P 2, P 3 leżące poza krzywą G = [P 1, P 2, P 3, P 4 ] Warunek ciągłości: punkty P 3,P 4,P 5 współliniowe Krzywe B-sklejane Krzywe B-sklejane (ang. B-spline) stanowią uogólnienie krzywych Beziera. Pozwalają uzyskać bardziej gładki kształt krzywej. Aproksymacja m+1 punktów kontrolnych (m 3) za pomocą m 2 segmentów krzywych 3. stopnia. Każdy segment opisywany jest przez: punkt węzłowy 4 punkty kontrolne G i =[P i-3, P i-2, P i-1, P i ]
Parametryczne powierzchnie bikubiczne Uogólnienie parametrycznych krzywych trzeciego stopnia: Q(s,t) = [G 1 (s) G 2 (s) G 3 (s) G 4 (s)] M T Dwie zmienne parametryczne: s, t G i (s) są krzywymi trzeciego stopnia. Dla ustalonej wartości s uzyskujemy krzywą. Krzywe uzyskane dla wszystkich s 0,1 tworzą parametryczną powierzchnię bikubiczną. Parametryczne powierzchnie bikubiczne Metoda NURBS opiera się na opisie powierzchni za pomocą parametrycznych krzywych NURBS, będących uogólnieniem krzywych B-spline. Opis krzywych NURBS za pomocą: rzędu krzywej, zbioru ważonych punktów kontrolnych, wektora węzłowego
Siatki wielokątowe a NURBS Siatki wielokątowe: szybszyrendering mała dokładność opisu powierzchni (potrzeba wiele trójkątów) konieczność przeglądania kolejnych trójkątów stosowane np. w grach komputerowych NURBS: znacznie bardziej skomplikowane obliczenia matematyczne dłuższy czas renderingu dokładniejszy opis powierzchni stosowane w CAD i w ray-tracingu Inne metody modelowania 3D Oprócz modelowania obiektów 3D za pomocą siatki wielokątowej i NURBS stosuje się również inne metody, np.: łączenie prymitywów CSG (Constructive Solid Geometry) podział powierzchni (subdivision surface)
Prymitywy graficzne Przy konstrukcji modelu 3D stosuje się często łączenie prymitywów(primitives) elementarnych składowych obrazu. Prymitywy 2D(figury płaskie): odcinek, prostokąt, elipsa, trójkąt, łuk, krzywe Beziera i spline, itp. Prymitywy 3D(bryły): kula, prostopadłościan, stożek, walec, torus, itp. Np. prymitywy w DirectX: 2D linie, trójkąty oraz ciągi linii/trójkątów 3D prostopadłościan, kula, walec/stożek Bryły przesuwane i obrotowe Modelowanie prostych, symetrycznych brył: bryły przesuwane( wyciągane ) przesuwanie płaskiego obiektu wzdłuż trajektorii w przestrzeni bryły obrotowe(lathe) obracanie płaskiego wzorca wokół osi Np. z prostokąta można uzyskać: bryłę przesuwaną prostopadłościan bryłę obrotową walec
Bryły przesuwane i obrotowe Przykłady brył modelowanych metodą zakreślania przestrzeni (przesuwania lub obrotu) Bryła przesuwana Bryły obrotowe Konstruktywna geometria brył (CSG) Ang. CSG Constructive Solid Geometry Reprezentacja obiektu jako drzewa działań logicznych (suma, różnica, iloczyn) wykonywanych na prymitywach.
Metoda podziału powierzchni Podział powierzchni (subdivision surface) Rozpoczyna się od zgrubnej (coarse) siatki wielokątowej(np. prymitywu). W kolejnych krokach tworzy się nową siatkę, złożoną z większej liczby wielokątów, przy użyciu jednej z metod: aproksymacji, interpolacji. Podział kończy się gdy uzyskany zostanie pożądany kształt. Metoda podziału powierzchni Przykłady podziału powierzchni www.subdivision.org
Model 3D Pełny model trójwymiarowy zawiera informację o: kształcie obiektu zbiór werteksów wyglądzie obiektu kolor, tekstury, położeniu i rodzaju źródeł światła, położeniu obserwatora (kamery). Przy tworzeniu obrazów dynamicznych (animacji) ww. elementy składowe modelu są poddawane przekształceniom.