I. rész - vektorok háromdimenziós térben

Vektorok háromdimenziós térben

A geometriai ábrázolása a vektor irányított vonalszakasz, ábrán látható. 1. Minden vektor két tulajdonságokkal: hossza (más néven modul vagy vektor norm) és irányát. Ennek köszönhetően a vektorok nagyon hasznos modellezésére fizikai mennyiségeket, amelyeket az jellemez, nagyságát és irányát. Például a 14. fejezetben fogunk rendszert valósítsanak részecskéket. Ebben az esetben fogjuk használni vektorok szimulálni a sebesség és a gyorsulás a részecskéket. Másrészt a vektorok gyakran csak szimuláció az irányt, háromdimenziós számítógépes grafika. Például, gyakran kell adni a terjedési irányát a fénysugarak, a tájékozódás az arc vagy az irányt a kamera, nézte a háromdimenziós világban. Vektor biztosítják a kényelmes mechanizmust a irányát a háromdimenziós térben.

I. rész - vektorok háromdimenziós térben

Ábra. 1. A szabad vektorok határozzák függetlenül a koordinátarendszer

Mivel a hely nem jellemző vektor, két vektor egyenlő hosszú és mutatóeszköz ugyanabba az irányba tekinthető egyenlőnek, ha azokat különböző helyeken helyezkednek el. Felhívjuk figyelmét, hogy ez a két vektor párhuzamos egymással. Például, ábrán. 1 vektorok u és v értéke egyenlő.

Ábra. Az 1. ábra szerint obsuzhdnie vektorok végezhető hivatkozás nélkül a koordináta-rendszer, az összes vonatkozó információt - hossza és iránya - a vektor. A kiegészítés a koordinátarendszer nem ad semmilyen információt a vektor inkább azt mondhatjuk, hogy a vektor értékeit, amelyek szerves része, csak le: egy adott koordinátarendszerben. És ha megváltoztatjuk a koordináta-rendszer, akkor csak le ugyanazt vektor képest a másik rendszert.

Tudomásul véve ezt a fontos kérdést, haladunk tovább a tanulmány a leírt vektorok bal oldali háromdimenziós derékszögű koordinátarendszerben. Ábra. A 2. ábrán a bal oldali és a jobb oldali koordináta-rendszerben. A különbség a kettő között - a pozitív irányba Z tengely koordináta-rendszerében a bal oldali Z tengely pozitív irányában elmerül az oldalon. A jobb oldali koordinátarendszer pozitív irányába Z tengely irányul az oldalról.

I. rész - vektorok háromdimenziós térben

Ábra. 2. A bal balkezes koordinátarendszerben. Megjegyezzük, hogy a pozitív iránya a Z tengely irányul mélyen az oldalt. A jobb oldalon látható a jobbkezes koordinátarendszerben. Itt, a pozitív iránya a Z tengely ellentétes irányban van az oldal

Mivel a helyét a vektor nem változik a tulajdonságait, hogy tudunk mozogni a vektort úgy, hogy a felső mindegyikük az eredete a kiválasztott koordinátarendszerben. Amikor az elején a vektor eredetét, azt mondják, hogy a vektor egy alap helyzetbe. Így, ha a vektor a normál helyzetben, tudjuk leírni megadásával csak a koordinátákat a végpontot. Fogjuk hívni ezeket a koordinátákat vektor komponensek. Ábra. A 3. ábra a vektorok ábrán látható. 1, ami átkerült az általános pozícióba.

I. rész - vektorok háromdimenziós térben

Ábra. 3. Vektor egy standard meghatározott pozícióban az említett koordináta-rendszerben. Felhívjuk figyelmét, hogy a vektorok u és v azonosak egymással, mert az egyenlő

Mivel mi leírja van a normál helyzetben vektor jelezve végpontját, mintha már le egy pontot, akkor könnyű összekeverni a pont és vektor. Ahhoz, hogy kiemelje a különbségeket e két fogalom között, megint ad a meghatározását mindegyikre. Az ábra csak a hely pont a koordináta-rendszerben, míg a vektor írja le a nagyságát és irányát.

Fogjuk használni annak jelölésére, vektorok félkövér kisbetűk, de néha fogja használni merész és nagybetűket. Itt egy példa a két-, három- és négy-dimenziós vektorok, rendre: u = (. Ux uy), N = (.. Nx Ny Nz), c = (cx cy cz cw ...).

Most fogjuk be a négy speciális háromdimenziós vektor, ábrán látható. 4. Az első ezek közül az úgynevezett nulla vektor. és az értékek az összes komponense nullával egyenlő; Jelöljük a látható vektor félkövér nulla: 0 = (0, 0, 0). A következő három különleges egység vektor úgynevezett bázis vektorok (alapegység vektorok) háromdimenziós koordinátarendszerben. Ezek a vektorok mentén irányul tengelyek X, Y és Z koordinátáinak rendszerünk fogunk hívni i. J és K, ill. Modul E vektorok egyenlő egységet, és a definíció a következő: i = (1, 0, 0), J = (0, 1, 0), k = (0, 0, 1).

I. rész - vektorok háromdimenziós térben

Ábra. 4. A nulla vektor és alapegység vektorok a három-dimenziós koordináta-rendszer

Vektor, amelynek hossza megegyezik az egyik az úgynevezett egység vektor vagy egységvektor.

A D3DX könyvtár képviselni vektorok háromdimenziós térben, fel tudjuk használni az osztály D3DXVECTOR3. Meghatározása a következő:

Vegye figyelembe, hogy D3DXVECTOR3 örökli komponensek D3DVECTOR. amelyek definíciója a következőképpen néz ki:

Csakúgy, mint a skalár értékeket a vektorok saját aritmetikai, amint az a létezését leírásai matematikai műveletek meghatározásában D3DXVECTOR3 osztályban. Talán most már nem tudom, mi ezeket a módszereket. A következő szakaszok figyelembe vesszük ezeket a műveleteket vektorokkal, más támogató funkciók működnek vektorok D3DX könyvtár és néhány fontos jellemzői a feldolgozás vektorok.

Bár a fő érdeke, hogy nekünk vannak a vektorok háromdimenziós térben, ezzel a háromdimenziós grafika programozás, néha foglalkozni vektorok kétdimenziós és négy dimenziós tér. D3DX könyvtár osztályok és D3DXVECTOR2 D3DXVECTOR4. hivatottak vektorok kétdimenziós és négy-dimenziós térben, ill. A vektorok a terek eltérő számú mérések ugyanolyan tulajdonságokkal, mint vektorok háromdimenziós térben, azaz - hossza és iránya, különbözik csak a mérések száma. Ezen túlmenően, a matematikai műveleteket vektorok, kivéve a vektor termék (lásd. „Cross termék” részben később ebben a fejezetben), melyet csak a háromdimenziós koordinátarendszer általánosítható bármilyen dimenzióban vektorok. Így, kivéve a kereszt termék, az összes műveletet, hogy megbeszéljük vektorok háromdimenziós térben, alkalmazni vektorok egy kettő, négy és még n-dimenziós terek.

egyenlőség vektorok

A geometria a két vektor tekinthető egyenlőnek, ha ugyanabba az irányba, és azonos hosszúságú. Az algebra, azt mondjuk, hogy a vektorok megegyezik, ha azonos számú mérés és a hozzájuk tartozó alkatrészek egyenlő. Például, (UX. Uy. Uz) = (vx. Vy. Vz), ha ux = vx. uy = VY és uz = vz.

A kód segítségével tudjuk tesztelni, hogy a két vektor egyenlő a túlterhelt operátorral:

Hasonlóképpen, azt látjuk, hogy a két vektor nem egyenlő a túlterhelt egyenlőtlenség áll fenn:

Összehasonlítva lebegőpontos számok nagyon pontosnak kell lennie, mivel a kerekítés miatt hibák, két lebegőpontos számok, amelyek értéke eléri, kismértékben változhatnak. Emiatt ellenőrizzük a közelítő egyenlőség a lebegőpontos számokat. Ahhoz, hogy ezt megtehessük, meg egy állandó Epsilon. amelynek nagyon kis érték, amely szolgál majd egy „puffer”. Azt kell mondani, hogy két szám körülbelül egyenlő, ha a köztük lévő különbség kisebb, mint Epsilon. Más szóval, epszilon ad nekünk egy bizonyos tolerancia hiba kerekítést a lebegőpontos számok. A következő függvény szemlélteti, hogyan Epsilon lehet használni, hogy ellenőrizze az egyenlő két lebegőpontos: nem szükséges aggódni dolgozik D3DXVECTOR osztályban. mert a túlterhelt összehasonlító operátorok mindent meg fog tenni nekünk, de nagyon fontos tudni az adott összehasonlítás lebegőpontos számok.

Vektor számítási modul

A geometria a modul a vektor hossza az irányított vonalszakasz. Az algebra, ismerve a komponensek a vektor tudjuk számítani a készülék a következő képlet segítségével:

Függőleges vonalak a | u | u jelöli a modul.

A kód a kivonást két vektor fogjuk használni a túlterhelt kivonás üzemeltetője:

Amint az ábrán. 6, a művelet visszatér vektor kivonása vektorok, a kezdete, amely egybeesik a végén a v vektor. és a végén - a végén a vektor u. Ha úgy értelmezzük a komponensek u és v a pontok koordinátáinak, a kivonás eredménye egy vektor irányított egyik pontból a másikba. Ez egy nagyon kényelmes kezelés, ahogy gyakran meg kell találni a vektor leírja az irányt az egyik pontról a másikra.

Szorzás egy vektor egy skalár

Mint látható a szakasz címét, akkor szorozzuk vektor egy skalár, vektort eredményező méretezés. Ha a skála faktor pozitív, a vektor iránya nem változik. Ha a faktor negatív, a vektor irány megfordul (fordított).

D3DXVECTOR3 osztály biztosítja az üzemeltető szorzás skalár vektor:

A skaláris szorzata két vektor

Skaláris termék - ez az első két meghatározott vektor algebra szorzás. Az ilyen termék a következőképpen számítjuk ki:

A fenti képletben nem nyilvánvaló geometriai értelmezést. A koszinusz tétel 1 megkapjuk arányban u × v = | u || v | cos j. azzal, hogy a dot termék két vektor egyenlő a termék a koszinusz közötti szög a vektorok a vektorban modulok. Ezért, ha u és v - egység vektorok és skalár szorzata megegyezik a koszinusza a köztük lévő szög.

Íme néhány hasznos tulajdonságai skalárszorzat:

  • Ha u × v = 0, akkor u ^ v.
  • Ha u × v> 0, j szöget jelenti a két vektor közötti kisebb, mint 90 fok.
  • Ha u H v <0, значит угол j между двумя векторами больше 90 градусов.

* Szimbólum jelzi a „ortogonális” vagy (ekvivalens) „merőleges”.

Kiszámításához a dot termék két vektor D3DX könyvtár az alábbi függvény:

vektor termék

A második forma szorzás, meghatározott vektor algebra egy vektor termék. Ellentétben a skalár termék, melynek eredménye egy szám, az eredmény lesz a vektor termék a vektor. A vektor terméke két vektor u és v egy másik vektor, p. amely kölcsönösen merőleges a vektorok u és v. Ez azt jelenti, hogy a vektor merőleges a vektor u p és p egyidejűleg vektor merőleges vektor v. A

Számítsuk ki a kereszt terméket a következő képlet:

A testforma kiszámítása a következőképpen néz ki:

I. rész - vektorok háromdimenziós térben

Számítsuk J = k × i = (0, 0, 1) × (1, 0, 0), hogy ellenőrizze, hogy a vektor j merőleges mind a vektor i. és a vektor k.

Így, J = (0, 1, 0). Emlékezz az előző fejezetben „skaláris szorzata vektorok,” azt mondta, hogy ha u × v = 0, akkor u ^ v. Mivel J × k = 0 és j H i = 0, tudjuk, hogy a vektor j merőleges mind a vektor k. és a vektor i.

Kiszámításához a kereszt termék két vektor D3DX könyvtár az alábbi függvény:

Amint az ábrából nyilvánvaló. 7, vektor -p is egymásra merőleges vektorok u és v. Melyik vektorok, P vagy -p kerül vissza, mint eredményeként a vektor termék sorrendje határozza meg az operandusok. Más szóval, u × v = - (v × u). Ez zanachit, hogy a vektor termék művelet nem kommutatív. Határozza meg, hogy melyik vektor kerül vissza ennek eredményeként, akkor a bal kéz szabályt. (Mi használja a bal kéz szabályt, mivel dolgozik balkezes koordinátarendszerben, ha lenne egy jobbkezes koordináta-rendszerben, akkor kell használni a jobb kéz szabályt ..) Ha a hely az ujjak a bal oldali mentén az első vektort és a tenyér - végig a második hajlított 90 fok hüvelykujjával jelzi az irányt a kapott vektor.

1 cosinus tétel határozza meg a kapcsolatot oldalai között, és egy háromszög szögei. Ez kimondja, hogy minden háromszög négyzet oldalhossza egyenlő az négyzetösszege a másik két oldal nélkül a kettős terméket a oldalainak hossza a koszinusza a köztük lévő szög. Ha ez a szög egyenes, a koszinusz tétel belép a Pitagorasz-tétel, mert közvetlen koszinusza szög 0.

Kapcsolódó cikkek