Transzformációk kucg.korea.ac.kr.

Slides:



Advertisements
Hasonló előadás
Algebrai struktúrák.
Advertisements

Műveletek mátrixokkal
Koordináta transzformációk
Koordináta transzformációk
Geometriai Transzformációk
Analitikus (koordináta) geometriai gyorstalpaló
Geometriai transzformációk
Regresszió számítás Mérnöki létesítmények ellenőrzése, terveknek megfelelése Geodéziai mérések – pontok helyzete, pontszerű információ Lineáris regresszió.
Egy f  R[x] polinom cS -beli helyettesítési értéke
Klasszikus mechanikai kéttestprobléma és merev test szabad mozgása állandó pozitív görbületű sokaságon Kómár Péter témavezető: Dr. Vattay Gábor
Függvénytranszformációk
Komplex számok (Matematika 1.)
VEKTORMŰVELETEK Készítette: Sike László Kattintásra tovább.
A számítógépi grafika matematikai háttere
Agárdy Gyula-dr. Lublóy László
TARTÓK ALAKVÁLTOZÁSA ALAPFOGALMAK.
Az elemi folyadékrész mozgása
Optimalizálási módszerek 2. Konvex halmazok
A folyamatok térben és időben zajlanak: a fizika törvényei
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
3. Vetületi ábrázolások számítási eljárásai
Web-grafika II (SVG) 2. gyakorlat Kereszty Gábor.
P z : egy „elemi” projektív transzformáció M = ( m m m m ); P z = ( ) | m m m m | | | | m m m m | | | ( p p p p ) ( 0 0 r 1 ) az.
Matematika III. előadások MINB083, MILB083
Mérnöki Fizika II. 3. előadás
Mérnöki Fizika II előadás
Lineáris függvények.
Programozás C-ben Link és joint Melléklet az előadáshoz.
Lineáris transzformáció sajátértékei és sajátvektorai
MATEMATIKA ÉS INFORMATIKA I.
Lineáris algebra.
Koordináta-geometria
A szinusz és koszinuszfüggvény definíciója, egyszerű tulajdonságai
3.3. Axonometrikus ábrázolások Rövid áttekintés
2. Koordináta-rendszerek és transzformációk
2. Koordináta-rendszerek és transzformációk
3. Vetületi ábrázolások számítási eljárásai
Vektorok © Vidra Gábor,
16. Modul Egybevágóságok.
Mechanika KINEMATIKA: Mozgások leírása DINAMIKA: a mozgás oka erőhatás
Analitikus geometria gyorstalpaló
Inkrementális 3D képszintézis Szirmay-Kalos László.
Transzformációk Szirmay-Kalos László. Transzformációk (x,y) (x’,y’) = T(x,y) l Tönkre tehetik az egyenletet l Korlátozzuk a transformációkat és az alakzatokat.
3.3 Forgatónyomaték.
3. Vetületi ábrázolások számítási eljárásai
Geometriai transzformációk
2. Koordináta-rendszerek és transzformációk
Lineáris algebra.
1 Vektorok, mátrixok.
Számítógépes grafika I. AUTOCAD alapok 2. előadás.
Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
Máté: Orvosi képfeldolgozás8. előadás1 Kondenzált képek Transzport folyamat, pl. mukocilliáris klírensz (a légcső tisztulása). ROI kondenzált kép F 1 F.
előadások, konzultációk
Geometriai transzformációk
3.4. Perspektív ábrázolások
3.2. Axonometria – Műszaki rajzok párhuzamos vetítéssel
Digitális képanalízis
Hasonlóság modul Ismétlés.
Bevezetés a számítógépi grafikába
SKALÁROK ÉS VEKTOROK.
Készítette: Horváth Zoltán
3. óra Algebrai kifejezések nagyító alatt
93. óra Transzformációk összefoglalása
óra Algebra
Szécsi László 3D Grafikus Rendszerek 7. előadás
avagy, melyik szám négyzete a -1?
ELEMI GEOMETRIAI ISMERETEK
Összefoglalás (nem teljes)
Vektorok © Vidra Gábor,
Szögfüggvények és alkalmazásai Készítette: Hosszú Ildikó Nincs Készen.
Előadás másolata:

Transzformációk kucg.korea.ac.kr

Tartalom Affin transzformációk Transzformációk homogén koordinátákkal 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 kucg.korea.ac.kr

transzformációs függvény Transzformációk Vegyünk egy pontot (vagy vektort) képezzük le egy másik pontba (vagy vektorba) P Q u v T R 4D oszlop mátrix homogén koordináták transzformációs függvény 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 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ó kucg.korea.ac.kr

(a) tárgy az eredeti pozícióban 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 kucg.korea.ac.kr

Forgatás (1/2) Egyszerű példa 2D forgatásra kucg.korea.ac.kr

Forgatás (1/2) Egyszerű példa 2D forgatásra kucg.korea.ac.kr

Forgatás (1/2) Egyszerű példa 2D forgatásra kucg.korea.ac.kr

(a) fix pont körüli forgatás 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 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 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 kucg.korea.ac.kr

Skálázás (2/2) Szükséges Tükrözés – negatív skálázási együttható 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 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 kucg.korea.ac.kr

? Eltolás P ponthoz rendeljük a d távolságban lévő P’-t eltolás mátrixa kucg.korea.ac.kr

Eltolás P ponthoz rendeljük a d távolságban lévő P’-t 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 ? 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 kucg.korea.ac.kr

? Skálázás A skálázás mátrixa, ha a fixpontja az origó kucg.korea.ac.kr

Skálázás A skálázás mátrixa, ha a fixpontja az origó 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 ? 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 kucg.korea.ac.kr

? Forgatás (1/2) Forgatás az origó körül forgatás mátrixa kucg.korea.ac.kr

Forgatás (1/2) Forgatás az origó körül ? kucg.korea.ac.kr

Forgatás (1/2) Forgatás az origó körül ? kucg.korea.ac.kr

Forgatás (1/2) Forgatás az origó körül kucg.korea.ac.kr

Forgatás (2/2) A forgatás mátrixának inverze ? kucg.korea.ac.kr

Forgatás (2/2) A forgatás mátrixának inverze : ortogonális mátrix kucg.korea.ac.kr

tárgy nyírása az x tengely irányában Még egy affin transzformáció tárgy nyírása az x tengely irányában ? kucg.korea.ac.kr

tárgy nyírása az x tengely irányában Még egy affin transzformáció tárgy nyírása az x tengely irányában kucg.korea.ac.kr

? Nyírás (2/2) Nyírás az x tengely irányában nyírás mátrixa kucg.korea.ac.kr

Nyírás (2/2) Nyírás az x tengely irányában 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 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 kucg.korea.ac.kr

Transzfromációk konkatenációja 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ó: p A B C q M p q CBA kucg.korea.ac.kr

Pont körüli forgatás (1/3) Fixpont: pf jelölje Rz() a forgatást Kocka forgatása a középpontja körül kucg.korea.ac.kr

Pont körüli forgatás (2/3) transzformációk sorozata kucg.korea.ac.kr

Pont körüli forgatás (3/3) 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én Kocka forgatása a y tengely mentén ? Kocka forgatása a x tengely mentén kucg.korea.ac.kr

Általános forgatás (2/2) 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 kucg.korea.ac.kr

Példa transzformációra(2/2) kucg.korea.ac.kr

Tetszőleges tengely körüli forgatás (1/6) Szükséges fixpont: p0 elforgatás szöge: θ forgástengely : vektor p2-p1 kocka forgatása tetszőleges tengely mentén kucg.korea.ac.kr

Tetszőleges tengely körüli forgatás (2/6) Az első transzformáció a T(-p0) és az utolsó a T(p0) 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 kucg.korea.ac.kr

Tetszőleges tengely körüli forgatás (3/6) Forgatási sorrend Határozzuk meg x-t és y -t A szögek iránya és ezek cosinusai szögek iránya 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 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 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 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; } kucg.korea.ac.kr

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

Kocka forgatás (2/2) glPushMatrix( ), glPopMatrix( ) void spinCube(void) { theta[axis] += 2.0; if( theta[axis] > 360.0 ) theta[axis] -= 360.0; glutPostRedisplay(); } void mykey(char key, int mousex, int mousey) { if( key == ‘q’ || key == ‘Q’ ) exit(); } 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ó glPushMatrix(); glTranslatef(.....); glRotatef(.....); glScalef(.....); /* draw object here */ glPopMatrix(); 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 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 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 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 kucg.korea.ac.kr

Komplex számok (2/3) Képzetes egység: Konjugált Osztás Abszolút érték 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 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 kucg.korea.ac.kr

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

Kvaterniók és 3D forgatás 3D pont (α, β, γ) egy egység kvaternió konjugáltja  Rq egy (ux, uy, uz) körüli 2θ°-os forgatás Forgassuk (α, β, γ) pontot 2θ°-kal a (ux, uy, uz) irányvektorú tengely körül 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 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 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: kucg.korea.ac.kr