Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Grafika Fordította: Völgyi Beatrix kucg.korea.ac.kr Transzformációk.

Hasonló előadás


Az előadások a következő témára: "Grafika Fordította: Völgyi Beatrix kucg.korea.ac.kr Transzformációk."— Előadás másolata:

1 Grafika Fordította: Völgyi Beatrix kucg.korea.ac.kr Transzformációk

2 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Tartalom Affin transzformációk forgatás, eltolás és skálázás Transzformációk homogén koordinátákkal Transzformációk konkatenációja forgatás fix pont körül általános forgatás példa transzformációra tetszőleges tengely körüli forgatás Virtual trackball

3 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Transzformációk Vegyünk egy pontot (vagy vektort) képezzük le egy másik pontba (vagy vektorba) P Q uv T R homogén koordináták 4D oszlop mátrix transzformációs függvény

4 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Affin transzformáció (1/2) Linearitás – lineáris függvény Lineáris transzformáció rendeljünk egy ponthoz (vagy vektorhoz) egy másik pontot (vagy vektort) 4  4 mátrix vektor pont

5 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Affin transzformáció (2/2) Lineáris transzformáció (folyt) egyenestartó – egyenest egyenesbe képez  az egyenesnek csak a végpontjait transzformáljuk CG-ban a transzformációk többsége affin forgatás, eltolás, skálázás, nyírás homogén koordináta affin transzformáció

6 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Eltolás Egy ponthoz adott távolságra és irányban lévő pontot rendelünk hozzá elmozdulás vector d (a) tárgy az eredeti pozícióban (b) eltolt tárgy

7 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Forgatás (1/2) Egyszerű példa 2D forgatásra

8 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Forgatás (1/2) Egyszerű példa 2D forgatásra

9 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Forgatás (1/2) Egyszerű példa 2D forgatásra

10 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Forgatás (2/2) Szükséges fixpont – a forgatás során a pont helyzete változatlan forgatás szöge – pozitív forgatás (jobb-sodrású rendszerben az óramutató irányával ellentétes) forgástengely 3D-ben – a forgatás során az egyenes képe önmaga (a) fix pont körüli forgatás(b) 3D forgatás

11 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Merev test transzformációk Forgatás és eltolás Forgatás és eltolás kombinációja nem képes megváltoztatni a tárgy alakját  csak a tárgy helyét és irányát affin transzformációk, de nem merev test transzformációk

12 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Skálázás (1/2) Egy tárgy nagyságát növeljük vagy csökkentjük egyenletes – skálázás minden irányból azonos mértékkel Affin, nem merev test transzformációk affin transzformációk: eltolás, forgatás, skálázás, nyírás nemegyenletes egyenletes

13 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Skálázás (2/2) Szükséges fixpont a skálázás iránya skálázási együttható  nagyítás ( α >1) vagy kicsinyítés (0≤ α <1) Tükrözés – negatív skálázási együttható skálázás eredménye tükrözés

14 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Transzformációk homogén koordinátákkal Megvalósítás homogén koordinátákkal Affin transzformációk – 4  4 mátrix

15 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Eltolás P ponthoz rendeljük a d távolságban lévő P’-t eltolás mátrixa ?

16 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Eltolás P ponthoz rendeljük a d távolságban lévő P’-t

17 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Eltolás P ponthoz rendeljük a d távolságban lévő P’-t Az eltolás mátrixának inverze ?

18 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Eltolás P ponthoz rendeljük a d távolságban lévő P’-t Az eltolás mátrixának inverze

19 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Skálázás A skálázás mátrixa, ha a fixpontja az origó skálázás mátrixa ?

20 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Skálázás A skálázás mátrixa, ha a fixpontja az origó

21 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Skálázás A skálázás mátrixa, ha a fixpontja az origó A skálázás mátrixának inverze ?

22 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Skálázás A skálázás mátrixa, ha a fixpontja az origó A skálázás mátrixának inverze

23 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Forgatás (1/2) Forgatás az origó körül forgatás mátrixa ?

24 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Forgatás (1/2) Forgatás az origó körül ?

25 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Forgatás (1/2) Forgatás az origó körül ?

26 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Forgatás (1/2) Forgatás az origó körül

27 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Forgatás (2/2) A forgatás mátrixának inverze ?

28 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Forgatás (2/2) A forgatás mátrixának inverze : ortogonális mátrix

29 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Nyírás (1/2) Még egy affin transzformáció tárgy nyírása az x tengely irányában ?

30 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Nyírás (1/2) Még egy affin transzformáció tárgy nyírása az x tengely irányában

31 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Nyírás (2/2) Nyírás az x tengely irányában nyírás mátrixa ?

32 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Nyírás (2/2) Nyírás az x tengely irányában

33 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Nyírás (2/2) Nyírás az x tengely irányában Nyírás mátrixának inverze ?

34 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Nyírás (2/2) Nyírás az x tengely irányában Nyírás mátrixának inverze

35 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Transzfromációk konkatenációja Konkatenáció affin transzformációk összeszorzása alap transzformációk sorozata  tetszőleges transzformáció közvetlen definiálása három, egymást követő transzformáció: ABC pq M pq CBA

36 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Pont körüli forgatás (1/3) Fixpont: p f jelölje R z (  ) a forgatást Kocka forgatása a középpontja körül

37 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Pont körüli forgatás (2/3) transzformációk sorozata

38 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Pont körüli forgatás (3/3)

39 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Általános forgatás (1/2) 3 egymás követő forgatás a tengelyek körül Kocka forgatása a z tengely menténKocka forgatása a y tengely mentén Kocka forgatása a x tengely mentén ?

40 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Általános forgatás (2/2)

41 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Példa transzformációra (1/2) Adott egy tárgy prototípusa Keresünk egy transzformációt használjunk egy affin transzformációt, hogy megváltoztassuk a tárgy méretét, helyét és irányát példa transzformációra ?

42 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Példa transzformációra(2/2)

43 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Tetsz ő leges tengely körüli forgatás (1/6) Szükséges fixpont: p 0 elforgatás szöge: θ forgástengely : vektor p 2 -p 1 kocka forgatása tetszőleges tengely mentén

44 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Tetsz ő leges tengely körüli forgatás (2/6) Az első transzformáció a T(-p 0 ) és az utolsó a T(p 0 ) eltolás Probléma a forgatásnál Tetszőleges forgatás meg- feleltethető 3, az egyes tengelyek körüli forgatásnak Hajtsunk végre két forgatást, hogy a forgatás tengelye a z tengelynek feleljen meg  Forgassunk a z tengely körül θ szöggel a fix pontot az origóba mozgattuk

45 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Tetsz ő leges tengely körüli forgatás (3/6) Határozzuk meg  x -t és  y -t A szögek iránya és ezek cosinusai Forgatási sorrend szögek iránya

46 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Tetsz ő leges tengely körüli forgatás (4/6) Határozzuk meg  x -t és  y -t (folyt.) Vetítsük le az egyenest az y =0 síkra  Nézzük meg az egyenes vetületét (a forgatás előtt) az x =0 síkon x tengely körüli forgatás számolása

47 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Tetsz ő leges tengely körüli forgatás (5/6) Határozzuk meg  x -t és  y -t (folyt.) Vetítsük az egyenest a z tengelyre  Forgatás az y tengely körül  figyelem!!! – órajárással megegyező szög y tengely körüli forgatás számolása

48 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Tetsz ő leges tengely körüli forgatás (6/6) Végül konkatenáljuk a három mátrixot Feladat) Forgass egy tárgyat egy, az origón átmenő egyenes körül 45°-kal

49 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Kocka forgatás (1/2) glutDisplayFunc(display); glutIdleFunc(spinCube); glutMouseFunc(mouse); void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glRotatef(theta[0], 1.0, 0.0, 0.0); glRotatef(theta[1], 0.0, 1.0, 0.0); glRotatef(theta[2], 0.0, 0.0, 1.0); colorcube(); glutSwapBuffers(); } void mouse(int btn, int state, int x, int y) { if(btn==GLUT_LEFT_BUTTON && state==GLUT_DOWN) axis=0; if(btn==GLUT_MIDDLE_BUTTON && state==GLUT_DOWN) axis=1; if(btn==GLUT_RIGHT_BUTTON && state==GLUT_DOWN) axis=2; }

50 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Kocka forgatás (2/2) void spinCube(void) { theta[axis] += 2.0; if( theta[axis] > ) theta[axis] -= 360.0; glutPostRedisplay(); } void mykey(char key, int mousex, int mousey) { if( key == ‘q’ || key == ‘Q’ ) exit(); }

51 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Kocka forgatás (2/2) glPushMatrix( ), glPopMatrix( ) hajtuk végre egy transzformációt és aztán térjünk vissza a test eredeti állapotába  feladat) példatranszformáció void spinCube(void) { theta[axis] += 2.0; if( theta[axis] > ) theta[axis] -= 360.0; glutPostRedisplay(); } void mykey(char key, int mousex, int mousey) { if( key == ‘q’ || key == ‘Q’ ) exit(); } glPushMatrix(); glTranslatef(.....); glRotatef(.....); glScalef(.....); /* draw object here */ glPopMatrix(); glPushMatrix(); glTranslatef(.....); glRotatef(.....); glScalef(.....); /* draw object here */ glPopMatrix();

52 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Virtual Trackball (1/3) Használjuk az egér helyzetét, hogy leellenőrizzük a forgatást a 2 tengely körül Igazolásként forgassuk a tárgyat folyamatosan trackball frame

53 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Virtual Trackball (2/3) Forgatás virtual trackball-lal Vetítsük le a trackball pozícióját a síkra

54 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Virtual Trackball (3/3) Forgatás virtual trackball-lal (folyt.) határozzuk meg a sík írányát forgásszög  Kvaterniók

55 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Komplex számok (1/3) Valós rész + képzetes rész: Összeadás és kivonás Számmal való szorzás Szorzás y x z Képzetes tengely Valós tengely

56 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Komplex számok (2/3) Képzetes egység: Konjugált Abszolút érték Osztás

57 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Komplex számok (3/3) Polár koordinátákkal való reprezentáció Euler-formula Szorzás és osztás n-edik gyök r θ z=(x, y) Képzetes tengely Valós tengely

58 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Kvaterniók (1/2) Egy valós rész + 3 képzetes rész Tulajdonságai: Összeadás és skaláris szorzás

59 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Kvaterniók (2/2) Átírás rendezett számpárba skalár ‘ s ’ + vektor “ v = (a, b, c) ” Összeadás: Szorzás Nagyság Inverz

60 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Kvaterniók és 3D forgatás 3D pont ( α, β, γ ) egy egység kvaternió konjugáltja  R q egy (u x, u y, u z ) körüli 2θ°-os forgatás Forgassuk (α, β, γ) pontot 2θ°-kal a (u x, u y, u z ) irányvektorú tengely körül

61 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Forgatás kvaternióval (1/2) Tetszőleges tengely körüli forgatás válasszunk egy egységkvaterniót ( u : egységvektor) alakítsunk át egy tetszőleges P pontot kvaternióvá ( p = ( x, y, z )) végezzük el a kvaternió műveletet ( q -1 =(s, –v) ) állítsuk elő az új kvaterniót

62 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Forgatás kvaternióval (2/2) A kvaterniószorzás segítségével megkapjuk a forgatás mátrixát Az eltolást is belevéve

63 Fordította: Völgyi Beatrix Grafika kucg.korea.ac.kr Példa z tengely körüli forgatás vegyük az egységkvaterniót : Helyettesítsük be a=b=0-t, c=sin(θ/2)-t a mátrixba:


Letölteni ppt "Grafika Fordította: Völgyi Beatrix kucg.korea.ac.kr Transzformációk."

Hasonló előadás


Google Hirdetések