Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaOrsolya Juhászné Megváltozta több, mint 8 éve
1
Bevezetés a számítógépi grafikába 1.Bevezetés: A Számítógépi grafika tárgya 2.Képek kódolása 3.A geometrikus grafika alapjai 4.Koordináta-rendszerek és transzformációk 5.Vetületi ábrázolások 6.A 3D grafikai alapjai: térbeli alakzatok és színterek képének előállítása 7.Valószerű képek előállítása 8.Egyebek
2
4. Koordináta-rendszerek és transzformációk 4.1. A Descartes-féle derékszögű koordináta-rendszer 4.2. Homogén koordináták 4.3. Az egyenes és a sík egyenlete 4.4. Affin és projektív transzformációk 5. Vetületi ábrázolások 6. A 3D grafika alapjai http://people.inf.elte.hu/krammer/eltettk/grafika/jegyzet/
3
4.1. A Descartes-féle, derékszögű koordináta-rendszer Kijelöli 5 „pont”: a kezdőpont (origó), a 3 tengely állása és egy térbeli egységpont Pontok: P = [x,y,z] T Kétféle irányítás (szemléletesen): jobbsodrású (jobbos, jobbkezes), balsodrású (balos, balkezes)
4
A síkban: Kijelöli 4 „pont”: a kezdőpont (origó), a 2 tengely állása és egy térbeli egységpont Pontok: P = [x,y] T Kétféle irányítás (szemléletesen): jobbsodrású (jobbos, jobbkezes), balsodrású (balos, balkezes)
5
Pontok és vektorok típusának definíciója számhármasok (szám párok): type Gxyz = Real; {vagy Double} type Point3 = record x,y,z : Gxyz; end; type Vector3 = record x,y,z : Gxyz; end; Vector3 műveletei: u=v, u+v, u-v, c*u, u*v, u v, |u| Point3 műveletei: P=Q (és több nincs!) Szigorú típus ellenőrzés és szerep kényszer (cast) S:= Point3( (Vector3(P)+Vector3(Q)+Vector3(R))/3.0); Vegyes típusú műveletek: P2 = P1 + v ; {a P1 pont eltolása a v vektorral} v = P2 – P1, {vektor a P1-ből a P2-be}
6
A síkbeli polárkoordináta-rendszer kezdőpont, a polár-tengely, a pozitív elfordulás iránya. P polár-koordinátái: P=(r, (0 r), (0 <2 ). polár-koordináták Descartes koordináták: x = r*cos , és y = r*sin Descartes koordináták polár-koordináták: r = x 2 +y 2 és = arctan(y/x), ha sem x sem y nem 0, = 0, ha y=0 és x>0 = , ha y=0 és x 0 = - /2, ha x=0 és y<0 = meghatározatlan, ha x=y=0 (a kezdőpont).
7
Gömbkoordináta-rendszer, térbeli polár-koordináták alapsík, benne PKR és a Z tengely, gömbkoordináták: P=(r, ; (0 r), a polárszög (0 az alapsíkban) azimut, (0 henger-koordináták: (r, ,z) polár-koordináták derékszögű koordináták: =r*sin = x 2 +y 2, (az alapsíkban) x= *cos =r*sin *cos ; y= *sin =r*sin *sin , z=r*cos derékszögű koordináták Polár-koordináták :...
8
Baricentrikus koordináták a 0, a 1,…,a n E n ; kifeszítik az (n-1) dimenziós teret minden x E n -hez egyértelműen létezik { 0, 1,… n } valósak: x = 0 a 0 + 1 a 1 +…+ n a n ; és 0 + 1 +…+ n =1 Súlyozott összeg, a súlyok összege 1. (lehetnek negatívok is) { i }: az x ( {a i }-re vonatkozó) baricentrikus koordinátái Tömegpontok súlypontja (térben 4, síkban 3, egyenesen 2) A { i } homogén jellegű koordináták: { ' i } {h i } (h 0) is ugyanazt az x pontot adja Ha egy pont baricentrikus koordinátái pozitívak, a pont az alappontok konvex burkán belül van.
9
4. Koordináta-rendszerek és transzformációk 4.1. Koordináta-rendszerek az euklideszi térben 4.2. Homogén koordináták 4.3. Az egyenes és a sík egyenlete 4.4. Affin és projektív transzformációk
10
Az E n egy „inhomogenitása” Az a egyenes pontjait vetítjük a’-re. csak az F pontnak nincs vetülete. Legyen! Az E 2 kibővítése: - minden egyenesnek legyen még egy pontja, - „az egyenes ideális pontja”, - párhuzamos egyenesek i.-pontja megegyezik (az egyenesek állása), - a sík ideális pontjai a sík ideális egyenesén vannak. Az E 2 projektív lezárása (a „kibővített sík”) Projektív sík; egy kitüntetett egyenessel.
11
Az ideális pontokkal kibővített euklideszi tér A tér minden egyenesének (közönséges pontjain kívül) még egy pontot tulajdonítunk; „az egyenes ideális pontja”, olymódon, hogy: párhuzamos egyenesek ideális pontja megegyezik; (ezek ekvivalencia-osztálya, állása), egy sík ideális pontjai egy egyenesen vannak, „a sík ideális egyenese”, párhuzamos síkok ideális egyenese megegyezik, a tér ideális egyenesei egy síkban vannak, „a tér ideális síkja”
12
Homogén koordináták a tér egy derékszögű koordináta-rendszerében (x,y,z) közönséges pont [x, y, z, 1] homogén koordináták, illetve az ezzel arányos számnégyesek bármelyike: (x,y,z) [x, y, z, 1] h [x, y, z, 1] = [h x, h y, h z, h]; h 0 Fordítva, a kibővített tér [x 1, x 2, x 3, h] pontjának : –ha h 0, akkor ez “közönséges pont” és Descartes-koordinátái: [x 1, x 2, x 3, h] [x 1 /h, x 2 /h, x 3 /h, 1] (x 1 /h, x 2 /h, x 3 /h), –ha h=0, de x 1,x 2, x 3 nem mind nulla, akkor [x 1, x 2, x 3, 0] ideális pont és x 1, x 2, x 3 a rá illeszkedő egyenesek állását (irány-koszinuszait) határozzák meg, –[0,0,0,0] nem pont (számítások eredménye nem lehet).
13
A sík homogén koordinátás egyenlete Egy sík megadása (tárolása): [s 1, s 2, s 3, s 4 ] h·[s 1, s 2, s 3, s 4 ]; s i, nem mind nulla type GplaneH = array [1..4] of Gxyz; A sík egyenlete: s ·X T = 0, azaz s 1 ·x 1 +s 2 ·x 2 +s 3 ·x 3 +s 4 ·h = 0 a sík minden X pontjára. Az ideális sík homogén alakja: [0, 0, 0, c]; h 0
14
Nevezetes pontok homogén koordinátái Bármilyen c 0 számmal [0,0,0,c] az origó homogén alakja, [c,0,0,0] az X tengely, [0,c,0,0] az Y tengely, [0,0,c,0] a Z tengely ideális pontja, [0,0,0,c] az ideális sík, [c,0,0,0] az YZ (z=0) koordináta-sík, [0,c,0,0] az XY sík, [0,0,c,0] az XY sík homogén alakja.
15
Miért használunk homogén koordinátákat? A számításokban föloldják a nem metsző párhuzamosok „kivételes” helyzetét. A mátrix szorzás egységes formalizmusa (eltolás), A középpontos vetítés nem affin transzformáció.
16
Áttérés a homogén alakra és visszatérés Feladataink Descartes-koordinátákkal adjuk meg és az eredményeket ugyanígy várjuk. 1.áttérés homogén koordinátákra: (x,y,z) [x,y,z,1] 2.... műveletek... 3.az eredmények „szűrése” (ideális pontok kizárása) 4.visszatérés (projektív osztás): [x1,x2,x3,x4] (x1/x4,x2/x4,x3/x4). 5.így értékeljük az eredményeket.
17
4. Koordináta-rendszerek és transzformációk 4.1. Koordináta-rendszerek az euklideszi térben 4.2. Homogén koordináták 4.3. Az egyenes és a sík egyenlete 4.4. Affin és projektív transzformációk
18
Az egyenes egyenlete a síkban homogén, implicit e.: a·x + b·y + c = 0; a 2 +b 2 0; | *h 0 Hesse-féle normál alak: a’·x+b’·y+c’=0; a’ 2 +b’ 2 =1; a’, b’ az egyenes iránykoszinuszai Az “iskolai egyenlet”: y=Mx+B; M=a/b, B=c/b; csak ha b ! két adott pontján át: (x 2 -x 1 )·(y-y 1 ) = (y 2 -y 1 )·(x-x 1 ) illetve, ha x 1 x 2 : y = (y 2 -y 1 )/(x 2 -x 1 )(x- x 1 )+y 1 =M·(x-x 1 )+y 1 adott pont, adott irány: b’·(y-y 1 ) = -a’·(x-x 1 ); illetve, ha b 0, akkor y = M·(x- x 1 )+y 1 ; M=a’/b
19
Az egyenes egyenlete a síkban (2) Determináns alakban, adott P=(p x,p y ) és Q=(q x,q y ) pontokkal: | x y 1 | = 0 (az első sora szerint kifejtve …) | p x p y 1 | | q x q y 1 | Normálvektoros egyenlet: adott R pontja és n normálvektora, (X - R) · n = 0, azaz: X · n = R · n (x-r x )·n x +(y-r y )·n y = 0, azaz: x·n x +y·n y =r x ·n x +r y ·n y
20
Az egyenes paraméteres egyenlete Adott (a síkban, vagy a térben) P és Q pontja: X = P + t·(Q-P), átrendezve: X = (1-t)·P + t·Q, azaz: x = p x + t·(q x -p x ), átrendezve: x = (1-t)·p x + t·q x, y = p y + t·(q y -p y ), átrendezve: y = (1-t)·p y + t·q y, z = p z + t·(q z -p z ), átrendezve: z = (1-t)·p z + t·q z. t=0: a P pont, t=1: a Q pont, 0 t 1: a szakasz pontjai, t 0: P oldalán kívül, t 1: Q oldalán kívül egyenlőközű t értékek: egyenlőközű pontok t és (1-t): baricentrikus koordináták az egyenesen
21
Példa: két egyenes metszéspontjának meghatározása –A síkban a PQ és RS egyenesek metszéspontja: X=(x,y) –PQ egyenlete: x = p x + t(q x -p x ) és y = p y + t(q y -p y ), RS egyenlete: x = r x + t’(s x -r x ) és y = r y + t’(s y -r y ), –Négy egyenlet, négy ismeretlen: x, y, t, t’ Nincs megoldás, ha a két egyenes párhuzamos, vagy egybe esik. –A térben két egyenes lehet kitérő is A metszési feladatot, először pl. a z=0 -lal az XY síkra : (x,y) ezt behelyettesítve kapjuk z –t (vagy ellentmondást).
22
Példa: egyenes metszéspontja szakasszal (1) Az egyenes metszéspontja a szakasz egyenesével : M (2) Ha az M - hez tartozó t paraméterre 0 t 1, akkor a metszéspont a szakaszon van, különben kívül.
23
A sík implicit, homogén egyenlete a·x+b·y+c·z+d=0; a 2 +b 2 +c 2 0 | *h 0 Hesse-féle normálegyenlet: a’·x+b’·y+c’·z+d’=0; a’ 2 +b’ 2 +c’ 2 =1 determináns alakja: Három nem egy egyenesbe eső adott pont, P=(p x,p y,,p z, ), Q=(q x,q y,q z, ), R=(r x,r y,r z, ): | x y z 1 | = 0 (az első sor szerint kifejtve …) | p x p y p z 1 | | q x q y q z 1 | | r x r y r z 1 | Normálvektoros egyenlet, adott P pont és n normálvektorával: (X - P)·n = 0, illetve (x-p x )·n x +(y-p y )·n y +(z-p z )·n z =0; azaz: X·n = P·n, illetve x·n x +y·n y +z·n z =p x ·n x +p y ·n y +p z ·n z
24
A sík paraméteres egyenlete A síkot kifeszítő u, v vektor párral és P pontjával: X = P+s·u+t·v, és a koordinátákra : A sík három, nem egy egyenesbe eső P, Q és R pontjával X = Q + s·(P-Q)+ t·(R-Q), vagy: X = (1-s-t)·Q + s·P+t·R x = q x + s·(p x -q x )+t·(r x -q x ), vagy: x = (1-s-t)·q x +s·p x +t·r x y = q y + s·(p y -q y )+t·(r y -q y ), vagy: y = (1-s-t)·q y +s·p y +t·r y z = q z + s·(p z -q z )+t·(r z -q z ), vagy: z = (1-s-t)·q z +s·p z +t·r z. ha 0 s, t, 1-s-t 1 : a háromszög pontjai, ha közülük egy nulla: a háromszög egyik oldala, ha kettő nulla (és a harmadik 1): egyik csúcsa, ha valamelyik negatív, vagy >1: a pont kívül van. s, t, 1-s-t : baricentrikus koordináták a síkban
25
Példa: Egyenes döféspontja egy térbeli háromszöggel Adott egy háromszög a térben A, B és C csúcsaival, síkjának egyenlete: X = B+s·(A-B)+ t·(C-B) Adott egy egyenes a térben P és Q pontjával. az egyenes egyenlete: X = Q +u·(P-Q). A közös döféspontban: B+s·(A-B)+ t·(C-B) = Q +u·(P-Q) 3 skalár-egyenlet; t, s, u ismeretlenekkel. A kapott t értéket az egyenes egyenletébe helyettesítve: X. Ha a megoldásra 0 s,t,1-s-t 1, akkor X a háromszögben van (Nincs megoldás, ha az egyenes párhuzamos a síkkal, vagy vele egybe esik.)
26
Jegyzet A 4. Fejezethez: G4D-….rtf, Gi4D-….ppt (ez az előadás)
27
Vége
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.