Vektorid II Analüütiline geomeetria 3D Modelleerimise ja visualiseerimise erialale
Vektorid Vektorid on arvude järjestatud hulgad (s.t. iga komponendi väärtus ja positsioon hulgas on tähenduslikud) Vektori geomeetriline tähendus võib olla kas punkt või suunavektor Vastavalt ruumi dimensioonile kasutatakse kahe (2D pind), kolme (3D ruum) või neljakomponendilisi vektoreid Vektorite jaoks on defineeritud seeria standardtehteid pikkus, korrutamine arvuga, liitmine, skalaar- ja vektorkorrutised Vektoralgebra abil on lihtne 3D geomeetria arvutusi formaliseerida Arvutis nimetatakse vektoriks (üldjuhul) neljast numbrilisest registrist koosnevat üksust, millega tehted tehakse ühe operatsioonina.
Vektori normaliseerimine Vektori normaliseerimiseks nimetatakse tema teisendamiseks samasuunaliseks ühikvektoriks V = V V Normaliseerimist on 3D geomeetrias vaja väga laialdaselt Pinnanormaalid ja koordinaatsüsteemi baasvektorid peavad olema ühikvektorid Arvutused annavad paljudel juhtudel õige suuna, aga suvalise pikkusega vektori mis tuleb seejärel normaliseerida
Vektorite skalaarkorrutis Kahe vektori skalaarkorrutis on arv, mis võrdub nende komponentide korrutiste summaga A=( A x, A y, A z ) B=(B x, B y, B z ) A B=(A x B x +A y B y +A z B z ) Skalaarkorrutis on arv (kui jutt käib vektoritest, nimetatakse üksikuid arve skalaarideks) Skalaarkorrutis on määratud kõigi vektorruumide jaoks (1D, 2D, 3D...)
Skalaarkorrutis II Skalaarkorrutis võrdub vektorite pikkuste ja nendevahelise nurga koosinuse korrutisega A B=Ā B cos(α) Siit on näha, et: Kahe ristiasetseva vektori skalaarkorrutis on 0 Vektori skalaarkorrutis iseendaga on tema pikkuse ruut Vektori skalaarkorrutis vastassunalise vektoriga on negatiivne A α B C β D A B > 0 C D < 0
Geomeetriline tähendus Kui üks vektoritest on ühikvektor, siis tema ja suvalise teise vektori skalaarkorrutis on vastava vektori projektsioon selle ühikvektori suunale U α V V U Vektori U skalaarkorrutise väärtus ühikvektoriga V võrdub tema projektsiooniga V suunalisele sirgele
Skalaarkorrutise kasutamine Leida nurk kahe numbriliselt antud vektori vahel α=acos( A B Ā B ) Näiteks kontroll, kas objekt jääb tegelase vaatevälja Teisendada vektor ühest koordinaatsüsteemist teise A'=(V x A,V y A,V z A) Siin V x, V y, V z on uue koordinaatsüsteemi baasvektorid vana koordinaatsüsteemi suhtes Leida vektori projektsioon Näiteks jõu projektsioon teljele füüsikaarvutustes Arvutada pinnavalgustus Valgustus on võrdeline valguse langemisnurga koosinusega
Vektorkorrutis Vektorkorrutis (cross product) on vektor, mille komponendid on määratud tegurite komponentidega A=(A x, A y, A z ) B=(B x, B y, B z ) A B=(A y B z B y A z, A x B z B x A z, A x B y B x A y ) Vektorkorrutis (nagu nimigi ütleb) annab tulemuseks vektori Vektorkorrutis on määratud ainult kolmemõõtmelises ruumis Vektorkorrutis on antikommutatiivne A B= ( B A) Vektorkorrutise skalaarkorrutis emma-kumma teguriga on 0 (s.t. vastav vektor on riski mõlema teguriga) Samashiliste vektorite vektorkorrutis on 0
Geomeetriline tähendus Vektorkorrutis on risti mõlema vektoriga ja tema pikkus on võrdeline vektoritevahelise nurga siinusega Vektorid A, B ja AxB moodustavad parema käe kolmiku Kahe omavahel risti asetseva ühikvektori vektorkorrutis on ühikvektor need kolm vektorit kokku moodustavad ortonormaalse koordinaatsüsteemi Seda omadust saab kasutada koordinaatsüsteemi konstrueerimiseks kahe suuna järgi Z=XxY Y=ZxX O X = YxZ
Koordinaatsüsteemi leidmine (Blenderi track to) y= z x x=norm( up z ) up z= d d d OpenGL rakendustes on normiks, et kaamera vaatab piki z telge Kõigepealt leiame suunavektori d (kaamera asukohast sihtpunkti) Suunavektori ja üles-vektori vektorkorrutise abil leiame x vektori Viimasena leiame y vektori
Koju kaasa Vektori normaliseerimine Skalaarkorrutis annab tulemuseks arvu Skalaarkorrutise valemid Skalaarkorrutise geomeetriline tähendus projektsioon Vektorkorrutis annab tulemuseks vektori Vektorkorrutis on risti mõlema teguriga Vektorkorrutis võimaldab konstrueerida koordinaatsüsteemi