Ugrás a tartalomhoz

Komputergrafika -- Matematikai alapok

Dr. Kovács Emőd

Kempelen Farkas Hallgatói Információs Központ

5. fejezet - Ponttranszformációk (Linear transformation)

5. fejezet - Ponttranszformációk (Linear transformation)

Ponttranszformáción olyan megfeleltetést értünk, mely az alakzat minden egyes pontjához egyértelműen hozzárendel egy pontot. Olyan eljárásoknál kell ezt alkalmazni, amelyekben a tárggyal összefüggésben annak valamilyen hasonmása keletkezik. Tipikus példa erre minden leképezési folyamat (például a fényképezés), ahol a tárgyhoz, annak egyes pontjaihoz egy kép pontjait rendeljük. Ide értjük azokat az eseteket is, amikor a tárgy deformációkat szenved. Az általunk tárgyalt legbővebb transzformáció a projektív transzformáció.

A térbeli ponttranszformációk általános alakja, ahol p a transzformálandó, p’ a transzformált pontba mutató helyvektor, pedig a -es transzformációs mátrix:

ahol

Először az úgynevezett elemi transzformációkat tárgyaljuk, ezekből lehet összetett transzformációkat létrehozni. Minden transzformáció esetén megadjuk az inverz transzformációt is. A leírásnál elsősorban Juhász Imre könyvére támaszkodunk (lásd [48], [96]).

Egybevágósági transzformáció (Congruence transformation)

Azokat a transzformációkat, ahol bármely szakasz képe ugyanolyan hosszúságú szakasz egybevágósági transzformációnak nevezzük. Ilyen tulajdonságú transzformáció az identitás, az elforgatás, az eltolás és a tükrözés. Az eltolást és elforgatást összefoglalóan mozgásnak szokás nevezni, ugyanis ilyen esetben van olyan térbeli „mozgás” amivel az egybevágó alakzatok egymással „fedésbe” hozhatók. Az egybevágósági transzformációk közös jellemzője, hogy a reprezentáló mátrixok bal felső -as minor mátrixa ortonormált mátrix –azaz sorai és oszlopai páronként merőleges egységvektorok– és determinánsa mozgás esetén 1, tükrözésnél pedig -1.

Identitás (Identity)

Az identitás esetén minden ponthoz önmagát rendeljük hozzá, tehát a pontok koordinátái nem változnak. Itt a tárgy mozdulatlan.

Eltolás (Translation)

Az eltolás esetén a P ponthoz megadott irányban és távolságban levő P’ pontot rendeljük hozzá. Ez esetben az eltolást egy vektorral adhatjuk meg. Legyen a vektor koordinátája

5.1. ábra. Síkbeli eltolás.[108]

A P’ pont koordinátáját megkapjuk, ha a P pont megfelelő koordinátáihoz hozzáadjuk a d vektor megfelelő koordinátáit:

Ugyanez homogén koordinátás alakban és mátrix szorzással felírva:

adódik az eltolás mátrixa illetve inverze:

Az eltolás hatására a tárgy önmagával párhuzamosan a d vektornak megfelelő irányba és távolságra tolódik el.

Forgatás (Rotation)

Térbeli forgatásnál szükség van egy e egyenesre, mely körül forgatunk, valamint egy (theta) szögre, hogy milyen mértékkel. Az egy irányított szög, ami azt jelenti, hogy pozitív szög esetén az óramutató járásával ellentétesen, míg negatív szög esetén az óramutató járásával megegyezően forgatunk. Egyenes körüli elforgatás esetén az egyenes pontjai fixpontok, azaz a forgatás során a képpont megegyezik az eredeti ponttal. Ha a P pontot az e egyenes nem tartalmazza, akkor a képe az a P’ pont lesz, melyre teljesül, hogy P és P’ pontnak az e egyenestől vett távolsága megegyezik, valamint PeP’ szög nagysága és iránya a megadott szög.

A legegyszerűbb, ha a forgatás tengelyének valamelyik koordináta-tengelyt választjuk. Amennyiben a z tengelyt választjuk, akkor a pontnak és a képpontnak a z tengelytől vett távolsága nem változik. Ezen térbeli elforgatás visszavezethető egy origó körüli síkbeli elforgatásra, ahol az elforgatás szöge megegyezik a térbeli elforgatás szögével. Síkbeli elforgatás esetén pedig:

5.2. ábra. Síkbeli elforgatás.[107]

Ennek megfelelően a z tengely körüli elforgatás mátrixa:

Ha az elforgatás tengelyének az x vagy az y tengely valamelyikét választjuk, akkor a mátrix a következőképpen módosul:

Vegyük észre, hogy az y tengely körüli forgatás esetén a főátló felett a előjele pozitív ellentétben a másik két forgatással! A forgatás pozitív irányát úgy határozzuk meg, hogy a forgástengelynek kiválasztott koordináta tengely pozitív oldaláról nézünk az origóba. A forgás tengely pontonként fix, tehát a másik két tengely elforgatásánál vesszük figyelembe, hogy az óramutató járásával megegyező, vagy ellentétes irányba forgatunk. Az óramutató járásával ellentétes irányt (counter clock-wise) nevezzük pozitív illetve a megegyező irány (clock-wise)negatív forgatásnak. Tehát így értelmezhetünk negatív forgatási szöget is. A forgatás inverzét megkaphatjuk, ha a szög ellentétét használjuk, azaz a forgatás mátrixában a helyett -t, míg helyett -t írunk:

Forgatási mátrix esetében az inverz mátrix megegyezik (otrogonális mátrixok) a transzponált mátrixszal:

Tükrözés (Reflection)

A térbeli tükrözés esetén szükség van egy s síkra, amelyre vonatkoztatva végezzük el a tükrözést. A tér egy P pontjához úgy rendeljük hozzá a képét, hogyha P illeszkedik az s síkra, akkor a képe önmaga; ha a P nem illeszkedik az s síkra, akkor azt a P’ pontot rendeljük hozzá, amelyre fennáll, hogy a P-P’ szakasz felezőmerőleges síkja az s sík.

Elemi tükrözési transzformációk esetén a tükrözést a koordinátasíkokra hajtjuk végre. Ha az (x,y) síkra történik a tükrözés, akkor a pontnak az x, valamint y tengelytől való távolsága nem változik, viszont a z tengelytől való távolsága az ellentéte lesz az eredeti ponthoz tartozónak. Ennek megfelelően ennek a tükrözésnek a mátrixa:

Az (y,z), valamint (x,z) síkokra vonatkozó tükrözésnél - ugyanilyen gondolatmenet alapján – az első, illetve a második oszlopban lesz -1.

A tükrözés inverzének mátrixa megegyezik a tükrözés mátrixával. Ez abból következik, hogyha egy pontot ugyanarra a síkra nézve kétszer tükrözünk, akkor a kétszeres tükrözést követően visszakapjuk az eredeti pontot.