Examensarbete för kandida texamen i matematik vid Göteborgs universitet
Damiano Ognissanti
Edvin Wedin
Niklas Andersson
Institutionen för matematiska vetenskaper
Chalmers tekniskahögskola
Göteborgs universitet
Göteborg 2012
Examensarbete för kandidatexamen i matematik inom matematikprogrammet
vid Göteborgs universitet
Damiano Ognissanti EdvinWedin
Examensarbeteför kandidatexameni tillämpadmatematikinommatematikpro-
grammet vid Göteborgs universitet
Niklas Andersson
Handledare: ,GenkaiZhang
Examinator: Carl-HenrikFant
Omslagsbild:JohnTenniel, 1865[2℄
Institutionenförmatematiskavetenskaper
Chalmerstekniskahögskola
Rotationeri3-dimensionellarumlärsvanligtvisutiformav rotationsmatriser.Ett
alternativtillrotationsmatriserärkvaternioner,vilkakansessomenutvidgningav de
komplexa talen.Genomattrepresenteravektorersomkvaternionerkanrotationer be-
räknasmedenformelkortareo henklareattmemoreraänmosvaranderotationsmatris.
Irapporten härledervidennaformelo hdiskuterarolikasättattrepresenterarotatio-
ner.Avslutningsvisliggerennumeriskdeldärberäkningshastigheto hstabilitetjämförs
mellankvaternionero hmatriser.
Abstra t
Rotations in3dimensionsare ommonlytaughtbymeansofmatri es. Analterna-
tiveisusingquaternions,whi h anbeseenasanextensionofthe omplexnumbers.By
representating 3-dimensionalve tors as imaginary quaternions, rotations anbe om-
puted by shorter formulas,easy to remember ompared to its orresponding rotation
matrix. Inthisreportwewillderivethoseformulasanddis ussdierentwaystorepre-
sentrotations. Attheendisanumeri alpart,where omputationalspeedandstability
is omparedbetweenmatri esandquaternions.
Bete kning Betydelse
N={0, 1, 2, 3, ...} Mängdenavallanaturligatal.
Z={... − 2, −1, 0, 1, 2, ...} Mängdenavallaheltal
Z+= N\{0} Mängdenavalla positivaheltal
Q={ab : a, b∈ Z, b 6= 0} Mängdenavalla rationellatal.
R Mängdenavallareellatal.
C={a + bi : a, b ∈ R, i2=−1} Mängdenavallakomplexatal.
H=s + ai + bj + ck, s, a, b, c ∈ R, i2= j2= k2= ijk =−1
Mängdenavallakvaternioner.
HIm=0 + ai + bj + ck, a, b, c ∈ R, i2= j2= k2= ijk =−1
Mängdenavallarentimaginärakvaternioner.
H1={q ∈ H : ||q|| = 1} Mängdenavallaenhetskvaternioner.
Zn={Z/n, n ∈ Z+} Mängdenavheltalmodulon
q = s + ai + bj + ck qbete knarkvaternionenmed skalärdelso hvektordel(a, b, c).
v= (v1, ...vn) vbete knarenvektoriRn som
harkomponenternav1, v2, ..., vn.
v• w •bete knarskalärprodukten
(inreprodukten)mellan vektorernavo h w. v× w ×bete knarkryssproduktenmellanvektorernav o hw. Rv(θ) Rotationsmatrisförrotationθ radianerkringvektornv [s, (a, b, c)] Ettannat skrivsättförkvaternionenq = s + ai + bj + ck. SO(n) Mängdenavallaortogonalan× n-matrisermeddeterminant1.
GLn(K) Mängdenavallainverterbaran× n-matrisermedelementiK.
A, B, ... Matriserbete knasmed versaler
1 Inledning 1
1.1 Syfte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Avgränsningar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Metod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.4 Rapportensupplägg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Kvaternioner 2 2.1 Utvidgningavdekomplexatalen . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Grundläggandeegenskaper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 Kvaternionersomkomplexa2x2-matriser. . . . . . . . . . . . . . . . . . . . . 4
3 Representationeravrotationer 6 3.1 Eulervinklaro haxel-vinkel-tvåparametriseringaravrotationer . . . . . . . 6
3.2 Sättattrepresenterarotationer . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.1 RepresentationavEulervinklarpåmatrisform. . . . . . . . . . . . . . 7
3.2.2 Representationavaxel-vinkelrotationpåmatrisform . . . . . . . . . . 8
3.2.3 Kvaternionerkansessomrotationero hrotationersomkvaternioner . 10 3.2.4 Representationavaxel-vinkelrotationpåkvaternionform . . . . . . . . 12
3.2.5 RepresentationavEulervinklarpåkvaternionform . . . . . . . . . . . 13
3.2.6 Metodattnnakvaternionensomroterarenpunkttillenannan . . . 14
3.3 Sammanfattningavrotationersparametriseringaro hrepresentationer . . . . 16
4 Topologiska skilnadermellanSO(3)o hH1 17 4.1 Kvaternionerkanläggaspåenboll . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 Rotationerkanläggasienboll . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3 Rotationernaärdubbeltövertä ktaavenhetskvaternionerna. . . . . . . . . . 18
5 Förlust av frihetsgrader hos Eulervinklar 20 6 Numerik 23 6.1 Beräkningavrotationsmatrisrespektiverotationskvaternion . . . . . . . . . . 23
6.2 Beräkningavqp¯q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.3 Simulering1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.4 Simulering2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7 Resultat 27 7.1 Simulering1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.2 Simulering2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8 Diskussion 32 8.1 Axel-vinkelparametriseringvs.Eulervinklar . . . . . . . . . . . . . . . . . . . 32
8.2 Matriservs.kvaternioner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
8.3 Simulering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9 Slutsatser 33 10 Vidarestudier 33 A Cliordalgebror i B Källkod iv B.1 Beräkningavqp¯q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
B.2 Beräkningavrotationsmatrisrespektivekvaternion . . . . . . . . . . . . . . . v
B.3 Simulering1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
B.4 Simulering2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
B.4.1 MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
B.4.2 MEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii
Utöverindividella tidsloggar så har även en gruppdagbok förts där arbetspro essen doku-
menterats.Varjeavsnittavrapportenharhuvdsaklingentre olikaarbetsmoment:inläsning,
bearbetning av material o h dokumentation. Undantaget från detta är numerikdelen, där
simuleringartillkommer.
Arbetsfördelningenöverdeolikasty kenairapportenhardelatsuppenligtnedan:
• Förord:Niklas
• Inledning
Dokumentation: Niklas,Edvin
Huvudansvarig:Edvin
• Kvaternioner
Inläsning:Niklas
Bearbetningavmaterial:Niklas,Damiano,Edvin
Dokumentation: Niklas
Huvudansvarig:Niklas
• Rotationer
Bearbetningavmaterial:Niklas,Damiano,Edvin
Dokumentation: Damiano(3.1,3.2.3-3.2.6,3.3),Niklas(3.2.1-3.2.2)
Huvudansvarig:Damiano
• Topologi
Bearbetningavmaterial:Niklas,Damiano,Edvin
Dokumentation: Edvin
Huvudansvarig:Edvin
• GimbalLo k
Bearbetningavmaterial:Niklas,Damiano,Edvin
Dokumentation: Edvin
Huvudansvarig:Edvin
• Numerik
Utve klingavMATLAB-program:
∗ Simulering1:Niklas,Damiano,Edvin
∗ Simulering2:Niklas
Bearbetningavmaterial:Niklas,Damiano,Edvin
Dokumentation: Niklas
Huvudansvarig:Niklas
• Resultat
Bearbetning:Niklas,Damiano,Edvin
Dokumentation: Niklas
Huvudansvarig:Niklas
• Diskussion
Huvudansvarig:Niklas,Edvin
• Slutsatser
Bearbetning:Niklas,Damiano,Edvin
Dokumentation:Niklas,Damiano,Edvin
Huvudansvarig:Niklas,Damiano,Edvin
• Cliordalgebror
Inläsning:Niklas
Bearbetningavmaterial:Niklas
Dokumentation: Niklas
Huvudansvarig:Niklas
Kvaternionerkansessomenutvidgningavde komplexatalen.Deras räknereglero hkopp-
ling till rotationer upptä ktes av Olinde Rodrigues [3℄ 1840, men slog inte igenom förän
William RowanHamilton, oberoende av Rodrigues, upptä kte kvaternionerna 1843. Innan
matrisalgebranutve kladesanvändeskvaternionerförattrepresenteravektorerirummet[6℄.
Idagär matriser o h vektorerlångt vanligareänkvaternioneri tillämpningar, men just för
attrepresenterarotationeruppvisarmatrisframställningenbristersominteåternnshoskva-
ternionerna.Kvaternionerharlängeanväntsinom rymdfarten[8℄ o hförekommeräveninom
datoranimeringo hrobotik.Gemensamtfördessaområdenärattdeärberoendeavsnabba
o h stabiladatoriseraderotationsberäkningar.
1.1 Syfte
Syftet med det här projektet är att studera o h förstå rotationer i rummet, både ur ett
tillämpato hrentmatematisktperspektiv.Attvälkunnamodellerao hsimulerarotationer
ärviktigtinom mångaområden.Trotssin underliggandegruppstrukturbjuderrotationerna
do k motstånd när man försöker räkna med dem; såväl datorer som människor tenderar
föredraatt räknamed tal.Vi vill därförge exempelpåo h jämföraolikaparametriseringar
avrotationernao hutröna derasegenheter,ävenurett numerisktperspektiv.Spe ielltvill
viundersökahurkvaternionerkananvändasförattrepresenterarotationer,dettadådeofta
beskrivssommy ket lämpligaur beräkningssynpunkt.
1.2 Avgränsningar
Rotationerutgörengruppo hdetnnsmånga sättattanvändadesselement.Mankantill
exempel studera sätt attinterpoleraen mängdav dem, lösa rotationsekvationerellersätta
dem sammantill matriser. Vi hardo k,utöveratt beskrivamängdernarotationer o hkva-
ternioner, huvudsakligenbegränsatoss till att studera sammansättning,operationenunder
vilkenrotationernaärengrupp.Enannan,lättförbisedd,avgränsningärattvibarajobbar
med rotationeri tre dimensioner, detta då det inte i alla högre dimensioner går att räkna
med kvaternioner. Slutligen harvi inte studerat degeneraliseringaro h vidareutve klingar
avkvaternionersomkangörasdådettaskulle varaattfrångåvårt huvudspår rotationerna.
Ett undantag är Cliordalgebrorna, en större klass algebror av vilka kvaternionerna utgör
ettspe ialfall,vilkabehandlasi ettappendix.
Endasttvåsimuleringarhargenomförts,o hdessainvolverarendastvridningarpåformen
axel-vinkel.
1.3 Metod
Arbetetär främstenliteraturstudie meninbegriperäven enstakaegna resultat.Huvuddelen
av arbetstiden harägnats åt detrent matematiska,men även simuleringar har ingått som
viktig del.Simuleringarnaharsyftattill attjämförakvaternion-o h matrisrepresentationer
av rotationer. Vi har jämfört tidsåtgång o h stabilitet; tidsåtgången är viktig närman till
exempelvillhasnabbadatoranimationero hstabilitetendåman arbetarmed väldigtlånga
serierrotationer,exempelvisinnomrobotik.
1.4 Rapportens upplägg
Rapporteninledsmeddenitionerförkvaternionero hrotationersamtegenskaperhosdessa.
Därefter presenterasdetvåstuderade parametriserningarnaavrotationernao hhur dekan
skrivas med kvaternioner o h matriser. De olikaparametriseringarnastopologi diskuteras i
tvåavsnittinnansimuleringsavsnittet,ivilketkvaternionero h matriserjämförsnumeriskt.
Tillsistknytsdeolikadelarnaihopmedendiskussionsdel.
Det första avsnittet ägnasåt att beskrivavad kvaternioner är o h de mest grundläggande
begreppeniteorinkringdessa.Begreppsomkonjugat,norm, m.m.denierasförattkunna
användas i senare kapitel. Dessutom presenteras olika framställningar av kvaternioner. Vi
börjarmedattpre iseravadvimenarmed enkvaternion:
Denition2.1. (Hamiltonsdenition avkvaternioner)Medenkvaternionqavses etttalpå
formen
q = s + ai + bj + ck (1)
där s, a, b, c ∈ R. s kallas realdelen av q o h a, b, c är imaginärde larna av q. i,j,k kallas de
imaginära enheterna, o h uppfyller i2= j2= k2= ijk =−1. Mängden av alla kvaternioner bete knasH
Iblandanvändstermernaskalärdel o hvektordel ,o hdåskrivsq = (s, v),därsärskalär-
delenförqo h värvektordelen,v= (a, b, c).
Förstbehandlasden kanskemest naturligahärledningen, nämligenattskapakvaternio-
nernagenomenutvidgningavdekomplexatalen.
2.1 Utvidgning av de komplexa talen
De komplexatalen fåssombekantfrån dereellagenom attman inför taletisom uppfyller i2=−1o hbetraktarallalinjärkombinationerx + yi,därx, y∈ R.
Närmaninförkvaternionernakandetgöraspåliknandesätt.Låtj bete knadenimagi-
näraenheten,j2=−1,o hbetraktaallatalpåformenα + βj,därα, β∈ C.
Oms + aio h b + ciär tvåkomplexatalär den kvaternionq somfåsmed ovanstående denitionq = (s + ai) + (b + ci)j = s + ai + bj + cij,vilketföljeravräknereglerförkomplexa tal.Införnubete kningenij = k o hdenieraij =−jisåkanqskrivassom
q = (s + ai) + (b + ci)j = s + ai + bj + ck
vilkenärdenform somHamiltonanvändenärhanförstdenieradekvaternioner.
Detföljer fråndenitionenatti2= j2=−1, o hdetkonstaterasenkeltattk2= (ij)2= ijij = i(−ij)j = −i2j2 =−(−1) · (−1) = −1. Vidareär (ij)k = kk =−1,vilket stämmer
överensmeddenitionen.
Nästkommande avsnitt denierar viktiga begrepp som används när man arbetar med
kvaternioner.
2.2 Grundläggande egenskaper
Föradditionavtvåkvaternionerq1= (s1, v1)o hq2= (s2v2)gäller,analogtmedkomplexa
tal:
q1+ q2= (s1+ s2, v1+ v2) = (s1+ s2) + (a1+ a2)i + (b1+ b2)j + (c1+ c2)k
Produkteravdeimaginäraenheternafårmangenomomskrivningavdeformlersomingåri
denitionenavenkvaternion.Ettexempelärsomföljer:antagattproduktenjkskaberäknas.
Enligt denitionen aven kvaternion gälleratt ijk =−1.Vi kan dåmultipli era bådaleden med−io h få(−i)(ijk) = −(−i) ⇔ jk = i.
Påsammasätthärledsföljandetabellöverprodukteravdeimaginäraenheternai, j, k.
· i j k
i -1 k -j
j -k -1 i k j -i -1
Tabell1:Cayley-tabellöveri, j, kmed operationenmultiplikation
Urtabellenfåst.ex.attij = k,menji =−k,vilketvisarattkvaterionerintekommuterar.
Eftersomkvaternionerärnärabesläktademeddekomplexatalensåärdetrimligtattanta
attmankanmultipli eratvåkvaternionerpåsammasättsomkomplexatal.Dettafungerar
utmärkt att göra−det endaman behövergöraär att tillämpa den distributivalagen o h kommaihågattkvaternionerinte ärkommutativa.Vivisarmed ettnumerisktexempel:
(1 + 2j)· (2i + 3k) = 1 · 2i + 1 · 3k + 2j · 2i + 2j · 3k
= 2i + 3k + 4ji + 6jk = 2i + 3k + 4(−k) + 6 · i = 2i + 3k − 4k + 6i = −4i − k.
Iovanståendeberäkninghartabell1använtsförberäkningavproduktermellani, j o h k.
Detnnsenformelförproduktenavtvåkvaternioner,vilkenvisasiföljande lemma:
Lemma 2.2. För produktenav två kvaternioner q1 = s1+ a1i + b1j + c1k = (s1, v1), q2 = s2+ a2i + b2j + c2k = (s2, v2)gälleratt
q1q2= (s1, v1)· (s2, v2) = (s1s2− a1a2− b1b2− c1c2) + (s1a2+ a1s2+ b1c2− c1b2)i+
+(s1b2+ b1s2+ c1a2− a1c2)j + (s1c2+ a1b2− b1a2+ c1s2)k =
= (s1s2− (v1• v2), s1v2+ s2v1+ v1× v2)
Bevisetärenbartenberäkning.Andralikhetenföljeravattmanberäknarproduktenför
tvåkvaternionerm.h.a.distributivalagen o h kommerihågatt behålla rätt ordningför de
imaginäraenheterna.Sistalikhetenföljer avdenitionenförkryss-o h skalärprodukt.
Vi noterarattkvaternionerkan sessomvektoreri R4 genom att låtakvaternionen q = s + ai + bj + ck∈ Hrepresenterasavvektorn(s, a, b, c)∈ R4.Dettainnebärattmängdenav
alla kvaternionertillsammans medoperationenaddition, dvs.(H, +),är ettvektorrum,o h
sammanormsomiR4kananvändasiH.
Denition 2.3. Konjugatet till kvaternionenq = s + ai + bj + ck denierassom kvater-
nionen s− ai − bj − ck o h bete knasq¯.
Denition 2.4. Normen av kvaternionen q denieras som det reella talet ||q|| = √q ¯q =
√s2+ a2+ b2+ c2. Man brukarvissa fall användabete kningen N (q) = q ¯q = ¯qq =||q||2.
Denition2.5. Låtqvaraenkvaternion. Om||q|| = 1 kallas qför enenhetskvaternion . Mängden av alla enhetskvaternionerbete knas H1.
Lemma 2.6. Omq1= s1+ a1i + b1j + c1ko h q2= s2+ a2i + b2j + c2k ärtvåkvaternioner sågäller följa nd e:
1. q1+ q2= ¯q1+ ¯q2
2. q1q2= q2q1
3. N (q1q2) = N (q1)N (q2)
Bevis. Bevisetärenbartenrutinberäkningo hlämnassomövningåtläsaren
Denition 2.7. Låt q 6= 0 vara en kvaternion. Inversen till q bete knas q−1 o h är den
entydigt bestämda kvaternionsom uppfyller qq−1= q−1q = 1
Sats 2.8. Fören kvaternion q6= 0 gällerattq−1 =Nq¯(q)
Bevis. Vihar
qq−1= q· q¯
N (q) = q ¯q
N (q) = N (q) N (q) = 1
o h
q−1q = q¯
N (q)· q = qq¯
N (q) = N (q) N (q) = 1
q−1=Nq¯(q) q