Transzformációk
- Transzformációk
A virtuális világunkban található összetett alakzatokat több, kisebb építőelemből is összerakhatjuk az alakzat részeit el kell helyeznünk a térben.
Az alakzatokat el kell helyeznünk a világban, mozgatnunk kell őket, stb.
A virtuális világunkból egy kétdimenziós képet is elő kell állítanunk.
A fenti lépésekhez mind szükségünk lesz geometriai transzfotmációkra, amelyekkel az alakzatainkat megváltoztathatjuk.
Transzformációkról általában
Az elvárásaink:
- minden pontot lehessen transzformálni
- pont képe legyen pont, egyenes képe egyenes, sík képe sík
- illeszkedést tartsa
- legyen egyértelmű és egyértelműen megfordítható
A pontjainkat a számítógépen valamilyen koordináta-rendszerben tároljuk
a transzformációk ezeken a koordinátákon végzett műveletek.
A továbbiakban azonosítunk az euklideszi tér, elemeit a valós vektorterünk elemeivel.
Ehhez rögzítünk egy pontot, origót, és minden ponthoz a vektort rendeljük.
Lineáris leképzések
Kiemelt jelentősége lesz a lineáris leképzéseknek, azaz azon leképzéseknek, amelyekre teljesül, hogy és esetén
- (additív)
- (homogén)
Az lineáris leképzéseket egy mátrixszal fel tudjuk írni; ekkor
Projektív és affin transzformációk
Az ideélis síkkal kibővített euklideszi tér önmagára való, kölcsönösen egyértelmű, pont-, egyenes-, sík-, és illesztkedést tartó leképzéseit kollineacióknak, vagy projektív transzformációknak nevezzük.
Affin transzformációk a projektív transzformációknak az az alcsoportja, amelynek a kibővített tér "közönséges", euklideszi részét önmagára képzik le, és az ideális síkot is önmagára képzi le.
Közös tulajdonságok
A projektív és affin transzformációk algebrai csoportot alkotnak a konkatenáció művelettel
- a konkatenáció asszociatív (műveletek csoportosíthatóak)
- létezik egységelem
- a dimenziótartó transzformációknak van inverze
- de nem kommutatív!
Affin transzformációk tulajdonságai
Az affin transzformációk megadhatóak egy lineáris transzformáció és egy eltolás segítségével, azaz ha affin transzformáció, akkor létezik és , hogy -ra:
A mátrix-vektor szorzást ilyen sorrendben végezzük el, azaz: a matrix a bal-, a vektor a jobboldalon áll.
A megadás homogén koordináták segítségével egyetlen mátrix-vektor szorzással is felírható:
Ugyanis ekkor
Az affin transzformációk a baricentrikus koordinátákat érvényben hagyják (a baricentrikus koordináták affin invariánsak)
Affin transzformációk megadása
-ben egy affin transzformációt egyértelműen meghatároz általános állású pont és annak képe
Azaz, például síkban ha adott három általános állású
pont és ezek képei, rendre
akkor -ket -kbe átvivő transzformációra
Projektív transzformációk megadása
-ben egy projektív transzformációt egyértelműen meghatároz általános állású pont és annak képe.
Tehát síkban 4: legyen és , ekkor megadható P-re:
Transzformációk osztályozása
Nevezetes affin transzformációk
Eltolás
Minden pontot egy adott vektorral eltolunk:
Általában -vel jelöljük
Mátrix alakhoz homogén koordináták kellenek, választással és akkor a következő -es mátrixszal adható meg:
Hiszen ha homogén koordinátáit hasznájuk az pontnak, akkor
Tulajdonságok
Az eltolások az affin transzformációk egy kommutatív részcsoportját alkotják.
A inverze
Forgatás
Forgatás síkban (a tengely körül) szöggel:
Mátrix alakban:
Hasonlóan kaphatjuk meg és síkokon is.
Forgatás mátrixok
tengely körül: tengely körül: tengely körül: ahol és
Tulajdonságok
Az azonos tengely körüli elforgatások az affin transzformációk egy kommutatív részcsoportját alkotják.
A térbeli forgatások felírhatók egyetlen mátrix segítségével. (lineáris transzformáció)
Az eltolás és forgatás sorrendje nem felcserélhető!
A forgatás inverze az eredeti forgatás nagyságával megegyező, de ellentétes irányú elforgatás:
Tetszőleges forgatás
Tetszőleges orientáció előállítható a három forgatás egymás utáni használatával.
Tetszőleges tengely körüli forgatás
Az eddigieket használva:
- toljuk el a forgástengelyt az origóba ()
- forgassuk be az egyik tengely körül a másik kettő síkjába (pl.: )
- ebben a síkban a két tengely közül az egyikkel forgassuk be a másik tengelybe (pl.: )
- végezzük el a forgatást (pl.: -szel, de ez az új \X{\prime\prime} tengely körül forgat!)
- alkalmazzuk az eddigi transzformációk inverzeit
Azaz például:
Tetszőleges tengely körüli forgatás megadható egy egységvektorral, ami
a forgatás tengelyét adja, és egy szöggel.
Ezt írja le a Rodrigues formula, aminek felhasználásával:
Yaw, pitch, roll
Egy objektum függőlege- (yaw), kereszt- (pitch) és hossztengelye (roll) menti elfordulásait egyszerre adjuk meg.
Repüléstanban és robotikában előszeretettel használt megadási mód.
Gyakorlatilag megegyezik azzal, mintha három "közönséges" tengely menti forgatást használnánk.
Csak akkor működik helyesen, ha az objektum tengelyei egybe esnek a koordináta-rendszer tengelyeivel.
Legtöbb API támogatja.
Mozgás-transzformációk
Az eltolások és tengely körüli elforgatások kombinációjaként leírható transzformációkat mozgás-transzformációknak nevezzük.
A tárgyak alakját és méretét nem változtatják.
Méretezés
Az tengelyek mentén "széthúzzuk", vagy "összenyomjuk" az alakzatot, azaz más léptéket választunk.
Mátrix alakban:
Speciális eset: tükrözés
Ha valamelyike negatív
- ha egy negatív: tükrözés az irányra merőleges síkra
- ha kettő negatív: tükrözés egy tengelyre
- ha mindhárom negatív: középpontos tükrözés
Ha páratlan számú negatív együttható van, akkor a sodrásirány is megváltozik!
Az bázisvektorokat felhasználva, ha lineáris transzformáció, akkor
ha egy transzformáció mátrixának determinánsa negatív, akkor a sodrásirány (a tárgyak térbeli irányítása) megváltozik.
Speciális eset: vetítés
Ha valamelyike nulla
- ha egy nulla: az irányra merőleges síkra vetítünk
- ha kettő nulla: egy tengelyre vetítünk
- ha mindhárom nulla: az origóba vetítünk mindent...
A determináns nulla nincs inverz!
Nyírás
Ha például minden pontban az értékeket -vel arányos mértékben módosítjuk:
Általánosan:
Áttérés új koordináta-rendszerre
Tegyük fel, hogy az ortonormált bázisvektorok helyett át akarunk térni az ortonolmárt bázisra (az új bázisvektorok koordinátáit ismerjük a régi bázisban)
Mik lesznek az eddig koordinátákkal azonosított pont koordinátái az új bázisban? Azaz milyen -re teljesül, hogy ?
Ortonormált mátrix inverze a mátrix transzponáltja, így az új koordinátákat adó mátrixunk a következő alakú:
Ha az új origó koordinátája , akkor
Áttekintés
Kommutativitás
A mátrix szorzás nem kommutatív, úgyhogy általaban nem igaz, hogy Ez jó, mivel általában a transzformációk sem kommutatívak.
Transzformációs mátrixok determinánsai
A méretezésnél láttuk, hogy ha egy vagy három együtthatója negatív a transzformációnak, akkor az megfordítja a sodrásirányt.
Általános esetre megfogalmazva:
- Ha , akkor a sodrásirány változatlan marad
- Ha , akkor a sodrásirány megfordul
Normálvektorok transzformációja
Legyen egy szakasz a síkban, normálvektorral. Legyen az tengely mentén kétszeres nyújtást leíró transzformáció.
Probléma: -t megkaphatjuk, ha eltranszformáljuk a két végpontját. Mi a helyzet normálvektorával? lesz? Nem!
Vizsgáljuk a normálvektor által megadott érintősík egyenletét!
Legyen az érintősík egy pontja, ekkor akkor és csak akkor van rajta a síkon, ha
Ekkor testzőleges (invertálható) transzformáció mellett:
A skaláris szorzat és a mátrix szorzás szabályai alapján kapjuk, hogy
Azaz a normálvektorokat az mátrix helyett annak inverztranszponáltjával kell szorozni!
Megjegyzés
A sík affin transzformációit egyértelműen meghatározza három független pont és azok képe.
A tér affin transzformációit egyértelműen meghatározza négy független pont és azok képe.
Projektív transzformáció
A színterünk képét akarjuk előállítani: vetíteni egy síkra
Az ember által látott képet nem lehet előállítani affin transzformációk segítségével. A "távolodó" párhuzamosok összetartanak, nem maradnak párhuzamosak.
Ez a látvány előállítható középpontos vetítéssel. Ez a transzformáció a homogén térben lineáris transzformáció.
Az affin transzformációk nem "bántották" az ideális elemeket, a fentiekhez azonban ez "kell".
Általános eset
Ha egy homogén transzformációs mátrix utolsó sora nem , akkor az olyan homogén lineáris transzformáció, ami az euklidészi térnek nem lineáris transzformációja.
Párhuzamos vetítés (ortogonális)
A mátrix ami megadja egyszerű, például síkra való vetítést:
Perspektív transzformáció
Középpontos vetítést valósít meg.
Az origóból a tengely mentén "nézünk" a térre.
A látótérnek egy csonkagúla felel meg.
A transzformáció a szem pozícióban találkozó vetítő egyenesekből párhuzamosakat csinál.
A csonkagúlát egy téglatestté transzformálja.
Paraméterei:
- a gúla függőleges nyílásszöge
- a gúla alapjának az oldalainak az aránya
- a közeli vágósík távolsága
- a távoli vágósík távolsága
Homogén osztás
Mivel egy "valódi" projektív transzformáció utolsó sora nem , ezért transzformáció után, általános esetben.
Ha ezt a pontot az eukleidészi térbe szeretnénk átvinni, akkor végig kell osztanunk -vel (ha ).
Középpontos vetítés
Az origó, mint vetítési középpont és egy, attól a tengely mentén egységre található, síkkal párhuzamos vetítősíkra való vetítés mátrixa: Homogén osztás után (-vel) a fentit kapjuk.
Megjegyzés
A sík projektív transzformációit egyértelműen meghatározza négy független pont és azok képe.
A tér projektív transzformációit egyértelműen meghatározza öt független pont és azok képe.
Transzformációs mátrixok - összefoglalás
Mi történik, ha a vektorunk negyedik koordinátája nulla (vagyis ha vektort azonosít a számegyenes)?
Az eltolás rész nem hat rá!
Figyeljünk: nem mindenhol szoroznak jobbról a vektorral!