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

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

perspektív transzformáció

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!

transzformációs mátrixok felépítése

Források