Grafika komputerowa Dr inż. Michał Kruk.

Slides:



Advertisements
Podobne prezentacje
Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
Advertisements

Proces doboru próby. Badana populacja – (zbiorowość generalna, populacja generalna) ogół rzeczywistych jednostek, o których chcemy uzyskać informacje.
Plan Czym się zajmiemy: 1.Bilans przepływów międzygałęziowych 2.Model Leontiefa.
Jak majtek Kowalski wielokąty poznawał Opracowanie: Piotr Niemczyk kl. 1e Katarzyna Romanowska 1e Gimnazjum Nr 2 w Otwocku.
© Matematyczne modelowanie procesów biotechnologicznych - laboratorium, Studium Magisterskie Wydział Chemiczny Politechniki Wrocławskiej, Kierunek Biotechnologia,
Niepewności pomiarowe. Pomiary fizyczne. Pomiar fizyczny polega na porównywaniu wielkości mierzonej z przyjętym wzorcem, czyli jednostką. Rodzaje pomiarów.
Badania elastooptyczne Politechnika Rzeszowska Katedra Samolotów i Silników Lotniczych Ćwiczenia Laboratoryjne z Wytrzymałości Materiałów Temat ćwiczenia:
Zmienne losowe Zmienne losowe oznacza się dużymi literami alfabetu łacińskiego, na przykład X, Y, Z. Natomiast wartości jakie one przyjmują odpowiednio.
„MATEMATYKA JEST OK!”. Figury Autorzy Piotr Lubelski Jakub Królikowski Zespół kierowany pod nadzorem mgr Joanny Karaś-Piłat.
FIGURY.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH Prezentacja – 4 Matematyczne opracowywanie.
W KRAINIE TRAPEZÓW. W "Szkole Myślenia" stawiamy na umiejętność rozumowania, zadawania pytań badawczych, rozwiązywania problemów oraz wykorzystania wiedzy.
Matematyka przed egzaminem czyli samouczek dla gimnazjalisty Przygotowała Beata Czerniak FUNKCJE.
Optymalna wielkość produkcji przedsiębiorstwa działającego w doskonałej konkurencji (analiza krótkookresowa) Przypomnijmy założenia modelu doskonałej.
Cechy podobieństwa trójkątów Radosław Hołówko Konsultant: Agnieszka Pożyczka.
W KRAINIE CZWOROKĄTÓW.
Dorota Kwaśniewska OBRAZY OTRZYMYWA NE W SOCZEWKAC H.
Regresja. Termin regresja oznacza badanie wpływu jednej lub kilku zmiennych tzw. objaśniających na zmienną, której kształtowanie się najbardziej nas interesuje,
O PARADOKSIE BRAESSA Zbigniew Świtalski Paweł Skałecki Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski Zakopane 2016.
Test analizy wariancji dla wielu średnich – klasyfikacja pojedyncza
Minimalizacja automatu
Schematy blokowe.
DEFINICJA I ZASTOSOWANIE W JĘZYKU HASKELL
WYPROWADZENIE WZORU. PRZYKŁADY.
RUCH KULISTY I RUCH OGÓLNY BRYŁY
MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH
Prowadzący: dr Krzysztof Polko
Liczby pierwsze.
Opis ostrosłupa. Siatka ostrosłupa.
FIGURY.
Rekursje Tak jak w innych językach funkcje mogą odwoływać się same do siebie Możemy regulować głębokość przed stwierdzeniem błędu (MaxRecursion, $RecursionLimit,
ALGORYTMY I STRUKTURY DANYCH
MECHANIKA 2 Wykład Nr 3 KINEMATYKA Temat RUCH PŁASKI BRYŁY MATERIALNEJ
Podstawy automatyki I Wykład /2016
Projektowanie wspomagane komputerem
Funkcja – definicja i przykłady
Wstęp do Informatyki - Wykład 3
Elementy analizy matematycznej
KLASYFIKACJA CZWOROKĄTÓW
KOREKTOR RÓWNOLEGŁY DLA UKŁADÓW Z NIEMINIMALNOFAZOWYMI OBIEKTAMI Ryszard Gessing Instytut Automatyki, Politechnika Śląska Plan referatu Wprowadzenie.
Elementy fizyki kwantowej i budowy materii
KLASYFIKACJA i własności CZWOROKĄTÓW
Podstawy teorii zachowania konsumentów
Tensor naprężeń Cauchyego
Podstawy informatyki Zygfryd Głowacz.
Dokumentacja rysunkowa
Grafika i komunikacja człowieka z komputerem
Grafika komputerowa Rzutowanie.
ALGORYTMY I STRUKTURY DANYCH
MATEMATYKAAKYTAMETAM
Implementacja rekurencji w języku Haskell
REGRESJA WIELORAKA.
Wyrównanie sieci swobodnych
Wytrzymałość materiałów
Prawa ruchu ośrodków ciągłych c. d.
Program na dziś Wprowadzenie Logika prezentacji i artykułu
Elipsy błędów.
Zapis prezentacji:

Grafika komputerowa Dr inż. Michał Kruk

Reprezentacja powierzchni Modelowanie obiektów poprzez: Nieskończenie wiele punktów Opis matematyczny Najczęściej aproksymuje się obiekt przy użyciu fragmentów płaszczyzn, fragmentów kuli i innych łatwo opisywalnych matematycznie obiektów

Grafika komputerowa - Michał Kruk Modele obiektów 3D Modele opisujące powierzchnię: Siatka wieloboków Opis równaniem powierzchni Krzywe wielomianowe Wielomianowe płaty powierzchni Modele fraktalne Grafika komputerowa - Michał Kruk

Grafika komputerowa - Michał Kruk Modele obiektów 3D Modele opisujące bryły: Operacje boolowskie Reprezentacje z przesuwem Reprezentacje brzegowe Reprezentacja z podziałem przestrzennym Konstrukcyjna geometria bryłowa Grafika komputerowa - Michał Kruk

Grafika komputerowa - Michał Kruk Siatki wielokątowe Siatka wielokątowa jest zbiorem krawędzi, wierzchołków i wielokątów tak połączonych, że każda krawędź jest wspólna przynajmniej dla dwóch wielokątów Metody tworzenia: Grafika komputerowa - Michał Kruk

Reprezentacje siatek wielokątowych Grafika komputerowa - Michał Kruk

Reprezentacja bezpośrednia Grafika komputerowa - Michał Kruk

Reprezentacja przy pomocy wskaźników na listę wierzchołków Grafika komputerowa - Michał Kruk

Reprezentacja przy pomocy wskaźników na listę krawędzi Grafika komputerowa - Michał Kruk

Opis równaniem powierzchni Grafika komputerowa - Michał Kruk

Zalety i wady stosowania kwadryk Grafika komputerowa - Michał Kruk

Powierzchnie – reprezentacja Równanie parametryczne powierzchni jest postaci: S(u,v)=[x(u,v),y(u,v),z(u,v)], gdzie x,y,z są funkcjami ciągłymi, u,v jest pewną dziedziną D. D najczęściej ma kształt prostokąta, wtedy zachodzi: Czasami D jest nazywane płatem lub porcją powierzchni.

Równanie parametryczne - przykłady u=0:0.1:3.14; v=0:0.1:3.14; x=v'*cos(u); y=5*u; z=v'*sin(u); surf(x,y,z) u=0:0.1:2*pi; v=0:0.1:2*pi; x=v'*cos(u); y=5*u; z=v'*sin(u); surf(x,y,z)

Równanie parametryczne - przykłady u=0:0.1:1; v=0:0.1:1; x=r*sin(pi*u)'*cos(pi*v); z=r*sin(pi*u)'*sin(pi*v); y=r*cos(pi*u); r=5; u=0:0.01:1; v=0:0.01:1; x=r*sin(pi*u)'*cos(pi*v); z=r*sin(pi*u)'*sin(pi*v); y=r*cos(pi*u);

Równanie parametryczne – przykłady - katenoida u=0:0.1:2*pi; v=0:0.1:2*pi; x=r*cosh(v/r)'*cos(u); z=r*cosh(v/r)'*sin(u);; y=v; surf(x,y,z)

Powierzchnie – reprezentacja Ustalając wybraną wartość parametru u lub v otrzymujemy równanie krzywej leżącej na powierzchni, np. dla u= otrzymujemy: Wektor styczny do takiej krzywej jest równy:

Powierzchnie – reprezentacja Podobnie można ustalić zmienną v i biorąc wektor styczny do takiej krzywej mamy: Biorąc iloczyn wektorowy podanych wektorów otrzymujemy wektor normalny do powierzchni w punkcie

Wektor normalny do powierzchni

Przykład powierzchni - helikoida S(u,v)=[v*cos(u), hu, vsin(u)] Dla ustalonego v=v0 , jak i dla u=u0. i wektor normalny ma postać:

Kiedy obliczamy powierzchnie Możliwe zadania związane z powierzchniami to: Wyznaczanie powierzchni przechodzącej przez dane punkty lub krzywe – jest to zadanie interpolacyjne, Modelowanie powierzchni - projektowanie możliwie dowolnych kształtów spełniających zadane warunki.

Ogólny schemat tworzenia powierzchni Większość metod dotyczących krzywych można uogólnić na przypadek powierzchni. Używamy tu opisu powierzchni za pomocą tzw. iloczynów tensorowych przedstawień krzywej. Są one postaci: dla u0<=u<=u1 tzn. jest to przedstawienie parametrycznej krzywej na bazie funkcji Fi.

Ogólny schemat tworzenia powierzchni Każdy z punktów Pi (są to współczynniki) porusza się po pewnej krzywej Pi(v), i=0,1,...,n i każdą z tych krzywych można opisać za pomocą pewnych bazowych funkcji Gj, dla v0<=v<=v1

Ogólny schemat tworzenia powierzchni Po wstawieniu wzoru na Pi do wzoru na S(u) otrzymujemy: Funkcje Fi(u)Gj(v) tworzą funkcje bazowe. Specyfikując funkcje Fi i Gj będziemy otrzymywali różne rodzaje powierzchni.

Ogólny schemat tworzenia powierzchni Np. biorąc za Fi(u) i Gj(v) wielomiany: otrzymujemy powierzchnię interpolacyjną Legrange’a postaci: Łatwo sprawdzić, że: S(ui,vj)=Pi,j.

Powierzchnie Beziera Powierzchnie Beziera mogą być zdefiniowane w obszarze prostokątnym lub trójkątnym. W przypadku obszaru prostokątnego określa się płat powierzchni iloczynem tensorowym postaci: gdzie i są wielomianami Bernsteina o stopniach odpowiednio n i m, parametry u i v spełniają warunek:

Powierzchnie Beziera -cd Punkty Pi,j są to tzw. punkty kontrolne lub punkty Bezier’a.

Uporządkowanie punktów kontrolnych powierzchni Bezier’a

Własności powierzchni Bezier’a Rozważmy powierzchnię Bezier’a określoną (*). Jedynie punkty kontrolne P0,0, P0,m, Pn,0 i Pn,m leżą na powierzchni Bezier’a. W przypadku gdy n=m=3 związek między punktami kontrolnymi z wartościami S i jej pochodnych Su, Sv i Suv w punktach narożnych płata opisuje następujące równanie macierzowe:

Własności powierzchni Bezier’a gdzie Du=u1-u0, Dv=v1-v0

Własności powierzchni Beziera Brzegi płata są krzywymi Beziera określonymi przez odpowiednie brzegowe punkty kontrolne tego płata. Oznacza to, że linia współrzędnej jest krzywą Beziera stopnia n o punktach kontrolnych:

Własności powierzchni Bezier’a-cd Cały płat leży w powłoce wypukłej punktów Pi,j. Wartości pochodnych cząstkowych, czyli wektory styczne do linii współrzędnych u lub v, na brzegu płata zależą tylko od dwóch brzegowych wierszy (lub kolumn) punktów kontrolnych, np. dla u=u0 (q=0) zachodzi równość:

Własności powierzchni Bezier’a-cd Praktycznym sposobem wyznaczania powierzchni może być wyznaczanie powierzchni Beziera w różnych obszarach, a następnie ich łączenie. Należy wtedy określić warunki regularności takich połączeń. Zostanie to pokazane na przykładzie dwu płatów powierzchni: S1(u,v) i S2(u,v). Są one określone odpowiednio na prostokątach: S1 na u0<=u<=u1, v0<=v<=v1, S2 na u1<=u<=u2, v0<=v<=v1.

Własności powierzchni Bezier’a-cd v1 W tym przypadku należy połączyć odpowiednie powierzchnie wzdłuż brzegu u=u1. Przy parametryzacji lokalnej określonej równaniami: u=u0+p(u1-u0) dla S1 u=u1+q(u2-u1) dla S2 S1 S2 v0 u2 u0 u1

Własności powierzchni Bezier’a-cd oraz v=v0+r(v1-v0) dla S1 i S2 przedstawienia płatów są postaci:

Własności powierzchni Bezier’a-cd Warunki sklejania na wspólnym brzegu dają: dla j=0,1,...,m. co powoduje, że punktu kontrolne: określają tą samą krzywą Beziera. Należy zauważyć, że takie warunki gwarantują ciągłość powierzchni.

Płaty trójkątne Porcje powierzchni Beziera mogą być określane również jako nie tylko w prostokątach ale również w trójkątach. Za pomocą trójkątów można budować bardziej skomplikowane obszary niż za pomocą prostokątów. Niech T będzie trójkątem w płaszczyźnie uv. Dowolny punkt PT może być przedstawiony w postaci kombinacji liniowej wierzchołków tego trójkąta: P=rA+sB+tC.

Płaty trójkątne - cd Współczynniki r,s,t noszą nazwę współrzędnych barycentrycznych punktu P. Spełniają one następujące warunki: r>=0, s>=0, t>=0. r+s+t=1. dla PT.

Płaty trójkątne - cd Trójkątny płat powierzchni Beziera definiuje się następująco: gdzie Pi,j,k są danymi punktami kontrolnymi, a są wielomianami Bernsteina postaci:

Płaty trójkątne - uporządkowanie punktów s3 P0,2,1 3s2t P1,2,0 3rs2 P0,1,2 3st2 P1,1,1 6rst P2,1,0 3r2s P0,0,3 t3 P1,0,2 3rt2 P2,0,1 3r2t P3,0,0 r3

Własności wielomianów Bernsteina: Z dwu pierwszych własności wynika, że porcja powierzchni wypukłej leży wewnątrz powłoki wypukłej swoich punktów kontrolnych, a trzecia jest podstawą algorytmu do wyliczenia wartości S(u,v).

Powierzchnie B-sklejane Powierzchnie B-sklejane są postaci: gdzie Pi,j są danymi punktami kontrolnymi (punkty de Boora), oraz są bazowymi funkcjami B-sklejanymi stopni odpowiednio k i l dla węzłów: u0<=...<=un+k+1 i v0<=...<=vn+l+1.

Wzór na funkcje bazowe Spełniają one następujące własności: Nim(t)=0 dla t[ti, ti+m+1], Nim(t)0,

Powierzchnie Coonsa Raczej interpolacja powierzchni a nie modelowanie. Dane są cztery krzywe definiujące brzeg płata powierzchni S(u,v). Przyjmujemy, że płat jest znormalizowany do kwadratu jednostkowego: S(u,v) dla 0<=u<=1, 0<=v<=1

Powierzchnie Coonsa S(u,1) S(0,v) S(1,v) S(u,0)

Powierzchnie Coonsa Łącząc odcinkami punkty krzywych S(0,v) i S(1,v) dostajemy powierzchnię: S1(u,v)=(1-u)S(0,v)+uS(1,v). Analogicznie dla pozostałych dwóch brzegów mamy: S2(u,v)=(1-v)S(u,0)+vS(u,1). Można zauważyć, że suma: (S1+ S2)(u,1)=(1-u)S(0,1)+uS(1,1)+S(u,1) podczas, gdy powinna wynosić: (S1+ S2)(u,1)=S(u,1)

Powierzchnie Coonsa Aby nie było takiej sprzeczności należy wprowadzić korektę: S3(u,v)=(1-u)(1-v)S(0,0)+u(1-v)S(1,0)+ +(1-v)vS(0,1)+uvS(1,1) i powierzchnia Coonsa może być zdefiniowana następująco: S=S1+ S2- S3

Powierzchnie Coonsa W zapisie macierzowym: tak zdefiniowany płat będzie miał brzegi równe danym krzywym. Wielomiany 1-u, u, 1-v, v możemy zastąpić dowolnymi funkcjami a0(u), a1(u), b0(v), b1(v) spełniającymi warunki: a0(0)=1, a0(1)=0, a1(0)=0, a1(1)=1 b0(0)=1, b1(1)=0, b1(0)=0, b1(1)=1

Powierzchnie Coonsa W ogólnym przypadku powierzchnie Coonsa są postaci:

Powierzchnie Gordona Powierzchnie Gordona są uogólnieniem powierzchni Coonsa. Dane są rodziny krzywych: S(ui,v), dla i=0,1,...,n, S(u,vj), dla j=0,1,...,m, które przecinają się w (n+1)(m+1) punktach.

Przy wielomianowej interpolacji Legrange’a powierzchnia Gordona określona jest wzorem:

Konstruktywna geometria brył Grafika komputerowa - Michał Kruk

Konstruktywna geometria brył Grafika komputerowa - Michał Kruk

Konstruktywna geometria brył Grafika komputerowa - Michał Kruk

Drzewa ósemkowe Konstrukcja drzewa ósemkowego polega na otoczeniu całości sceny trójwymiarowej sześcianem (lub prostopadłościanem), który następnie dzielony jest na osiem mniejszych, a następnie każdy z nich na osiem kolejnych itd. - proces podziału ma charakter rekurencyjny. Najczęściej boki sześcianu są równoległe do osi układu współrzędnych, dzięki temu operacje geometryczne znacznie się upraszczają

Zakreślanie przestrzeni Grafika komputerowa - Michał Kruk

Zakreślanie przestrzeni Grafika komputerowa - Michał Kruk

Podział przestrzeni na voksele Voxel (ang. volumetric element - utworzone analogicznie do słowa piksel) to w grafice trójwymiarowej najmniejszy element przestrzeni, w pewnym sensie odpowiednik piksela w grafice dwuwymiarowej. Przy użyciu vokseli scenę przedstawia się jako trójwymiarową tablicę, na przykład 512×512×512 vokseli. Najczęściej vokseli używa się do przedstawiania i analizy medycznych i naukowych danych. Grafika komputerowa - Michał Kruk

Podział przestrzeni na voksele Struktura danych opisująca tak dekomponowaną bryłę będzie listą zajętych komórek. Podobny efekt można uzyskać strukturą hierarchiczną – drzewem ósemkowym wskazując w przestrzeni kolejne prostopadłościenne elementy będąca wielokrotnością woksela. W tym przypadku jednak struktura danych (drzewo ósemkowe) da efektywniejszy sposób zapisu (mniejszy koszt pamięciowy). Grafika komputerowa - Michał Kruk

Grafika komputerowa - Michał Kruk Samopodobieństwo Wiele obiektów naturalnych (rośliny, formy skalne, linia brzegowa, zbocza gór itp.) a także sztucznych (np. polimery) ma cechę samopodobieństwa. Obrazy tych obiektów są podobne bez względu na skalę w jakiej, są oglądane Typy samopodobieństwa Samopodobieństwo dokładne - wierne kopie jako odwzorowanie w skali (fraktale IFS). Quasi-samopodobieństwo - przybliżone kopie jako odwzorowanie w skali (często fraktale definiowane zależnością rekurencyjną punktów przestrzeni). Samopodobieństwo statystyczne - występujące przy fraktalach losowych Grafika komputerowa - Michał Kruk

Grafika komputerowa - Michał Kruk Samopodobieństwo Fraktale cechuje bardzo ciekawa własność zwana samopodobieństwem. Powiększane w dowolnym miejscu ujawniają części łudząco podobne do wyjściowego zbioru. Chodzi o coś w rodzaju powtarzania kształtu w nieskończoność, niejako ,,w głąb", w pewnej zamkniętej przestrzeni. Dla przykładu przedstawimy krzywą Kocha, której proces tworzenia polega na dzieleniu odcinka na trzy równe części, gdzie część środkową zastępuje się ząbkiem (trójkątem równobocznym bez podstawy). Powstaje w tym momencie odcinek złożony z czterech równych odcinków. Postępując tak w nieskończoność, każdemu uzyskanemu odcinkowi dodając ząbek, uzyskuje się krzywą zbudowaną z samych ząbków - trójkątów bez podstawy - o nieskończonej długości, lecz mieszczącą się w niewielkim obszarze Grafika komputerowa - Michał Kruk

Wykorzystanie gramatyk Generuje rekurencyjnie w oparciu o Aksjomat Reguły produkcji Pozwala modelować obiekty roślinopodobne (paprotki), korzenie itp.. Grafika komputerowa - Michał Kruk