Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Grafika komputerowa Dr inż. Michał Kruk
2
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
3
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
4
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
5
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
6
Reprezentacje siatek wielokątowych
Grafika komputerowa - Michał Kruk
7
Reprezentacja bezpośrednia
Grafika komputerowa - Michał Kruk
8
Reprezentacja przy pomocy wskaźników na listę wierzchołków
Grafika komputerowa - Michał Kruk
9
Reprezentacja przy pomocy wskaźników na listę krawędzi
Grafika komputerowa - Michał Kruk
10
Opis równaniem powierzchni
Grafika komputerowa - Michał Kruk
11
Zalety i wady stosowania kwadryk
Grafika komputerowa - Michał Kruk
12
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.
13
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)
14
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);
15
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)
16
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:
17
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
18
Wektor normalny do powierzchni
19
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ć:
20
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.
21
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.
22
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
23
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.
24
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.
25
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:
26
Powierzchnie Beziera -cd
Punkty Pi,j są to tzw. punkty kontrolne lub punkty Bezier’a.
27
Uporządkowanie punktów kontrolnych powierzchni Bezier’a
28
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:
29
Własności powierzchni Bezier’a
gdzie Du=u1-u0, Dv=v1-v0
30
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:
31
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ść:
32
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.
33
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
34
Własności powierzchni Bezier’a-cd
oraz v=v0+r(v1-v0) dla S1 i S2 przedstawienia płatów są postaci:
35
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.
36
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 PT może być przedstawiony w postaci kombinacji liniowej wierzchołków tego trójkąta: P=rA+sB+tC.
37
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 PT.
38
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:
39
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
40
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).
41
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.
42
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,
43
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
44
Powierzchnie Coonsa S(u,1) S(0,v) S(1,v) S(u,0)
45
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)
46
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
47
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
48
Powierzchnie Coonsa W ogólnym przypadku powierzchnie Coonsa są postaci:
49
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.
50
Przy wielomianowej interpolacji Legrange’a powierzchnia Gordona określona jest wzorem:
51
Konstruktywna geometria brył
Grafika komputerowa - Michał Kruk
52
Konstruktywna geometria brył
Grafika komputerowa - Michał Kruk
53
Konstruktywna geometria brył
Grafika komputerowa - Michał Kruk
54
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ą
55
Zakreślanie przestrzeni
Grafika komputerowa - Michał Kruk
56
Zakreślanie przestrzeni
Grafika komputerowa - Michał Kruk
57
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
58
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
59
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
60
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
61
Wykorzystanie gramatyk
Generuje rekurencyjnie w oparciu o Aksjomat Reguły produkcji Pozwala modelować obiekty roślinopodobne (paprotki), korzenie itp.. Grafika komputerowa - Michał Kruk
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.