TAMPEREEN YLIOPISTO Kandidaattitutkielma Anjuli Pullinen Kvaternioiden algebraa ja sovellus rotaatioissa Informaatiotieteiden yksikkö Matematiikka Maaliskuu 16
Sisältö 1 Johdanto 3 Kvaternioiden algebrallisia ominaisuuksia.1 Tarvittavien käsitteiden määritelmiä.................. Kvaterniot on vinokunta....................... 6 3 Kvaterniot rotaatioissa 1 3.1 Rotaatio vektoriesitysmuodon tulona................. 1 3. Rotaatio matriisitulona........................ 13 Lähteet 16
1 Johdanto Vuonna 183 irlantilainen matemaatikko sir William Rowan Hamilton oli yrittänyt jo yli vuosikymmenen ajan kehittää kolmiulotteiseen avaruuteen R 3 samankaltaista algebrallista rakennetta kuin kompleksiluvut ovat kaksiulotteisessa avaruudessa R. Saman ongelman kanssa olivat kamppailleet myös mm. matemaatikot Gauss, Grassman ja Möbius. Kolmiosainen, imaginääriyksiköitä sisältävä luku a + bi + c j ei ollut osoittautunut toimivaksi ratkaisuksi. Vihdoin lokakuussa 183 Hamilton koki suuren oivalluksen: kompleksilukuja mukaileva, kolmiulotteisen avaruuden ilmiöitä kuvaava luku löytyisikin avaruudesta R. Hintana oli kuitenkin se, että eräästä kompleksilukujen algebrallisesta ominaisuudesta oli luovuttava. Nimittäin kvaternioiden kertolasku ei ole vaihdannainen. Kvaternioista tuli matematiikan historian ensimmäinen vinokunta, jonka kertolasku ei kommutoi. Sittemmin muitakin vastaavia rakenteita on löytynyt - esimerkiksi oktoniot, jotka löytyvät avaruudesta R 8 ja laajentavat edelleen kvaternioiden lukujoukkoa. Lähdin laatimaan tutkielmaani kvaternioista, sillä olen työskennellyt pelialalla ja kohdannut tuolloin kvaterniot kolmiulotteisen avaruuden rotaatioiden yhteydessä, jotka ovatkin kvaternioiden tunnetuin sovellus. Esittelen tutkielmassani kvaternioiden algebrallisia ominaisuuksia sekä niiden sovellusta kolmiulotteisen avaruuden rotaatioissa. Kvaterniot on mahdollista esittää monilla eri tavoilla, jotka ovat keskenään isomorfisia, ja kvaternioiden kertolaskun tuloksen voi tuottaa monen eri algoritmin avulla. Esittelen tutkielmassani kolme erilaista esitystapaa kvaternioille. 3
Kvaternioiden algebrallisia ominaisuuksia.1 Tarvittavien käsitteiden määritelmiä Tässä alaluvussa määrittelemme kvaternioiden lukujoukon sekä yhteen- ja kertolaskuoperaatiot kvaternioiden joukossa. Näiden jälkeen määrittelemme vielä eräitä kvaternioiden erikoistapauksia, joita tarvitsemme toisessa luvussa, kun sovellamme kvaternioita rotaatioissa. Määritelmä.1. (vrt. [1, s. 53]) Määrittelemme kvaternion lukuna q, joka toteuttaa seuraavat ehdot. 1. q = a + bi + c j + dk, a, b, c, d R,. i = j = k = i jk = 1. Merkitsemme kvaternioiden lukujoukkoa H:lla: H = {a + bi + c j + dk a, b, c, d R} Merkitsemme etenkin rotaatioiden yhteydessä kvaterniota q = a + bi + c j + dk myös q = [s, v]:llä, missä s = a ja v = (b, c, d) R 3. Myöhemmin, kun olemme määritelleet yhteen- ja kertolaskuoperaatiot kvaternioiden joukossa, osoitamme, että struktuurit (H, +, ) ja ({[a, v] a R, v R 3 }, +, ) ovat isomorfiset. Kutsumme lukua a kvaternion reaaliosaksi ja lukua bi + c j + dk sen imaginääriosaksi. Imaginääriosaa voimme kutsua myös vektoriosaksi, kun merkitsemme sitä järjestetyllä kolmikolla (b, c, d) R 3. Huomautus 1. Voimme käyttää erilaisia esitystapoja kvaternioille. Tässä luvussa käytämme lähinnä yllä esitettyä muotoa q = a + bi + c j + dk. Kutsumme tätä esitysmuotoa kvaternion imaginääriesitykseksi, koska se sisältää imaginääriyksiköitä, joita muut käyttämämme esitysmuodot eivät sisällä. Luvussa 3 tutustumme tarkemmin kvaternioiden muihin esitysmuotoihin. Määritelmä.. Olkoot q 1 = a 1 + b 1 i + c 1 j + d 1 k H ja q = a + b i + c j + d k H
kvaternioita. Määrittelemme kvaternioiden q 1 ja q summan seuraavasti. q 1 + q = (a 1 + a ) + (b 1 + b )i + (c 1 + c ) j + (d 1 + d )k. Määrittelemme kvaternioiden q 1 ja q tulon seuraavasti. q 1 q = (a 1 a b 1 b c 1 c d 1 d ) + (a 1 b + b 1 a + c 1 d d 1 c )i + (a 1 c + c 1 a + d 1 b b 1 d ) j + (a 1 d + d 1 a + b 1 c c 1 b )k. Merkitsemme tuloa q 1 q myös lyhyemmin q 1 q :lla. Huomautus. Kvaternioiden yhteen- ja kertolaskuoperaatioiden idea on samanlainen kuin kompleksilukujen yhteen- ja kertolaskun idea. Kvaternioiden q 1 = a 1 + b 1 i + c 1 j + d 1 k ja q = a + b i + c j + d k tulon muistisääntönä toimii ajatus reaalisesta tulosta q 1 q, jossa i, j ja k ovat reaalisia muuttujia. Kun olemme kirjoittaneet tämän tulon auki, korvaamme muuttujien i, j ja k väliset kertolaskut seuraavilla laskusäännöillä: i = j = k = 1, i j = k, jk = i, ki = j, ji = k, k j = i, ik = j. Tuloa auki kirjoiettaessa tulee muistaa, etteivät muuttujien i, j ja k väliset tulot ole vaihdannaisia, eli meidän on säilytettävä tulokaavassa näiden muuttujien keskinäinen järjestys. Ne eivät siis käyttäydykään aivan kuten reaaliset muuttujat. Näiden yllä määriteltyjen laskusääntöjen paikkansapitävyyttäkään emme tietenkään voi määrittää ennen kuin olemme määrittäneet kertolaskun. Voimme upottaa joukon R joukkoon H injektiokuvauksella f : R H, f (a) = a + i + j + k. Kuvaus f säilyttää laskusäännöt, sillä f (a) + f (b) = f (a + b) ja f (a) f (b) = f (ab) aina, kun a, b R. Täten struktuurit (R, +, ) ja ({q q = a+i+ j+k H}, +, ) ovat isomorfiset. Tästedes samaistamme suoraan reaaliluvun a sellaisen kvaternion kanssa, jonka reaaliosa = a ja jonka imäginääriosa =. Voimme upottaa myös joukon R 3 joukkoon H injektiokuvauksella f : R 3 H, f (v) = [, v]. Myös tämä kuvaus säilyttää laskusäännöt, joten struktuurit (R 3, +, ) ja ({q q = [, v] H}, +, ) ovat isomorfiset. Tästedes samaistamme suoraan vektorin v R 3 sellaisen kvaternion kanssa, jonka reaaliosa = ja jonka vektoriosa = v. Määritelmä.3. (vrt. [1, s. 58] Kutsumme puhtaaksi kvaternioksi sellaista kvaterniota p, jonka reaaliosa on yhtä kuin nolla, eli p = xi + y j + zk = [, v]. 5
Määritelmä.. (vrt. [1, s. 6] Olkoon q = a + bi + c j + dk H kvaternio. Määrittelemme kvaternion q pituuden q seuraavasti. q = a + b + c + d. Määritelmä.5. (ks. [1, s. 6] Olkoon q = a + bi + c j + dk H kvaternio. Kutsumme kvaterniota q yksikkökvaternioksi (engl. unit-norm quaternion), jos sen pituus on yksi. Siis q on yksikkökvaternio, jos a + b + c + d = 1.. Kvaterniot on vinokunta Tässä alaluvussa todistamme struktuurin (H, +) triviaalisti Abelin ryhmäksi ja struktuurin (H, +, ) renkaaksi. Sen jälkeen osoitamme, että struktuuri (H, +, ) ei ole kunta. Lopuksi määrittelemme vinokunnan ja toteamme struktuurin (H, +, ) olevan vinokunta. Oletamme ryhmän ja renkaan määritelmät tunnetuiksi. Lause.1. Struktuuri (H, +, ) on Abelin ryhmä. Todistus. Määritelmästä. näemme selvästi, että yhteenlaskuoperaatio q 1 + q on suljettu joukossa H. Näemme myös selvästi, että on olemassa neutraalialkio = + i + j + k H. Myös yhteenlaskun liitännäisyys on selvää reaalilukujen liitännäisyyden nojalla. Jokaiselle luvulle q = a + bi + c j + dk H on myös selvästi olemassa vasta-alkio q = a + ( b)i + ( c) j + ( d)k H. Lisäksi kvaternioiden yhteenlasku on selvästi vaihdannainen reaalilukujen yhteenlaskun vaihdannaisuuden nojalla. Näin ollen kvaternioiden joukko varustettuna yhteenlaskuoperaatiolla on Abelin ryhmä. Lause.. Struktuuri (H, +, ) on rengas. Todistus. Näemme selvästi määritelmästä., että kvaternioiden kertolasku on suljettu operaatio ryhmässä H. Näemme myös selvästi, että kvaternioille q 1, q ja q 3 pätee kertolaskun liitännäisyyslaki q 1 (q q 3 ) = (q 1 q )q 3 reaalilukujen kertolaskun liitännäisyyden nojalla. 6
Olkoon q = a + bi + c j + dk H kvaternio. Luku 1 = 1 + i + j + k H. Nyt 1q = 1 a + (1 b)i + (1 c) j + (1 d)k = a + bi + c j + dk = q = q1. Siis kvaternioiden ryhmästä löytyy kertolaskun neutraalialkio 1. Enää on todettava osittelulakien voimassaolo yhteen- ja kertolaskun suhteen. Tämä tulos onkin kvaternioiden tapauksessa hieman monimutkaisempi, joten käymme sen läpi vaihe vaiheelta. Olkoot q 1 = a 1 + b 1 i + c 1 j + d 1 k H, q = a + b i + c j + d k H ja q 3 = a 3 + b 3 i + c 3 j + d 3 k H kvaternioita. q 1 (q + q 3 ) = q 1 ((a + a 3 ) + (b + b 3 )i + (b + b 3 ) j + (c + c 3 )k) = (a 1 (a + a 3 ) b 1 (b + b 3 ) c 1 (c + c 3 ) d 1 (d + d 3 )) + (a 1 (b + b 3 ) + b 1 (a + a 3 ) + c 1 (d + d 3 ) d 1 (c + c 3 ))i + (a 1 (c + c 3 ) + c 1 (a + a 3 ) + d 1 (b + b 3 ) b 1 (d + d 3 ) j + (a 1 (d + d 3 ) + d 1 (a + a 3 ) + b 1 (c + c 3 ) c 1 (b + b 3 )k = ((a 1 a + a 1 a 3 ) (b 1 b + b 1 b 3 ) (c 1 c + c 1 c 3 ) (d 1 d + d 1 d 3 )) + ((a 1 b + a 1 b 3 ) + (b 1 a + b 1 a 3 ) + (c 1 d + c 1 d3) (d 1 c + d 1 c 3 ))i + ((a 1 c + a 1 c 3 ) + (c 1 a + c 1 a 3 ) + (d 1 b + d 1 b 3 ) (b 1 d + b 1 d 3 )) j + ((a 1 d + a 1 d 3 ) + (d 1 a + d 1 a 3 ) + (b 1 c + b 1 c 3 ) (c 1 b + c 1 b 3 )k = (a 1 a b 1 b c 1 c d 1 d ) + (a 1 a 3 b 1 b 3 c 1 c 3 d 1 d 3 ) + (a 1 b + b 1 a + c 1 d d 1 c )i + (a 1 b 3 + b 1 a 3 + c 1 d 3 d 1 c 3 )i + (a 1 c + c 1 a + d 1 b b 1 d ) j + (a 1 c 3 + c 1 a 3 + d 1 b 3 b 1 d 3 ) j + (a 1 d + d 1 a + b 1 c c 1 b )k + (a 1 d 3 + d 1 a 3 + b 1 c 3 c 1 b 3 )k = (a 1 a b 1 b c 1 c d 1 d ) + (a 1 b + b 1 a + c 1 d d 1 c )i + (a 1 c + c 1 a + d 1 b b 1 d ) j + (a 1 d + d 1 a + b 1 c c 1 b )k + (a 1 a 3 b 1 b 3 c 1 c 3 d 1 d 3 ) + (a 1 b 3 + b 1 a 3 + c 1 d 3 d 1 c 3 )i + (a 1 c 3 + c 1 a 3 + d 1 b 3 b 1 d 3 ) j + (a 1 d 3 + d 1 a 3 + b 1 c 3 c 1 b 3 )k = q 1 q + q 1 q 3. Sen nojalla, että kvaternioiden yhteen- ja kertolasku ovat suljettuja ja liitännäisiä, sekä yhteenlaskun nolla-alkion, käänteisalkion ja vaihdannaisuuden sekä kertolas- 7
kun ykkösalkion ja osittelulakien voimassaolon nojalla päättelemme, että struktuuri (H, +, ) on rengas. Lause.3. Struktuuri (H, +, ) ei ole kunta. Todistus. Olkoot q 1 = i = + 1i + j + k ja q = j = + i + 1j + k H kvaternioita. Määritelmän. nojalla saamme i j = + i + j + 1k = k mutta ji = + i + j + ( 1)k = k. Täten kertolasku ei ole vaihdannainen kaikille lukujoukon H alkioille eikä struktuuri (H, +, ) siten ole kunta. Huomautus 3. Samoin saamme loputkin imaginääriyksiköiden keskinäisen kertomisen laskusäännöt. jk = i, k j = i, ki = j, ik = j. Näitä laskusääntöjähän käytimme kvaternioiden tulokaavan muistisäännössä huomautuksessa, ennen kuin vielä pystyimme ottamaan kantaa laskusääntöjen paikkansapitävyyteen. Määritelmä.6. (vrt. [, s. 98]) Rengas (R, +, ) on vinokunta, jos jokaiselle renkaan nollasta poikkeavalle alkiolle a R (a ) on olemassa kertolaskun suhteen käänteisalkio a 1 R, joka toteuttaa ehdon a a 1 = a 1 a = 1. Ennen kuin toteamme käänteisalkion olemassaolon, otamme käyttöön liittoluvun määritelmän ja todistamme erään siihen liittyvän aputuloksen. Määritelmä.7. (vrt. [1, s. 61]) Olkoon q = a + bi + c j + dk H kvaternio. Määrittelemme luvun q liittoluvun q seuraavasti. q = a bi c j dk. Lause.. Olkoon q = a+bi+c j+dk H kvaternio. Nyt q q = qq = a +b +c +d. 8
Todistus. (vrt. [1, s. 61]) Olkoon q = a + bi + c j + dk H kvaternio. Nyt q q = (a b c d ) + (a( b) + ba + c( d) d( c))i + (a( c) + ca + d( b) b( d)) j + (a( d) + da + b( c) c( b))k = (a + b + c + d ) + i + j + k = a + b + c + d. Samoin voimme osoittaa, että qq = a + b + c + d. Lause.5. Olkoon q = a + bi + c j + dk H, q olemassa käänteiskvaternio q 1, joka toteuttaa ehdon kvaternio. Kvaterniolla q on Kvaternion q käänteiskvaternio on qq 1 = q 1 q = 1. q 1 = q q. Todistus. (vrt. [1, s. 65-66]) Olkoon q = a + bi + c j + dk H, q kvaternio. Nyt q q q = q q q = a + b + c + d a + b + c + d = 1. Vastaavasti Siis kvaternio q q q = qq q = a + b + c + d a + b + c + d = 1. q q on kvaternion q käänteiskvaternio, jota merkitsemme q 1 :llä. Lause.6. Struktuuri (H, +, ) on vinokunta. Todistus. Lauseiden. ja.5 nojalla struktuuri (H, +, ) on vinokunta. 9
3 Kvaterniot rotaatioissa Tässä luvussa tarkastelemme kvaternioita niiden tunnetuimmassa sovelluksessa, joka on vektorien kiertäminen avaruudessa R 3. Rotaatioiden yhteydessä kvaternioita on erityisen käyttökelpoista tarkastella niiden vektoriesitysmuodossa tai matriisiesitysmuodossa. Seuraava alaluku käsitteleekin vektorien kiertoa avaruudessa R 3 kvaternioiden vektoriesityksen tulon avulla. Sitä seuraava alaluku puolestaan käsittelee vektorien kiertoa avaruudessa R 3 kvaterniotulon matriisiesityksen avulla. 3.1 Rotaatio vektoriesitysmuodon tulona Tässä luvussa osoitamme, että kvaternioiden tulo voidaan määritellä vektorien ristija pistetuloa hyödyntäen, kun kvaterniot on esitetty vektorimuodossa. Esitämme vektorin u θ-asteisen kierron yksikkövektorin ˆv ympäri eräänä kvaternioiden tulon erityistapauksena. Oletamme vektorien risti- ja pistetulon ja vektorien laskusäännöt sekä isomorfismin määritelmän tunnetuiksi. Esittelimme kvaternioiden vektoriesitysmuodon lyhyesti määritelmässä.1. Mainitsimme myös sen, että struktuurit ([s, v] s R, v R 3, +, ) ja (H, +, ) ovat isomorfiset. Nyt osoitamme tämän. Määritelmä 3.1. Määrittelemme yhteenlaskun ja kertolaskun joukossa H = {[s, v] s R, v R 3 } seuraavasti. Olkoot [s 1, v 1 ] H ja [s, v ] H järjestettyjä pareja. Tällöin niiden yhteen- ja kertolasku määritellään seuraavasti. [s 1, v 1 ] + [s, v ] = [s 1 + s, v 1 + v ]. [s 1, v 1 ] [s, v ] = [s 1 s v 1 v, s 1 v + s v 1 + v 1 v ]. Seuraavan lauseen nojalla voimme samaistaa kvaterniot niiden vektoriesityksen kanssa sekä käyttää kvaternioiden kertolaskutoimituksena määritelmässä 3.1 esitettyä kertolaskua. Lause 3.1. Struktuurit (H, +, ) ja ( H, +, ) ovat isomorfiset. 1
Todistus. (Vrt. [1, s. 5]). Olkoon f : H {[s, v] s R, v R 3 } : f (a + bi + c j + dk) = [a, (b, c, d)] kuvaus. Kuvaus f on triviaalisti bijektiivinen ja säilyttää selvästi yhteenlaskuoperaation. Lisäksi f (1) = [1, ] on struktuurin ( H, +, ) kertolaskun neutraalialkio. Näytämme toteen, että kuvaus f säilyttää kertolaskuoperaation eli että f (q 1 q ) = f (q 1 ) f (q ) q 1, q H. Olkoot q 1 = s 1 + x 1 i + y 1 j + z 1 k H ja q = s + x i + y j + z k H kvaternioita. Olkoot v 1 = (x 1, y 1, z 1 ) R 3 ja v = (x, y, z ) R 3 vektoreita. Nyt f (q 1 q ) = f (s 1 s x 1 x y 1 y z 1 z + (s 1 x + x 1 s + y 1 z z 1 y )i + (s 1 y + s y 1 + z 1 x x 1 z ) j + (s 1 z + z 1 s + x 1 y y 1 x )k) = [a 1 a b 1 b c 1 c d 1 d, (s 1 x + x 1 s + y 1 z z 1 y, s 1 y + s y 1 + z 1 x x 1 z, s 1 z + z 1 s + x 1 y y 1 x )] = [s 1 s (x 1, y 1, z 1 ) (x, y, z ), (s 1 x, s 1 y, s 1 z ) + (s x 1, s y 1, s z 1 ) + (x 1, y 1, z 1 ) (x, y, z )] = [s 1 + s v 1 v, s 1 v + s v 1 + v 1 v ] = [s 1, v 1 ] [s, v ] = f (s 1 + x 1 i + y 1 j + z 1 k) f (s + x i + y j + z k). Näin ollen kuvaus f säilyttää kertolaskuoperaation, ja struktuurit (H, +, ) ja ({[s, v] s R, v R 3 } ovat isomorfiset. Seuraavaksi määrittelemme kvaternioiden p ja q tulon avulla vektorin kierron yksikkövektorin ympäri. Määritelmä 3.. (Ks. [1, s. 98]) Olkoon u R 3 vektori, θ [, π] kulma ja ˆv R 3 yksikkövektori. Vektorin u kierto yksikkövektorin ˆv ympäri kulman θ verran on kvaternion qpq 1 vektoriosa u. q = [ cos ( 1 θ), sin ( 1 θ) ˆv ] H ja p = [, u ] H. Koska määritelmässä 3. on cos ( 1 θ) + sin ( 1 θ) = 1 ja ˆv = 1, 11
niin kvaternio q on yksikkökvaternio. Lisäksi q 1 = q q = q cos ( 1 θ) + sin ( 1 θ) ˆv = q cos ( 1 θ) + sin ( 1 θ) = q 1 = [ cos ( 1 θ), sin ( 1 θ)]. Kun merkitsemme lukua cos ( 1 θ) s:llä ja lukua sin ( 1 θ) λ:lla, niin qpq 1 = [s, λ ˆv][, u][s, λ ˆv] = [ λ ˆv u, su + λ ˆv u][s, λ ˆv] (Vrt. [1, s. 98-99]) = [ λs ˆv u + λsu ˆv + λ ( ˆv u) ˆv, λ ( ˆv u) ˆv + s u + λs ˆv u λsu ˆv λ ( ˆv u) ˆv] = [λ ( ˆv u) ˆv, λ ( ˆv u) ˆv + s u + λs ˆv u λ ( ˆv u) ˆv] = [, λ ( ˆv u) ˆv + s u + λs ˆv u λ u + λ (u ˆv) ˆv] = [, λ ( ˆv u) ˆv + (s λ )u + λs ˆv u] = [, (1 cos θ)( ˆv u) ˆv + cos θu + sin θ ˆv u]. Emme tässä tutkielmassa osoita geometrisesti, että kyseessä todella on vektorin u kierto vektorin ˆv ympäri kulman θ verran avaruudessa R 3. Esimerkki 3.1. Olkoon u = (1,, 3) R 3 vektori, ˆv = (,, ) R3 yksikkövektori ja θ = π 3 [, π] kulma. Laskemme määritelmän 3. mukaisen vektorin u, joka on vektorin u kierto vektorin ˆv ympäri kulman θ verran. qpq 1 = [, ( 1 cos π ) (( 3,, ) ) ( (1,, 3),, ) + cos π 3 (1,, 3) + sin π ( 3,, ) ] (1,, 3) = [, ( 3 6, 6, 5 + 6)]. Näin ollen u = ( 3 6, 6, ) 5+ 6. 1
3. Rotaatio matriisitulona Oletamme tunnetuiksi matriisialgebran perusteet. Merkitsemme matriisin A transpoosia A T :llä ja joukon R n n identiteettimatriisia I n n :llä. Huomautus. (Ks. [1, s. 67].) Samoin kuin voimme samaistaa kvaternion q = a + bi + c j + dk järjestetyn parin [a, (b, c, d)] kanssa, voimme samaistaa kvaternion q = [s, (x, y, z)] matriisin Q 1 kanssa. Merkitsemme kvaterniota q nyt siis matriisilla s Q 1 = x y = q. z Lisäksi määrittelemme kaksi kuvausta l ja r, jotka kuvaavat kvaternion q -rotaatiomatriisille (vrt. [1, s. 1]). Määritelmä 3.3. (Vrt. [1, s. 1]) Olkoon q = [s, (x, y, z)] H kvaternio. Määrittelemme kuvaukset l : H R ja r : H R seuraavasti. s 1 x 1 y 1 z 1 s x y z l(q) = x 1 s 1 z 1 y 1 y 1 z 1 s 1 x ja r(q) = x s z y 1 y z s x z 1 y 1 x 1 s 1 z y x s Merkitsemme matriiseja l(q) = L(q):lla ja r(q) = R(q):lla. Voimme esittää kvaternioiden q 1 = [s 1, (x 1, y 1, z 1 )] ja q = [s, (x, y, z )] tulon matriisitulona L(q 1 )q, kun esitämme kvaternion q matriisimuodossa huomautuksen mukaisesti. Vastaavasti voimme esittää tulon q 1 q matriisitulona R(q )q 1, kun esitämme kvaternion q 1 matriisimuodossa. Tulot L(q 1 )q ja R(q )q 1 ovat 1 - matriiseja, jotka voimme edelleen tulkita kvaternioina. Seuraavaksi osoitamme, että edellä mainitut matriisitulot ovat yhtäpitäviä kvaterniotulon q 1 q kanssa. (Vrt. [1, s. 1].) Lause 3.. Olkoot q 1 = [s 1, (x 1, y 1, z 1 )] ja q = [s, (x, y, z )] H kvaternioita. Voimme ilmaista kvaterniotulon q 1 q matriisitulona L(q 1 )q tai matriisitulona R(q )q 1. 13
Todistus. Olkoot q 1 = [s 1, (x 1, y 1, z 1 )] ja q = [s, (x, y, z )] H kvaternioita. Nyt s 1 x 1 y 1 z 1 L(q 1 )q = x 1 s 1 z 1 y 1 y 1 z 1 s 1 x 1 z 1 y 1 x 1 s 1 s x y z s 1 s x 1 x y 1 y z 1 z = x 1 s + s 1 x z 1 y + y 1 z y 1 s + z 1 x + s 1 y x 1 z z 1 s y 1 x + x 1 y + s 1 z = [s 1 s x 1 x y 1 y z 1 z, (x 1 s + s 1 x + y 1 z z 1 y, y 1 s + s 1 y + z 1 x x 1 z, z 1 s + s 1 z + x 1 y y 1 x )] = q 1 q. Vastaavasti saamme tulokseksi, että R(q )q 1 = q 1 q. Lause 3.3. Kun kvaternio q = [s, (x, y, z)] on yksikkökvaternio eli s +x +y +z = 1, sen kuva L(q) on ortogonaalinen matriisi. Todistus. (Ks. [1, s. 67-68]) Olkoon q = [s, (x, y, z)] H kvaternio ja L(q) sen kuva. Nyt matriisin L(q) transpoosi on s x y z L(q) T = x s z y y z s x ja z y x s 1 L(q)L(q) T = 1 1 = I = L(q) T L(q). 1 Täten matriisi L(q) on ortogonaalinen. Luvussa 3.1 havaitsimme, että vektorin u θ asteen kierto yksikkövektorin ˆv ympäri voidaan esittää tulona qpq 1, missä q = [s, ˆv] on yksikkökvaternio, jossa s + ˆv = 1, p = [, u] on puhdas kvaternio. Voimme esittää tulon qpq 1 matriisitulona R(q 1 )L(q)p (ks. [1, s. 1-15]). Laskemme seuraavaksi rotaatiomatriisien avulla saman kierron kuin laskimme esimerkissä 3.1 kvaternioiden vektoriesityksen avulla. 1
Esimerkki 3.. Olkoon u = (1,, 3) vektori, ˆv = (,, ) yksikkövektori ja θ = π 3 kulma. Laskemme vektorin u kierron vektorin ˆv ympäri kulman θ verran kvaternioiden matriisitulon avulla. Nyt q = [ sin ( 1 θ), cos ( 1 θ) ˆv ] on yksikkökvaternio ja p = [, u] on puhdas kvaternio. q = [ cos π 6, sin π ( 6,, )] [ 3 =, 1 (,, )] = [ 3, (,, )] ja p = [, (1,, 3)]. qpq 1 = R(q 1 )L(q)p = = 3 3 3 3 3 3 3 3 1 3 6 1 6 1 6 1 = 1 6 3 3 3 6 6 5+ 6. 1 3 Vektorin u π 3 asteen kierto vektorin ˆv ympäri on siis u = ( 3 6, 6, ) 5+ 6. 15
Lähteet [1] Vince, John. Quaternions for Computer Graphics. Springer-Verlag London Limited 11. [] Rowen, Louis. Algebra: Groups, Rings and Fields. A K Peters, Ltd 199. 16