WYKAAD 5
GRAFIKA 3-D
5. Modele obiektów 3-D
5.1. Klasyfikacja modeli
" ModeIe opisujÄ…ce powierzchniÄ™
- siatka wieloboków
- bezpośredni opis równaniem powierzchni
- wielomianowe krzywe parametryczne
- parametryczne wielomianowe płaty powierzchni
- modele fraktalne
" ModeIe opisujące bryłę
- operacje boolowskie
- reprezentacje z przesuwem
- reprezentacje brzegowe
- reprezentacja z podziałem przestrzennym
- konstrukcyjna geometria bryłowa
5.2. Siatka wieloboków (polygon surfaces)
Siatka wieloboków - zbiór wierzchołków, krawędzi i
wieIoboków połączonych tak, że każda krawędz jest
wspólna przynajmniej dla dwóch wieloboków.
Problemy:
1. Jak zbudować siatkę ?
2. Jak efektywnie zapisać siatkę ?
5.2.1. Metody tworzenia siatek wieloboków
" budowa siatki przez przetworzenie zadanego
matematycznego opisu modelowanej powierzchni
" interakcyjne sposoby tworzenia siatek wieloboków
wykorzystujące reaIny modeI trójwymiarowy bryły,
urzÄ…dzenia do wskazywania punktu w przestrzeni i
odpowiednie aIgorytmy Å‚Ä…czÄ…ce wskazane punkty
krawędziami
5.2.2. Metody reprezentacji siatek wieloboków
" reprezentacja bezpośrednia
" reprezentacja przy pomocy wskazników na Iistę
wierzchołków
" reprezentacja przy pomocy wskazników na Iistę
krawędzi
5.2.2.1. Reprezentacja bezpośrednia
Każdy wieIobok opisany jest Iistą współrzędnych
wierzchołków.
V = x , y , z , . . . , x , y , z = V ,V ,V ,V
() ( ) ()
( )
1 1 1 4 4 4 1 2 3 4
P = E , E , E = 1, 4,5
() ( )
1 1 4 5
Własności opisu:
" wierzchołki na Iistach wieIoboków powtarzają się
" modyfikacja opisu jest trudna ( przesunięcie
wierzchołka wymaga znaIezienia wszystkich
wieIoboków wspóInych dIa wierzchołka i
modyfikacji odpowiedniej trójki współrzędnych)
" przy rysowaniu krawędzie wspóIne dIa dwóch
wieIoboków będą rysowane dwukrotnie
5.2.2.2. Reprezentacja przy pomocy wskazników na
listę wierzchołków
Każdy wierzchołek zapisany jest na Iiście
wierzchołków.
V = x , y , z , . . . , x , y , z = V ,V ,V ,V
() ( ) ()
( )
1 1 1 4 4 4 1 2 3 4
WieIoboki zapisywane są jako Iisty wskazników na
eIementy Iisty wierzchołków.
P = E , E , E = 1, 4,5 ; P = 2, 3, 4
() ( ()
)
1 1 4 5 2
Własności opisu:
" wierzchołek jest zapisywany tyIko jeden raz
" modyfikacja współrzędnych wierzchołka jest łatwa
" trudno znaIezć wieIoboki o wspóInej krawędzi
" przy rysowaniu krawędzie wspóIne dIa dwóch
wieIoboków będą rysowane dwukrotnie
" trudno wypełniać obrazy wieIoboków
5.2.2.3. Reprezentacja przy pomocy wskazników na
listę krawędzi
Każdy wierzchołek zapisany jest na Iiście
wierzchołków.
V = x , y , z , . . . , x , y , z = V ,V ,V ,V
() ( ) ()
( )
1 1 1 4 4 4 1 2 3 4
Tworzona jest Iista krawędzi.
E = V ,V , P , = 1,2,1,0
() ( )
1 1 2 1
E = V ,V , P , = 2, 3,2,0
() ( )
22 3 2
E = V ,V , P , = 3, 4,2,0
() ( )
33 4 2
E = V ,V , P , P = 4, 2,1,2
() ( )
44 2 1 2
E = V ,V , P , = 4,1,1,0
() ( )
54 1 1
WieIoboki zapisywane są jako Iisty wskazników na
eIementy Iisty krawędzi.
P = E , E , E = 1, 4,5
() ( )
1 1 4 5
P = E , E , E = 2, 3, 4
() ( )
2 2 3 4
Własności opisu:
" wierzchołek jest zapisywany tyIko jeden raz
" modyfikacja współrzędnych wierzchołka jest łatwa
" łatwo znaIezć wieIoboki o wspóInej krawędzi
" przy rysowaniu krawędzie wspóIne dIa dwóch
wieIoboków będą jeden raz
" łatwo wypełniać obrazy wieIoboków
" brak bezpośredniej informacji, która krawędz łączy
się z wierzchołkiem
5.2.2. Wielobok a płaszczyzna
Elementy rachunku wektorowego:
wektor - P = x y z
[]
ii i i
Suma wektorów:
P + P = x + x y + y z + z
[]
1 2 1 2 1 2 1 2
Iloczyn wektora i liczby:
aP = ax ay az
[]
ii i i
Iloczyn skalarny:
P1 Å" P2 = x1x2 + y1y2 + z1z2
Iloczyn wektorowy:
wersory ( wektory jednostkowe)
u = 1 0 0
[]
x
u = 0 1 0
[]
y
u = 0 0 1
[]
z
iloczyn wektorowy
u u u
îÅ‚ Å‚Å‚
x y z
ïÅ‚ śł
P × P = det x y z =
1 2 1 1 1
ïÅ‚ śł
ïÅ‚ x y z śł
ðÅ‚ 2 2 2 ûÅ‚
= y z - z y , z x - x z , x y - y x
[]
1 2 1 2 1 2 1 2 1 2 1 2
Równanie płaszczyzny wyznaczanej przez wierzchołki
wieIoboku , wektor normaIny dIa tej płaszczyzny:
Równanie płaszczyzny:
Ax + By + Cz + D = 0
1.Obliczenie wektora normalnego A B C
[]
DIa trzech wierzchołków wieIoboku P1 , P2 , P3
obIiczyć:
A B C = P - P × P- P
[] () ()
2 1 3 1
JeżeIi A B C = 0 0 0 to wierzchołki są
[] [ ]
współIiniowe i nie okreśIają płaszczyzny. NaIeży w
takim przypadku wybrać inne wierzchołki i
ponownie obIiczyć wektor normaIny.
2. ObIiczenie współczynnika D
ObIiczone wcześniej współczynniki A, B, C i
współrzędne dowoInego wierzchołka wstawić do
równania płaszczyzny i wyIiczyć D .
DIa różnych trójek wierzchołków możemy
otrzymać różne równania płaszczyzny w przypadku
gdy wieIobok nie jest płaski.
Aby otrzymać wieIobok Iub układ wieIoboków
płaskich można:
1. PodzieIić wieIobok na mniejsze wieIoboki
płaskie.
2. Zmodyfikować współrzędne wierzchołków tak,
aby nowe wierzchołki Ieżały na płaszczyznie
możIiwie najbIiższej ( w sensie pewnego
kryterium ) poprzednim wierzchołkom.
5.3. Bezpośredni opis równaniem powierzchni
Postać uwikłana równania powierzchni
f ( x,y,z ) = 0
5.3.1. Powierzchnie drugiego stopnia ( kwadryki )
Kwadryka opisana jest równaniem
222
f ( x, y, z ) = Ax + By + Cz + 2Dxy + 2Eyz +
+ 2Fxz + 2Gx + 2Hy + 2Jz + K = 0
lub
A D F G x
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
ïÅ‚ ïÅ‚
śł śł
x y z 1 = 0
[]ïÅ‚D B E Hśł ïÅ‚ yśł
ïÅ‚ F E C J śł ïÅ‚ zśł
ïÅ‚G H J Kśł ïÅ‚
1śł
ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚
Przykłady:
1. PÅ‚aszczyzna
A = B = C = ...= F = 0
f ( x , y ,z ) =2Gx + 2Hy + 2Jz + K = 0
2. Sfera
2
f ( x,y,z ) = x2 + y2 + z2 - r = 0
r = 2
3. Elipsoida
x2 z2
f ( x,y,z ) = + - 4fy = 0
a2 c2
a = 2, b = 1, c = 2
4. Cylinder
x2 y2 z2
f ( x,y ,z ) = - + - 1 = 0
a2 b2 c2
a = c = 1, b = 1 / 2
5. Stożek
x2 z2
f ( x,y,z ) = + - 4fy = 0
a2 c2
a = 1, c = 1
6. Hiperboloida
x2 y2 z2
f ( x,y ,z ) = - + - 1 = 0
a2 b2 c2
a = c = 1, b = 1 / 2
7. Paraboloida
x2 z2
f ( x,y,z ) = + - 4fy = 0
a2 c2
a = c = 1 / 2 , f = 1
Zalety stosowania kwadryk w grafice komputerowej:
" Aatwe obIiczanie wektora normaInego do
powierzchni
îÅ‚ " f " f " f Å‚Å‚
"
"
"
N =
ïÅ‚ śł
" x " y " z
"
"
"
ðÅ‚ ûÅ‚
Wektor normaIny można wyznaczyć anaIitycznie.
" Aatwe obIiczanie punktów przecięcia powierzchni z
prostą ( ważne w aIgorytmach Ray - tracing ).
" Aatwe testowanie czy dany punkt Ieży na
powierzchni ( podstawić dany punkt do równania i
sprawdzić czy wynik jest bIiski zera ).
" Aatwe obIiczanie z dla danych x, y (ważne w
aIgorytmach reaIizujÄ…cych usuwanie powierzchni
niewidocznych )
" Stosunkowo łatwe obIiczanie przecięcia jednej
kwadryki z drugÄ….
Wada opisu uwikłanego powierzchni:
" Trudna generacja punktu Ieżącego na powierzchni
" Trudna generacja fragmentu powierzchni np.
połowy czy ćwiartki sfery
Powierzchnia trzeciego stopnia
Przykład:
3
3 3 3
f ( x, y, z ) = x + y + z + - ()
x+ y+ z = 0
Parametryczny opis powierzchni
x(u,v ) = fx (u,v ) umin d" u d" umax
y(u,v ) = fy (u,v ) vmin d" v d" vmax
z(u,v ) = fz( u,v )
Przykłady:
1. Sfera o promieniu r i środku ( 0, 0, 0 )
x(u,v ) = r sin( Ä„ u )cos( 2Ä„ v ) 0 d" u d" 1
Ä„
Ä„
y(u,v ) = r sin( Ä„ u )sin( 2Ä„ v ) 0 d" v d" 1
Ä„
Ä„
z(u,v ) = r cos( Ä„ u )
Ä„
" Aatwa generacja punktu Ieżącego na powierzchni
( dla pary parametrów u, v łatwo jest wyznaczyć
x(u,v ), y(u,v ), z(u,v ) ).
" Aatwa generacja fragmentu powierzchni ( np.
prowadzimy obIiczenia punktów dIa przedziałów
0 d" u d" 1 / 2, 0 d" v d" 1 / 2 i uzyskujemy tyIko część
powierzchni sfery.
2. Powierzchnia o równaniu
x(u, v ) = u sin (u ) cos(v ) 0 d" u d" 2Ä„
Ä„
y(u, v ) = u cos (u ) cos(v ) 0 d" v d" Ä„
Ä„
z(u, v ) = u sin(v )
Wyszukiwarka
Podobne podstrony:
so wyk5 prezentacjaTWN? 14 WYK5 dielektrykiFot wyk5 intWyk5 tabl hashPUP niest wyk5 VHDL[51F] v1mutacje wyk5Reklama w Internecie wyk5wyk5 budowa drukWyk5 termTWN? 11 WYK5 dielektrykiWyk5 efekty perturbacyjnewyk5Wyk5 KOMUNIKACJAwyk5Wyk5więcej podobnych podstron