1. fejezet - Vektorok (Vectors)

Tartalom

Helyvektorok a térben
Műveletek vektorokkal
Vektorok normalizálása (Normalization)
Vektorok összeadása (Addition)
Két vektor különbsége (Subtraction)
Vektor szorzása számmal (skalárral) (Scalar multiplication)
Két vektor skaláris szorzata (Dot product)
Példák skaláris szorzás használatára
Két vektor vektoriális szorzata (Cross product)
Példák vektoriális szorzat használatára

[105] A vektorokat a legkülönbözőbb összefüggésekben használjuk a komputergrafikában. Használatosak például az árnyalásnál, ahol szükségünk van felület normálisa és a fénysugár iránya által bezárt szögre. A számítógépes játékokban ábrázolhatjuk egy tárgy mozgásának irányát és sebességét is vektorral.

A vektor két jellemző adattal rendelkezik: nagysággal és iránnyal (beleértve az irányítást is). A vektort az iránya különbözteti meg a skaláris mennyiségektől, amelyeknek csak nagyságuk van. Háromdimenziós vektort egy számhármassal írunk le , melynek minden komponense skalár.

1.1. ábra. Vektor - irányított szakasz

A vektor, mint irányított szakasz, abban különbözik a szakaszoktól, hogy valójában két pont kapcsolatát írja le. A vektorok elemi geometriai használata mellett (például: eltolás jellemzése) felmerül az ötlet, hogy vektorokat feleltessünk meg pontoknak. Minden pontot egy ponthoz viszonyítsunk, az irányított szakaszok kezdőpontját közösnek választva. Ennek segítségével a már megismert koordináta-rendszerbeli problémákat egy új szemszögből vizsgálhatjuk meg. Az irányított szakaszokat a végpontjuk koordinátáival jellemezzük.

Bázisvektorok olyan speciális vektorok, melyek lineáris kombinációjával felírhatjuk a tér (sík) bármely vektorát. A bázisvektorok vagy ortogonálisak, ekkor páronként merőlegesek egymásra, normáltak, azaz a vektorok egységnyi hosszúak, vagy teljesítik mindkét előző tulajdonságot, akkor ortonormáltak.

Helyvektorok a térben

[93] Megtehetjük, hogy pontokat egy adott pontból kiinduló vektorokkal határozunk meg. Ehhez egy vonatkozási pontot kell rögzíteni, általában ez megegyezik a koordináta-rendszer origójával. Az origóból induló vektorokat helyvektoroknak nevezzük. A helyvektorok és a sík (tér) pontjai között egyértelmű megfeleltetés van. Valamint a sík (tér) bármely vektorának meg tudunk feleltetni egy vele egyenlő helyvektort. Egy helyvektort végpontjával, illetve végpontjának koordinátáival adhatunk meg. Így a helyvektorok kölcsönösen megfeleltethetők a sík pontjainak.

A vektorokat három adat jellemzi: az irány, az irányítás és a hossz (abszolútérték):

  • Minden pontot egyértelműen megadhatunk egy helyvektorral, amelynek jelölése: . Az i, j, k alapvektorok (bázisvektorok) rendre a koordinátarendszer x-, y-, z- tengelyei irányába mutató egységvektorok.

  • A vektor irányát a vektor irányszögével, vagy annak valamely szögfüggvényével adhatjuk meg. Irányszögeknek a vektor és az egyes tengelyek által bezárt szögeket nevezzük. Ezek koszinuszai az iránykoszinuszok: , , , ahol teljesül az egyenlőség. Az illetve iránykoszinuszokhoz tartozó vektorok egymással bezárt szögére érvényes a összefüggés. Ha , akkor a két irány merőleges egymásra.

    1.2. ábra. A vektor irányszöge

  • Bármely vektor hosszát, abszolútértékét megkapjuk,ha a koordinátáinak négyzetösszegéből négyzetgyököt vonunk:

Műveletek vektorokkal

Vektorok normalizálása (Normalization)

Vektor normalizálása esetén a vektor iránya nem változik, viszont a hossza egy lesz. A normalizált vektort úgy kaphatjuk meg, hogy az eredeti vektort elosztjuk a hosszával:

ahol

Az helyvektor esetén:

Vektorok összeadása (Addition)

Adott két vektor. Az egyik vektor végpontjából indítjuk a másik vektort. Az első kezdőpontjából a második végpontjába mutató vektort a két vektor összegvektorának nevezzük. Több vektor összeadása esetén először két vektort összegzünk, majd az összeghez adjuk hozzá a következő összeadandót.

1.3. ábra. Vektorok öszege

Tulajdonságai:

  • Kommutatív:

  • Asszociatív:

  • Bármely vektorhoz a nullvektort hozzáadva visszakapjuk az eredeti vektort: .

  • Egy a vektorhoz megadható olyan -a vektor, hogy a két vektor összege nullvektor. Az ilyen módon megadott vektort az eredeti vektor ellentettjének nevezzük: .

Helyvektorok esetén az összeadásvektor koordinátáit az egyes vektorok megfelelő koordinátáinak összege adja. Azaz és helyvektorok esetén:

Két vektor különbsége (Subtraction)

Az különbségvektorán az összegvektort értjük, azaz azt a vektort, amelyet úgy kapunk, hogy a-hoz hozzáadjuk b ellentettjét. Ha az a és b vektorokat egy pontból indítjuk ki, akkor a b végpontjából az a végpontjába mutató vektor az .

1.4. ábra. Vektorok különbsége

Tulajdonságai:

  • A kivonás nem kommutatív, és nem asszociatív művelet.

  • Ha nullvektort vonunk ki egy a vektorból, visszakapjuk az a vektort:

  • Ha a nullvektorból vonjuk ki az a vektort, akkor az a vektor ellentettjéhez jutunk:

  • Ha egy vektorból önmagát vonjuk ki a művelet 0 vektort eredményez:

Helyvektorok különbségének koordinátáit az egyes vektorok megfelelő koordinátáinak különbsége adja. Azaz és helyvektorok esetén:

Vektor szorzása számmal (skalárral) (Scalar multiplication)

Adott egy a vektor és egy szám. Az a vektor számszorosán a következő vektort értjük:

  • Ha vagy , akkor

  • Ha és , akkor hosszúságú vektort kapunk, melynek iránya:

    • esetén a-val megegyező,

    • esetén a-val ellentétes.

Tehát egy vektornak egy számmal való szorzata a vektor hosszának növekedését vagy csökkenését vonja maga után.

1.5. ábra. Vektor szorzása

Tulajdonságai:

  • Bármely vektor -val vett szorzata nullvektort eredményez: .

  • A nullvektornak bármely számmal vett szorzata nullvektor: .

Egy helyvektor skalárszorosának koordinátáit a vektor koordinátáinak adott skalárral való szorzásával kapjuk. Azaz helyvektor esetén:

Adottak a és b vektorok, valamint az és valós számok,akkor a velük képzett vektort az a és b vektor lineáris kombinációjának nevezzük, ha , akkor konvex lineáris kombinációról beszélünk. Pl. a szakasz tetszőleges pontjába mutató helyvektor a szakasz kezdő és végpontjába mutató vektorok konvex lineáris kombinációja.

Két vektor skaláris szorzata (Dot product)

Euklideszi térben adott a és b vektorok skaláris szorzata a két vektor hosszának és az általuk közbezárt szög koszinuszának szorzata. Azaz:

Tehát a skaláris szorzat egy valós szám.

A művelet tulajdonságai:

  • Kommutatív:

  • Nem asszociatív: , mivel a szorzás bal oldala az a vektor egy számszorosa, míg a jobb oldal a c vektoré.

  • Számmal való szorzásra asszociatív:

  • Összeadásra nézve disztributív

  • Ha és akkor , azaz a skaláris szorzat egységvektorok esetén megegyezik a közbezárt szög koszinuszával.

Két vektor skaláris szorzata akkor és csak akkor 0, ha a két vektor merőleges egymásra. Tehát ha merőlegesek, akkor skaláris szorzatuk nulla, ha pedig a skaláris szorzatuk nulla, akkor merőlegesek.

A derékszögű Descartes-féle koordináta rendszerben a párhuzamos egységvektorok skaláris szorzatainak értéke egység, míg az egymásra merőleges egységvektorok skaláris szorzatai nulla értéket ad:

A vektorok skaláris szorzatának eredménye a koordináta komponensekkel is megadható, ha figyelembe vesszük az egységvektorok skaláris szorzataira vonatkozó összefüggéseket. Így az és helyvektorok skaláris szorzata a következő alakban írható:

Az irodalomban a skaláris szorzatra a zárójeles ill. az alsópont jelölést is szokás használni:

Példák skaláris szorzás használatára

[105] Két vektor hajlásszögének kiszámítása: A skaláris szorzás legáltalánosabb használata két vektor hajlásszögének a meghatározása. Hajlásszöget számolunk például árnyékolásnál, vagy láthatósági tesztelésnél. Árnyékolásnál a fény irányvektora és a felületi normális szögét számítjuk ki, míg láthatósági vizsgálatnál a nézeti irány, illetve a felületi normális által bezárt szög szükséges.

Használjuk a két vektor különbségére a koszinusz-tételt. Ebből azt kapjuk, hogy:

ahol a két vektor által bezárt szög.

Valamint a négyzetre emelést elvégezve teljesül, hogy

ezért fennáll az

egyenlőség, amiből átrendezéssel az alábbi összefüggést kapjuk:

Ami pontosan azt jelenti, hogy két vektor hajlásszögének koszinuszát megkaphatjuk a normalizált vektoraik skalárszorzatával.

Vektornak egy másik vektorra történő merőleges vetítése: A skaláris szorzat másik alkalmazása vektornak egy másik vektorra történő vetületének megadása. Adott egy b egységvektor. Az a vektornak szeretnénk a b vektorra történő vetületét megadni, az eredményvektort jelöljük a’-vel. Ekkor azt kapjuk, hogy

mivel

Tehát az a és b vektorok skaláris szorzata megegyezik az a vektornak a b vektorra vonatkozó vetületének hosszával.

1.6. ábra. Az vektor merőleges vetülete a vektorra

A skaláris szorzat előjele: A közbezárt szög jellemzésére szolgál a skaláris szorzat előjele. Két vektor skaláris szorzatának előjelét a közbezárt szögük koszinusza határozza meg

Két vektor vektoriális szorzata (Cross product)

Két vektor vektoriális szorzata vektort eredményez. Az a és b vektorok vektoriális szorzatának azt a v vektort tekintjük, amelynek az hosszúsága az a és a b vektorok által kifeszített paralelogramma területével egyenlő, iránya merőleges mind az a, mind a b vektorra, olyan irányítással, hogy az a, b és v vektorok jobbsodrású hármast alkotnak. Ezért vektoriális szorzattal lehet a legegyszerűbben két vektorra merőleges vektort megadni.

1.7. ábra. Vektoriális szorzat

1.8. ábra. A vektoriális szorzat hossza:

Tulajdonságai:

  • Antikommutatív:

  • Az összeadásra nézve disztributív:

    Mivel a vektoriális szorzat nem kommutatív, ezért mindkét alak felírására szükség van.

  • Skalárral való szorzás:

  • Nem asszociatív:

  • Teljesíti a Jacobi azonosságot:

  • Az a vektornak az e egységvektorra merőleges összetevője előáll alakban.

Két vektor vektoriális szorzata akkor és csak akkor nullvektor, ha a két vektor párhuzamos.

A derékszögű, Descartes-féle koordináta-rendszerben a párhuzamos egységvektorok vektoriális szorzatai nulla hosszúságú vektorokat eredményeznek, míg az egymásra merőleges egységvektorok vektoriális szorzatai mindkét vektorra merőleges, egységnyi hosszúságú, egységvektorokat adnak.

Az és vektorok vektoriális szorzatát a legegyszerűbben a következő mátrix determinánsának kiszámításával (Sarrus-szabály) kapjuk:

Példák vektoriális szorzat használatára

[105] Poligon felületi normálisa: A grafikában kitüntetett szerepe van azoknak a vektoroknak, melyek merőlegesek egy felületre. Egy testet határoló poligon (sokszögvonal) normálvektora a poligon három pontja segítségével számítható ki. Három pont két vektort és definiál, melyek vektoriális szorzatából előállítható a felületi normálisa a következő alakban:

1.9. ábra. Poligonlap normálvektora

Amikor meghatározzuk egy adott poligon felületi normálisát, akkor a vektoriális szorzatnak a poligont tartalmazó test szempontjából kifelé kell mutatnia. Egy jobbsodrású rendszerben a vektoriális szorzat követi a jobbkézszabályt. Ha a hüvelykujj és a mutatóujj a , illetve vektor irányába mutat, akkor a iránya megegyezik a középsőujj irányával.

Görbe felületi normálisa: Amennyiben a felszín egy másodrendű paraméteres (bicubic parametric) görbe, akkor a normálvektor iránya folyamatosan változik a felületen. Valamelyik (u, v) pontban kiszámítjuk a felületi normálist a vektoriális szorzás segítségével. Ehhez szükséges ebben a pontban az érintősíkot kifeszítő két érintővektor. Amennyiben a felszínt a Q(u,v) függvény állítja elő, akkor a két érintővektor a parciális deriváltak segítségével áll elő

illetve

alakban. Tehát a felületi normálist ezen két parciális derivált vektoriális szorzataként definiálhatjuk:

1.10. ábra. Felületi normális