[SCRÂTÂND] [FOȘTIT] [CLIC] BERTHOLD HORN: OK, să începem. Aceasta ar trebui să fie o diversiune distractivă de la alte lucruri pe care le facem. Vom dezvolta metode care sunt utile în fotogrammetrie și robotică, în special, care se ocupă de rotație, care are unele proprietăți ciudate. Deci, de exemplu, în cazul traducerii, lucrurile sunt comutative. Dacă merg 5 metri în x și 10 metri în y, ajung în același loc ca și când merg 10 metri în y și 5 metri în x. Nu este cazul rotației. Și pentru a ilustra, presupun că aceasta este axa x și aceasta este axa y. Așa că voi lua această radieră și o voi roti la 90 de grade în jurul axei x și apoi la 90 de grade în jurul axei y. Și ajung acolo. Și iau radiera echivalentă. Și îl rotesc cu 90 de grade în jurul axei y și apoi cu 90 de grade în jurul axei x. Și eu sunt acolo. Deci, din fericire, a funcționat. Deci nu sunt la fel. Și deci nu este comutativă. Deci, este puțin mai dificil de rezolvat, mai ales când vine vorba de probleme cu cele mai mici pătrate și de potrivirea datelor la observații. Așadar, iată o schiță a ceea ce vom vorbi -- proprietățile rotației, reprezentarea diferită a rotațiilor și, în special, cea pe care o vom alege, care este cuaternionii lui Hamilton. Și sunt mai generale. Dar dacă limităm atenția la cuaternionii unitari, aceștia se mapează direct pe rotații în 3 spațiu. Ele ne permit să vorbim despre un spațiu de rotație. Deci, pentru traducere, evident, 3 spațiu este spațiul nostru de traduceri. Și dacă facem ceva optimizare, acesta este spațiul în care căutăm. Acesta este spațiul pe care îl teselăm. Acesta este spațiul în care primim răspunsurile noastre, în timp ce nu este atât de evident cu rotația. Să presupunem că doriți să luați o medie a forței pe centura de siguranță peste toate orientările posibile ale unei mașini. Asta e ceva care, dacă ar fi traducere, ar fi banal. Doar integrați pe un anumit volum de spațiu, împărțiți la volumul său. Și ai terminat. Deci asta e ceva ce vom putea face. Aplicațiile sunt, pentru noi, mai ales în fotogrammetrie, deși sunt foarte importante în robotică și grafică și controlul navelor spațiale. Așa că vom vorbi despre unele dintre acestea. Și în special, folosind aceasta, vom dezvolta o soluție în formă închisă a problemei despre care am început să vorbim data trecută, care este fie măsurători în două sisteme de coordonate diferite ale aceluiași obiect, fie măsurători într-un sistem de coordonate a două obiecte. sau un obiect care s-a mișcat. Așa că și doar pentru distracție, la sfârșit, vom vorbi pe scurt despre algebrele de diviziune și spațiu-timp. Și deci, iată câteva dintre lucrurile pe care le-am menționat, în care trebuie să avem o reprezentare bună pentru rotație -- evident, în viziunea mașinii, pentru recunoaștere și pentru determinarea orientării unui obiect în spațiu, pentru brațul robotului și așa mai departe... așa până la plierea proteinelor, crio... microscopie electronică. Cu toții avem nevoie de o reprezentare bună pentru rotație acolo. Și în special, în situațiile robotice, avem de-a face cu mișcări în spațiu - emoții euclidiene, care pot fi descompuse în translații și rotații. Iar mișcările euclidiene au proprietatea că păstrează distanțele dintre puncte. Ele păstrează unghiurile dintre linii. Și păstrează mâna, pe care uneori o uităm. Dar dacă nu punem asta, atunci vom obține reflecții. După cum știți, majoritatea substanțelor chimice importante din punct de vedere biologic există într- o formă anume. Forma de imagine în oglindă nu funcționează. Și deci este oarecum important să păstrăm mâna. Împreună, acestea înseamnă că păstrăm produsele punctate. Și păstrăm produsele triple. Și omitem, făcând acest lucru, transformări ale spațiului liber care altfel ar fi perfect rezonabile, cum ar fi reflexiile și deformarea și scalarea. Vom vorbi puțin despre scalare. Dar, în mare parte, pentru moment, o vom lăsa deoparte. Deci rotații, mai întâi teorema lui Euler - orice rotație a unui obiect rigid are proprietatea că există o linie care nu este modificată. Asta e axa. Apoi există teorema axei paralele, care spune că orice rotație în jurul oricărei axe este echivalentă cu o rotație în jurul unei axe prin origine plus o translație. Așadar, pentru noi, va fi foarte convenabil să separăm translația și rotația în acest fel în care, atunci când vorbim despre rotație, încercăm să o recuperăm -- vom vorbi doar despre rotația în jurul unei axe prin origine, pentru că ne ocupăm separat de traducere. Și datorită teoremei axei paralele, putem face asta. Apoi, dacă ne dăm seama cum se rotește o sferă, practic ne-am dat seama cum se rotește totul, pentru că putem-- și așa ceva simplifică. Ne putem gândi doar la o sferă care se rotește în spațiu și la toate modurile posibile care se pot întâmpla. Și asta, atunci, corespunde rotației spațiului. Când vorbim despre atitudine, ne referim practic la orientare. Ne referim la orientare în raport cu un anumit standard. Deci, de exemplu, s- ar putea să avem modele așa cum am avut atunci când vorbim despre brevete, cu excepția acum în 3D. Și vor fi într-un sistem de coordonate preferat. Și când vorbim despre localizarea acelui obiect, vorbim despre găsirea poziției sale în spațiu și găsirea rotației sale în raport cu acea rotație de referință. Deci, apropo, aceasta va fi pe Stellar, toată această prezentare. Apoi, există o prezentare de patru pagini care rezumă tot ce doriți să știți despre cuaternioni. Sau poate nu. Poate tot ce ai nevoie pentru acest curs. Grade de libertate. Așa că am vorbit despre aceasta ultima dată, că s-au întâmplat să existe 3 grade de libertate la rotație și asta poate fi ușor confuz. Ceea ce este interesant este că viteza de rotație este mult mai ușoară. Viteza unghiulară - tot ce avem nevoie este un vector care să ne dea axa și o rată, atât de mulți radiani pe secundă. Și dacă luăm axa și o înmulțim cu rata, avem un vector 3. Și acei 3 vectori se adaugă, la fel ca și traducerile. Deci, dacă te învârți în jurul axei x cu 1 radian pe secundă, te învârți în jurul axei y cu 1 radian pe secundă, atunci te învârți în jurul axei 1, 1, 0. Deci este foarte ușor să le adunăm. Și, desigur, asta se poate schimba. Deci acum, te-ai mișcat puțin. Și data viitoare, axa va fi diferită, deci, dar instantaneu, viteza de rotație este foarte ușoară. Și asta, pentru cei dintre voi care știu despre aceste lucruri, corespunde algebrei Lie versus grupului Lie. Vitezele de rotație sau algebra Lie. Are toate proprietățile frumoase ale unei algebre. Rotațiile, care sunt un fel de integrală, nu. Nu au acele proprietăți frumoase. Formula lui Poisson vă spune care este viteza la un anumit punct când există o viteză de rotație cunoscută -- dreapta -- viteza de rotație. Deci omega este acel vector, a cărui axă este axa-- a cărui direcție este axa de rotație. Iar amploarea acesteia este rata de rotație. Și apoi, dacă avem un punct, r, luăm produsul încrucișat pentru a ne da seama care este viteza. Și, evident, va fi perpendicular pe r. Și va fi perpendicular pe omega. Și îi puteți obține direcția folosind regula mâinii drepte. Deci viteza de rotație este mai simplă. Ei adaugă. Și tocmai am văzut finit. Rotațiile finite nu fac naveta. Și am vorbit data trecută despre cum sunt de n ori n minus 1 peste 2 grade de libertate. Și pentru n este egal cu 3, se întâmplă să vă dea 3. Așa de des vorbim despre rotație în jurul axei, așa cum tocmai am făcut eu -- rotație în jurul axei x, rotație în jurul axei y. Și dacă urmați această vedere, atunci ați putea crede că în n dimensiuni, rotația este n dimensională. Și, prin urmare, este mai bine să ne gândim la rotație ca rotație care păstrează anumite planuri. Deci, de exemplu, putem păstra planul xy. Ne putem roti în așa fel încât planul xy să nu fie schimbat. Lucrurile din planul xy sunt mutate în planul xy în altă parte-- planul yz și planul zx-- de asemenea, 3. Dar acesta funcționează, pentru că în 2D, avem doar planul xy, 1 grad de libertate. Și în 4D, avem șase combinații. Și acesta este numărul de grade de libertate de rotație în 4D. Deci, înainte de a merge mai departe, iată un lucru interesant pe care îl vom exploata. Și, de asemenea, este un fel de previzualizare a unei metode pe care o vom folosi, care este produsele încrucișate. Produsele încrucișate, așa cum am menționat, sunt oarecum confuze, deoarece luați produsul a doi vectori. Și obțineți un alt vector, care nu este tocmai corect. Dar se întâmplă să aibă 3 grade de libertate. Deci îl reprezentăm ca un vector. Și din nou, asta e o coincidență. Ce este? Ei bine, este perpendicular pe cei doi vectori cu care ai început. Și așa, în spațiul dimensional mai înalt , dacă luați-- dacă spuneți, care sunt lucrurile care sunt perpendiculare pe doi vectori, ei bine, ei nu vor fi un vector. Va fi un întreg subspațiu. Deci generalizarea unui produs încrucișat ar fi ceva mai complicat. Ca, o modalitate de a o generaliza într-un spațiu n-dimensional, este acel vector care este perpendicular pe n minus 1 alți vectori. Ei bine, aici, n minus 1 se întâmplă să fie 2. Așa este modul în care obținem produsul nostru încrucișat. Și, de fapt, este foarte convenabil pentru anumite operații, în special, operații cu vectori matrice , să reprezinte produsul încrucișat în acest fel, unde luăm matricea simetrică oblică. Și putem reprezenta A crucea B înmulțind acea matrice simetrică oblică cu B. Și are grade de libertate potrivite, corect, pentru că A are 3 grade de libertate. O matrice oblică-simetrică are 0 pe diagonală. Și off-diagonala este simetrică. Deci ai din nou 3 grade de libertate. Deci pare un izomorfism rezonabil. Și apoi, odată ce ai făcut asta, ai scăpat de acest lucru ciudat, produsul încrucișat. Și aveți ceva pe care îl puteți manipula în combinație cu alți vectori și matrici. Acum, desigur, de ce am ales A pentru a se extinde ca matrice? Am fi putut la fel de bine să alegem B și să-l scriem astfel, la fel de valabil. Și veți observa că această matrice este o versiune transpusă sau negata a acelei matrice. Deci matricea pentru B-- deci este dependentă de ordine. Și știm asta, pentru că produsele încrucișate nu fac naveta. Deci, există o mulțime de reprezentări pentru rotație, ceea ce vă spune că există o problemă. Cu traducerea, avem doar xyz, gata. Deci o notație care este foarte utilă este axa și unghiul. Deci avem o axă, care poate fi dată ca un vector unitar. Și avem un număr de grade pe care le rotim sau radiani prin care ne rotim. Deci sunt 3 grade de libertate, pentru că vectorul unitar are doar 2, iar plus unghiul ne dă 3. Acum, uneori putem deriva și alte notații din asta. Unul dintre ele este vectorul Gibbs, care încearcă să combine cele două într-un singur lucru. Deci, acest lucru este într-un fel oarecum incomod, pentru că aveți un vector 3, care se întâmplă să fie un vector unitar. Și apoi ai chestia asta. Deci, vectorul Gibbs este un vector - și se dovedește că nu doriți doar să înmulțiți cu teta. Asta nu vă oferă proprietăți algebrice frumoase. Este mult mai bine-- plus theta se înfășoară în jur de 2 pi. Deci asta oricum nu prea are sens. Și Gibbs a aflat că puteți obține câteva proprietăți utile luând tan theta peste 2. Deci acum, aveți un vector. Nu mai este un vector unitar. Deci are trei componente. Deci are numărul potrivit de grade de libertate. Singurul lucru rău este că explodează la theta este egal cu pi, corect, pentru că 10 din pi peste 2 este infinit. Și theta peste pi... deci este o problemă? Ei bine, rotirea cu 180 de grade, este un lucru perfect rezonabil de făcut. Așa că nu vrem să excludem asta, pentru că nu este un lucru rezonabil de făcut. Deci asta este o problemă. Și este foarte asemănător cu y egal cu mx plus c când linia se întâmplă să fie perpendiculară în sus, paralelă cu axa y. Apoi avem unghiurile lui Euler. Și există un text clasic în inginerie mecanică de la Gold care explică despre unghiurile lui Euler. Practic, rotiți în jurul lui x. Te rotești în jurul y. Rotiți în jurul lui z. Dacă sunteți într-un avion, aveți rulare, care este rotația în jurul axei-- axa lungime-lungă a avionului. Apoi aveți pitch, care urcă sau coboară. Și apoi aveți șiw, care merge la stânga și la dreapta. Deci este foarte convenabil să te gândești la asta. Dar după cum știți, rezultatul va depinde de ordine. Deci da, dacă aveți unghiuri foarte mici de rostogolire, înclinare și rotire, ceea ce este un zbor confortabil cu avionul, probabil că nu contează foarte mult, pentru că obțineți aproape același rezultat dacă le compuneți în ordine diferite. Dar dacă aveți unghiuri mari, cum ar fi 90 de grade, cu siguranță nu va funcționa. Asta înseamnă că, dacă definiți unghiurile lui Euler, trebuie să faceți mai multe lucruri. Una dintre ele este că trebuie să definiți ordinea operațiilor. Axa x vine pe primul loc și așa mai departe - plus alte rotații în jurul noilor axe după ce le rotiți sau în jurul axelor originale. Oricum, ca urmare a acestui fapt, după cum subliniază Gould, există 24 de definiții diferite pentru unghiul Euler. Și nu a existat o întâlnire internațională care să spună, o vei folosi pe aceasta. Deci este destul de confuz. Apoi avem, desigur, matrici ortonormale, cu care sunt sigur că sunteți foarte familiarizați cu toții. Și au aceste două constrângeri asupra lor. Și apoi acesta este un fel de exotic. Aceasta reprezintă o matrice de rotație într-o formă exponențială. Deci, ce înseamnă asta? Ei bine, aici acest omega capital este acea matrice simetrică de 3 pe 3 pe care o obțineți pentru produsul încrucișat. Și ce înseamnă să ai exponențial cu o matrice în exponent? Ei bine, folosești doar formula pentru e la x, cu excepția acum, x este matricea în loc de scalară. Deci, veți ajunge cu 1 plus x plus 1/2 x pătrat și așa mai departe, unde x acum este o matrice. Deci, puteți face acest lucru să funcționeze. Dar nu vom urmări asta. Și ceilalți... deci iată încă unul. Stereografie, deci există o mulțime de proiecții ale sferei. Și există o întreagă industrie de cabană care datează de sute de ani, pentru că oamenii au considerat că este necesar să ia Pământul sferic sau aproape sferic și să-l cartografieze pe un avion. Deci ar putea vinde hărți. Și așa sunt o mulțime de acestea. Una dintre ele este conformă , adică păstrează unghiurile. Și se numește stereografie. Și așa cum am spus, o rotație a unei sfere induce rotația spațiului. Așa că putem lua o sferă, să o mapam în avion, apoi să amestecăm lucrurile în plan și să le mapam înapoi pe sferă. Și dacă amestecăm lucrurile în mod corect în plan, atunci de fapt am indus rotația pe sferă. Ne vom uita la o poză cu asta. Din nou, nu vom folosi asta. Dar e cam amuzant. Lucrul pe care îl faci în avion este să tratezi avionul ca pe un plan complex și să faci o transformare omogenă în acest sens. Și apoi, desigur, fizicienii trebuie să-și inventeze propriile lucruri. Așa că există un tip de matrice complexă 2 pe 2 care poate fi folosită pentru a reprezenta rotația pe care a venit Pauli , același om care este faimos pentru că a spus că lucrarea nu este nici măcar greșită ca o critică a unuia dintre colegii săi. Deci numere complexe 2 cu 2 - asta sună ca 8 grade de libertate. Ei bine, nu sunt oricare. Ei trebuie să fie hermitieni. Și trebuie să fie unitari. Deci, se dovedește că după ce faci asta, mai rămân doar 3 grade de libertate. Apoi ajungem la parametrii Euler, uneori numiți și parametrii Gonzalez -- parametrii Rodrigues. Scuzați-mă. Și apoi ajungem la cuaternioni de unitate. Acum, desigur, există o relație între toți. Și, de fapt, este important să poți converti între ele. Și vom face o parte din asta. Și este un pic ca multe alte probleme, în care încerci să rezolvi ceva. Și se dovedește că, dacă aveți reprezentarea corectă, răspunsul este ușor. Și atât de des, problema, atunci, ajunge să fie conversia. Și atunci descoperi că, ei bine, conversia este... la fel ca în cazul banal, am putea avea coordonate polare versus coordonate carteziene. Și poate că răspunsul în coordonate polare este banal, dar nu este în coordonate carteziene. Și apoi rămâi cu o conversie. Ei bine, în acest caz, conversia nu este prea grea. Dar aici, uneori este. Deci, să începem cu asta. Acesta este Rodrigues. Rodrigues a fost bancher la Paris. Și, se pare, a considerat că banca este o profesie destul de plictisitoare, pentru că își petrecea nopțile făcând matematică. Și deci acesta este unul dintre rezultatele lui. Practic, operațiunile pe care vom dori să le facem sunt două. O operație este să luați un vector și să îl rotiți sau să aflați care este acel vector într-o problemă echivalentă a sistemului de coordonate rotit . Celălalt este alcătuirea rotațiilor. Ne-am rotit puțin în această... în jurul acestei axe. Acum, ne vom roti în jurul unei alte axe. Care este rezultatul general? Și asta se dovedește a fi non-trivial. Deci, aici, aceasta abordează prima problemă. Deci avem un vector, r. Și avem o axă de rotație care este aici verticală. Și ne vom roti printr-un unghi theta în jurul acelei axe. Și asta ne va duce într-o nouă poziție, r prim. Și întrebarea este, cum calculezi r prim? Ei bine, dacă o convertim mai întâi într- o problemă 2D în acest plan indicat de această elipsă, atunci este foarte ușor, deoarece luăm acest vector și acel vector și le combinăm într-un mod ponderat. Deci acest vector punctat este acest vector înmulțit cosinusul teta plus acest vector cu sinusul teta. Deci, puteți vedea cum, atunci când theta este 0, vectorul punctat va fi egal cu acesta. Și când theta este egal cu 1-- pi peste 2, va fi egal cu acest vector. Și pe tot parcursul, își păstrează lungimea și așa mai departe. Deci, în 2D, rotația așa cum o știm este foarte simplă. Și așa cum vor matematicienii să facă adesea, reducem o problemă complicată la una mai simplă pe care deja știm să o rezolvăm. Dar asta e în acest avion. Și astfel, mai întâi trebuie să ne dăm seama care sunt acești doi vectori pe care îi combinăm folosind cosinus și sinus. Și deci, în primul rând, acesta aici... deci cum îl obținem pe acesta? Ei bine, luăm r. Și scădem acest vector, nu? Și diferența va fi acest vector aici. Ei bine, asta înseamnă că trebuie să știm ce este acest vector. Ei bine, asta înseamnă doar proiectarea r pe omega. Și din moment ce omega este vectorul unitar, este foarte ușor - există o formulă. Prin urmare, acest vector este r minus acel lucru. Și apoi, în sfârșit, trebuie să știm ce este acest vector. Și practic, acel vector trebuie să fie perpendicular pe omega. Și trebuie să fie perpendicular pe acesta, pentru că în acest plan, este pi peste 2 distanță de acel vector, nu? Deci, luând produsul încrucișat din-- să vedem-- acest lucru aici cu acest lucru aici, ajungem cu, după simplificare, doar omega cross r. Și are sens, pentru că va fi perpendicular pe r. Și va fi perpendicular pe omega. Oricum, ai pus toate aceste lucruri împreună. Primești această formulă. Deci r prim, vectorul după rotații, este cosinus theta r, vectorul înainte de rotație, plus acești termeni. Și puteți vedea că rotația nu este chiar atât de banală. Deci, oricum, deci axa și unghiul sunt o notație utilă. Și este adesea o modalitate bună de a vizualiza lucrurile. Este ușor de spus, OK, ne rotim în jurul axei x cu 90 de grade - ușor de înțeles ce este. Ce este un dezavantaj? Dezavantajul este compoziția. Dacă aveți două rotații date ca axă și unghi, cum le combinați într-una singură? Știm, după teorema lui Euler, că există o singură rotație care reprezintă combinația. Dar cum le combini? Ei bine, se pare că ceea ce aș face este să le convertesc pe ambele într- o altă formă, cum ar fi matrice ortonormală. Înmulțiți matricele ortonormale. Reveniți la acest formular. Deci asta e un dezavantaj. Nu există... poți roti vectorii. Aceasta este singura operațiune pe care o dorim. Este greu să faci compoziția rotației. Așa că OK, ei bine, vom sări peste asta. Aceasta este viziunea exponențială-- algebrică a lucrurilor. Și asta, să uităm asta. Am vrut doar să-l subliniez pe acesta, pe care l-am menționat. Deci, aici, ideea este că aici este sfera noastră pe care o vom roti. Și îl proiectăm pe un plan, care se întâmplă să fie tangent la Polul Nord. Și această proiecție-- dacă centrul tău de proiecție este Polul Sud-- așa că mergi de la Polul Sud la un punct de la suprafață și-- apoi extinde acea linie până când lovește acel plan. Și vei vedea câteva lucruri. Una dintre ele este că poți să cartografizi întreaga sferă pe un avion... ei bine, cu excepția Polului Sud, nu? Celălalt pe care îl puteți vedea este că zonele vor fi distorsionate, corect, pentru că dacă avem de-a face cu, să zicem, Alaska, aici sus, va fi cartografiată în avion fără prea multă mărire. Dar dacă ne uităm la Australia, o să iasă aici. Va fi uriaș. Deci, această proiecție a hărților este de fapt folosită pentru regiunile polare, deoarece majoritatea celorlalte proiecții ale hărților nu funcționează foarte bine acolo. Dar are această caracteristică. Și de ce îi place atât de mult? Ei bine, pentru că nu distorsionează formele. Deci păstrează unghiurile. Majoritatea - toate celelalte proiecții au proprietatea că vor distorsiona formele. Vor distorsiona zonele. Ai de ales. Puteți alege proiecții care păstrează zona. Puteți alege proiecții care păstrează unghiurile de formă. Dar nu le poți face pe amândouă. OK, deci începem... ne luăm sfera. L-am proiectat pe această hartă... acest plan, care este planul complex. Apoi, în acel plan complex, facem această operație. Deci z este o coordonată variabilă complexă în acest plan. Și z prim este noua sa poziție. Deci și a, b, c, d sunt numere complexe. Deci totul în acel avion va fi mutat. Și acum, o proiectăm înapoi pe sferă. Și lucru uimitor este că modelul de pe sferă este doar versiunea rotită a ceea ce era înainte. Și, prin urmare, ne putem gândi la rotația în spațiu 3, în schimb, în ​​termeni de operațiuni în plan complex, ceea ce este destul de uimitor. Deci asta este încă o reprezentare. OK, deci care sunt proprietățile dorite? Am menționat deja câteva dintre ele. Trebuie să fim capabili să rotim vectori sau, în mod echivalent, să rotim sisteme de coordonate. Dar, de asemenea, trebuie să fim capabili să compunem rotații. Ne-am dori să avem o reprezentare intuitivă. De exemplu, axa și unghiul sunt oarecum intuitive. Este ușor de înțeles ce este, în timp ce dacă te uiți la matricea de rotație, te uiți la numere -- ce înseamnă ele? Nu știu. Înmulți un vector și vezi ce se întâmplă. Dar cifrele nu înseamnă direct nimic. Dacă știi puțin mai multe despre asta, spui, ei bine, dacă mă uit la urma cu suma elementelor diagonale, este-- nu știu-- de 2 ori 1 minus cosinusul unghiului de rotație. Dar nu este foarte intuitiv. Atunci este redundant? Ei bine, matricele ortonormale sunt un prim exemplu de ceva care cu siguranță nu este redundant, pentru că avem 9 numere pentru a reprezenta trei lucruri. Da. Corect, acesta este un punct foarte bun. Atât de mult despre povestea mea despre faptul că nu este intuitivă-- ei bine, dacă vă gândiți la rotirea axei x, adică 1, 0, 0-- înmulțiți matricea cu asta-- obțineți prima coloană. Deci, așa cum subliniază el , prima coloană este un vector semnificativ. Este ceea ce se întâmplă cu axa x. A doua coloană este ceea ce se întâmplă cu axa y. A treia coloană este ceea ce se întâmplă cu axa z. Deci puteți înțelege matricea de rotație în acest fel. Și, în mod similar, puteți vorbi despre rândurile care merg în cealaltă direcție. Dar nu ai cunoaște axa de rotație sau unghiul de rotație. Deci, dar da, acesta este un punct bun. OK, redundant... deci să vedem. Axa și unghiul - ei bine, axa și unghiul sunt oarecum redundante, pentru că dacă avem un vector, acesta are trei componente plus un unghi este patru. Vectorul Gibbs nu este redundant, pentru că am înmulțit vectorul cu tangenta lui theta peste 2. Dar nu vrem singularități. Vectorul Gibbs are o singularitate. Așa că ne-am dori, de asemenea, să fie eficient din punct de vedere computațional. Și vom intra puțin în asta. Și vrem să putem face o mulțime de lucruri, de exemplu, interpolarea orientării. Deci, în grafică, s- ar putea să avem adesea o persoană care interpretează un dans sau o acțiune în lume. Și am dori ca artistul să fie nevoit să specifice doar anumite puncte distincte, mai degrabă decât fiecare cadru. Și deci va trebui să interpolăm. Ei bine, dacă acea persoană se rotește, cum interpolăm? Cum faci o rotație parțială? Și așa ați putea spune, ei bine, o jumătate de rotație - asta este rădăcina pătrată a matricei de rotație, corect, pentru că dacă o înmulțiți de la sine, obțineți matricea de rotație. Dar cum obții rădăcina pătrată a unei matrice? Deci asta e ceva. Un alt lucru pe care ar putea dori să-l facem este să obținem medii pe intervalele de rotație. Pentru noi, o mare problemă va fi optimizarea. Vom încerca să adaptăm sistemul de coordonate. Vom încerca să adaptăm măsurătorile modelelor. Și în acest caz, trebuie să fim capabili să facem lucruri precum să luăm o derivată și să setăm rezultatul egal cu 0. Ei bine, derivata în raport cu matricea de rotație-- asta nu are prea mult sens. Ce este? Ei bine, ceva cu nouă componente. Dar cum aplicați constrângerile? Apoi, în unele cazuri în care nu putem obține o soluție de formă închisă , ar putea dori să eșantionăm acel spațiu și să încercăm un subset. Dar am dori să eșantionăm spațiul într-un mod eficient, ceea ce înseamnă că vrem să-l eșantionăm uniform. Deci, dacă ar exista un spațiu de traducere, am tăia spațiul în voxeli la distanță egală. Și am fi terminat. Sau dacă intrăm în - pentru o eșantionare aleatorie, am putea genera doar un x aleatoriu între interval și y aleatoriu între - într-un anumit interval și z într-un anumit interval. Dar cum faci asta pentru rotații? Acum, dacă ai făcut-o în unghiuri Euler, ai putea spune, OK, ei bine, voi lua primul unghi între minus 90 și plus 90 și apoi al doilea unghi și așa mai departe. Și intri în eșantionarea neuniformă a spațiului. De exemplu, un exemplu mult mai ușor este pe sferă, putem folosi latitudinea și longitudinea ca coordonate. Dar dacă folosiți asta pentru a vă controla eșantionarea, veți eșantiona mult mai aproape de cei doi poli, nu? Deci asta e una... mai adaugă o dimensiune și apoi obții problema pentru rotații. Deci ideea de a avea un spațiu de rotații este foarte atractivă, pentru că atunci putem tesela acel spațiu. Îl putem eșantiona uniform sau aleatoriu. Putem calcula medii sau orice altceva. Așadar, iată câteva dintre problemele despre care am vorbit deja. Matricele ortonormale... sunt redundante. Iar constrângerile sunt complicate. Unghiurile Euler nu facilitează compunerea rotațiilor, la fel ca în cazul notației unghiului și a axelor. Cel mai bun lucru pe care îl puteți face este să îl convertiți în matrice ortonormală și să îl înmulțiți. Și apoi există blocarea cardanului. Așa că știu că ești prea tânăr pentru asta. Dar a fost o vreme când omul a mers pe Lună, care a fost o perioadă foarte interesantă. Și când ascultai la televizor și îi ignorai pe comentatorii proști care vorbeau despre comunicarea din cabină, îi auzeai vorbind despre apropierea blocării cardanului. Deci ce a fost asta? Ei... Draper Lab și-a construit sistemul de navigație. Și avea giroscoape în el. Și giroscoapele au practic trei... acel tip de giroscop are trei axe. Și are o parte care se rotește cu viteză mare și vrea să continue să se rotească în jurul acelei axe. Și apoi cușca permite practic navei spațiale să se rotească în acea direcție fixă. Dar, ca și în cazul unghiurilor Euler, puteți ajunge la o situație în care două dintre axe se aliniază. Și atunci ai pierdut un grad de libertate. Și dacă treci prin acel punct, practic ți-ai pierdut orientarea în spațiu. Așa că au fost instruiți cu atenție să nu treacă prin acel punct, deoarece sistemele lor automate nu ar funcționa corect. Și așa este exact problema cu unghiurile Euler, că atunci când rotiți unul dintre ele cu 90 de grade, acesta se aliniază cu următorul. Și ai pierdut un grad de libertate. Și apropo, cum o rezolvi? Ei bine, cel mai simplu mod este să ai patru axe. Și în acest caz, din păcate, nu îl mai poți trata ca pe un sistem pasiv. Trebuie să aveți un sistem activ care să conducă axele, astfel încât să nu aveți niciodată două dintre ele aliniate. Oricum, unghiurile Euler-- vectorul Gibbs avea acea singularitate. Axa și unghiul au problema compunerii rotațiilor. Și apoi, desigur, nu avem o idee clară despre care este spațiul rotațiilor. Așa că ajungem la Hamilton, care a locuit în Dublin, Irlanda. Și era fascinat de cuplurile algebrice. Deci, punctul de vedere este că ne gândim la numerele complexe ca la perechi de reale. Și putem cumva să generalizăm asta? Și vrei să ai o algebră frumoasă. Vrei să poți aduna, scădea, înmulți și, foarte important, vrei să poți împărți. Adică, poți face tot felul de lucruri minunate. Dar dacă poți face asta, atunci poți rezolva ecuații prin scădere, înmulțire încrucișată - făcând toate acele lucruri cu care suntem obișnuiți. Și așa a existat mult interes pentru fizică, în special pentru tratarea vectorilor din spațiu. Ei bine, ei nu au fost numiți vectori, ci au de-a face cu puncte din spațiu. Și așa firesc a fost, să trecem de la numere reale la numere complexe la triple. Și atunci ce putem face cu triplele? Ei bine, le poți înmulți. Și, desigur, produsele punctiforme nu prea sunt folosite în acest scop, deoarece este un produs încrucișat scalar. Ei bine, problema este că dacă ai o cruce b, c este egal cu o cruce b. Poți spune că a este egal cu c împărțit la b? Nu. Deci asta a fost problema lui. Și chiar l-a nedumerit o vreme. Și și-a antrenat copiii să, în fiecare dimineață cobora la micul dejun, să-l întrebe, tată, poți încă să înmulți tripleți, care erau acești vectori -- noi mai târziu îi numim vectori. Și apoi, în această zi fatidică, a înțeles. Și a mers cu soția sa în plimbarea lui obișnuită de duminică prin Dublin. Și a comis o faptă penală pe pod. El a gravat în graffiti ecuația de bază de care aveți nevoie pentru a rezolva această problemă fără explicații, doar formula. Și apoi, mai târziu, când a descris-o, spune: „Și aici, mi-a apărut ideea că trebuie să admitem, într-un anumit sens, o a patra dimensiune a spațiului în scopul calculării cu triple. Un circuit electric părea să se închidă, și o scânteie fulgeră.” Amintiți-vă, era 1843. Așa că există o mulțime de entuziasm în ceea ce privește chestiile electrice, dar cu mult înainte de Tesla și Edison. Și cheia a fost că a decis că nu poți face asta cu trei. Nu ai cum să o faci cu trei. Dar o poți face cu patru. Și așa a scris o carte, care este practic de neînțeles. Sunt ca 800 de pagini de matematică grea. Dar o vom simplifica foarte mult. Deci intuiția a fost că nu o poți face cu trei componente. Și apoi s-a inspirat de la numerele complexe, unde introducem un număr, citat, „imaginar”. Și a spus, ei bine, poate dacă avem mai multe dintre ele, poate că sunt și alte lucruri, când le pătrați, devin minus 1. Și așa a fost ideea lui cheie. A folosit notația ijk, astfel încât i pătrat și j pătrat și k pătrat sunt minus 1. Și apoi, foarte important, a adăugat acest ijk este egal cu minus 1. Și asta este ceea ce a gravat în pod. Și este încă acolo, deși foarte uzat de matematicieni care îl ating pentru a vedea dacă pot obține interiorul din... oricum, de la aceștia poți obține orice altceva. De exemplu, dacă doriți să știți ce este ij, ei bine, înmulțiți ijk cu k. Și obțineți k pătrat, care este minus 1. Deci va fi minus 1 ori - și așa mai departe. Deci primești k. Deci toate acestea sunt subsidiare. Nu s-a obosit să le graveze. El a luat doar... important, înmulțirea nu este comutativă. Deci ij este k ji este minus k. Și acest fel corespunde produselor încrucișate. Deci, acest tip de sugerează o legătură cu vectorii. Și deci există o mulțime de moduri diferite de a gândi despre cuaternioni. Una este pur și simplu ca o parte reală și trei arome diferite de părți imaginare, mai degrabă decât o singură parte imaginară. Dar apoi puteți să luați aceste trei și să vă gândiți la ele ca un vector în spațiu și să tratați totul ca pe un scalar, q0, plus acest vector și să utilizați această notație, care are o parte scalară, virgulă, vectorială. Sau îl puteți scrie doar ca un vector cu patru, un lucru cu patru componente. Așa că folosesc această notație cu un mic cerc deasupra ei pentru a desemna un cuaternion. Nu este standard. Așa că nu vă confundați cu asta. Dar când scriu lucruri, este foarte important pentru mine să disting scalarul, vectorul și cuaternionul. Așa că folosesc micul cerc pentru a indica asta. Un alt mod de a gândi despre cuaternioni este ca matrice 4 cu 4. Și asta ne readuce la acel izomorfism pe care l-am avut și care a fost util pentru produsele încrucișate. Ar exista un izomorfism de cuaternioni cu matrice 4 cu 4 care ne permite să facem înmulțirea. Și încă o altă modalitate este să ne gândim la un compus complex din două numere complexe. Deci numerele complexe sunt reale plus i ori real. Acum, imaginați-vă că înlocuiți realul cu numere complexe. Ai ceva cu patru componente, pentru că trebuie să fii atent, pentru că ai două tipuri diferite de lucruri imaginare. Acesta este de fapt o modalitate pe care nu o vom folosi. Dar este o cale care te duce la alte lucruri. De exemplu, puteți folosi această idee din nou. Și acum, obțineți, în loc de patru componente, opt. Și apoi din nou, puteți obține 16 componente. Deci puteți construi aceste algebre care au 1, 2, 4, 8, 16 componente. Și devin din ce în ce mai ciudați. Vom rămâne cu patru. Atât de departe trebuie să mergem. OK, deci iată perspectiva înmulțirii folosind explicația de bază a lui Hamilton despre cum să înmulțim aceste lucruri. Iată doi cuaternioni. O să le înmulțiți. Și, evident, vom primi 16 termeni. Și atunci j ori k este minus i. Și astfel le putem aduna ca, din nou, o parte scalară și apoi aceste trei părți imaginare. Și acesta este adevărul de bază. Dar e cam prea detaliat. E cam greu de păstrat... ține minte asta. Și este, pentru noi, cei care acum... amintiți-vă că asta era înainte de vectori. Dar astăzi suntem cu toții în vectori și scalari. Deci, în acea notație, este mult mai ușor să o scrieți în acest fel. Deci iată un cuaternion p, un cuaternion q. Le înmulțim împreună. Și obținem acest cuaternion. Și partea scalară a acesteia este doar părțile scalare înmulțite minus produsul punctual al părților vectoriale și așa mai departe. Și nu este comutativă. De ce? Pentru că include acest produs încrucișat la sfârșit aici. Deci, dacă le schimbăm pe acestea două, vom obține q cruce p, care este, desigur, minus p cruce. OK, deci acesta este de fapt un mod în care îl vom folosi. Doar că este mult mai compact decât acesta. Iată o altă notație care uneori foarte utilă. Și acesta este analog cu izomorfismul pe care l-am avut între vectori și matricele 3 cu 3 simetrice oblice. Aici, avem un izomorfism între un cuaternion și o matrice 4 cu 4, care se întâmplă să fie ortogonală. Și dacă cuaternionul este un cuaternion unitar, este și o unitate normală. Deci, aceasta, de fapt, în cazul nostru este de obicei o matrice ortonormală 4 cu 4. Și astfel această înmulțire de aici poate fi scrisă ca acest produs al unei matrice înmulțit cu un vector. Și există destul de multă structură în asta. Puteți vedea că prima coloană este doar cuaternionul p. Și apoi puteți vedea că este un fel de simetrică oblică, cu excepția diagonalei, care ar fi 0 dacă ar fi simetrică. Și astfel putem scrie produsul a doi cuaternioni în această formă. Deci putem scrie pq-- deci acesta este la fel ca produsul încrucișat, unde am spus că o cruce b este niște matrice ori b. În mod similar aici, pq poate fi scris ca această matrice înmulțită cu q. Și matricea arată așa. Și matricea este ortogonală. Și este normal dacă este un cuaternion unitar. Și dacă scăpăm de p0, atunci este simetric simetric. Și din nou, la fel ca în cazul produselor încrucișate, avem de ales fie să extindem prima parte într-o matrice, fie a doua parte. Deci, iată cealaltă versiune, unde acum, am transformat q într-o matrice 4 cu 4. Și această matrice 4 pe 4 seamănă mult cu aceasta. Prima coloană este aproape aceeași. Primul rând este aproape același. Ceea ce este diferit este că această submatrice 3 cu 3 este răsturnată. Transpunerea lui. Deci sunt foarte asemănătoare. Dar și asta corespunde, din nou, cu faptul că înmulțirea este necomutativă. Dacă acele două piese ar fi fost aceleași, atunci toată această operație ar fi fost comutativă. Deci, acum că avem elementele de bază și diferite moduri de a-l reprezenta, este ușor să dovedim unele dintre aceste rezultate de bază. Deci, în primul rând, este clar că nu este comutativă. Și de aceea vorbim despre asta. Nu am vorbi despre asta dacă ar fi o comutativă pentru că atunci nu există nicio modalitate de a reprezenta rotația. Este asociativ și nu este prea greu de demonstrat. Folosește doar formula pentru înmulțire. Este doar un pic de algebră dezordonată. Apoi definim un conjugat. Iar conjugatul în analogie cu numerele complexe înseamnă doar că negați partea imaginară. Și apoi următorul rezultat pe care îl puteți obține este că conjugatul unui produs este produsul conjugatelor în ordine inversă, ceea ce este la fel ca înmulțirea matricei - AB tot transpus este B transpus A transpus. Deci există câteva analogii aici. Și dacă ești pasionat de fizică, îți dai seama că diferiți eroi ai fizicii au avut moduri diferite de a aborda fizica cuantică. Iar unora dintre ei le place să o facă cu vizualizarea numărului complex. Iar unora dintre ei le place să o facă cu o vizualizare matrice. Și poți descoperi că sunt oarecum echivalente. Da, așa că am făcut puțin din asta. Și o să fac mai mult. Și motivul principal este că putem obține o soluție în formă închisă, deoarece putem diferenția în raport cu un cuaternion. Nu putem diferenția cu privire la matricea ortonormală. Deci acesta este un fel de motivul principal. Dar există aceste motive subsidiare, cum ar fi dacă nu puteți obține o soluție în formă închisă, puteți face o căutare în spațiul rotațiilor. Și puteți eșantiona acel spațiu în mod eficient, fie uniform, fie aleatoriu, odată ce ați înțeles noțiunea de spațiu de rotație, ceea ce este cazul cuaternionilor. Bine, deci alte câteva produse punctiforme - ei bine, produsul punctual, dacă ne gândim la el ca pe un patru vector, este doar produsul punctual obișnuit al unui patru vector. Dacă ne gândim la asta în termeni de scalari și vectori, ei bine, atunci este produsul scalarilor plus produsul scalar al vectorilor. Dar dedesubt, este doar q0 pătrat plus qx pătrat plus-- scuze-- p0 q0 plus px qx și cetera. Și, prin urmare, există o normă. Putem defini o normă. Și acesta este poate cel mai important. Dacă înmulțim q cu conjugatul său, se dovedește că obținem o cantitate reală. Nu există o parte imaginară. Și asta este. Este produsul scalar al lui q cu el însuși ori e. Ei bine, e este acest cuaternion care are un scalar-- este un scalar 1. Și aș fi putut să scriu doar 1 acolo. Dar asta pare cam amuzant. Așa că am inventat acest simbol, care este un cuaternion care nu are parte vectorială. Și de ce este acest lucru important? Ei bine, dacă poți face asta, atunci ai diviziune. Deci inversul multiplicativ este acesta. Și asta era problema cu tripleții. Nu exista nicio modalitate de a defini un invers. Și aici, putem defini o inversă, bine, cu excepția faptului că q este egal cu 0. Dar atunci aceasta este întotdeauna o problemă. Deci asta înseamnă, de exemplu, că putem obține inversul unei rotații foarte ușor. În primul rând, în rotație, vom avea de-a face cu cuaternioni de unitate. Deci q punctul q este 1. Deci, în cazul acelei reprezentări cuaternioane unitare, inversul este doar conjugatul, un fel ca în cazul matricelor ortonormale. Inversul este doar transpunerea. OK, și apoi mai sunt câteva alte proprietăți minore. Și le poți lua doar pe credință. Sau le puteți verifica făcând înmulțirile. Deci produsul punctual al produselor este produsul produselor punctiforme. Tot surprinzător că. Și atunci această primă linie este cazul special al celei de-a doua linii, care este mai utilă în calcule. Și apoi acesta este destul de la îndemână. Deci ce s-a întâmplat aici? Ei bine, uneori avem un cuaternion pe o parte. Am dori să-l mutăm pe cealaltă parte a unui produs punctual. Și se dovedește că putem face asta atâta timp cât îl conjugăm. Așa că am mutat tacul din partea stângă a punctului în partea dreaptă a punctului și doar l-am conjugat. Și este ușor să demonstrezi asta. Înmulțim doar prin cub, conjugăm și așa mai departe. Deci vom folosi cuaternioni unitari pentru a reprezenta rotația. Și vom vedea chiar acum cum este legat de celelalte notații pentru rotație, dar avem de-a face cu vectori. Deci ce zici de vectori? Ei bine, va trebui să avem un mod cuaternion de a reprezenta vectorii. Și, desigur, este evident. Omitem doar partea scalară. În schimb, dacă am dori să reprezentăm scalarul, am putea pur și simplu să omitem partea vectorială. OK, așa că vom converti vectorii noștri în 3D în acești cuaternioni amuzanți, cuaternioni pur imaginari, îi vom manipula în acel spațiu și apoi îi vom aduce înapoi în 3D. Numai pentru acest caz special al acestor tipuri de cuaternioni, există o mulțime de proprietăți interesante. În primul rând, conjugatul, desigur, este doar nega, deoarece conjugat înseamnă negarea părții imaginare. Produsul punctual este doar produsul punctual. Deci acesta este produsul scalar al cuaterniilor. Acesta este produsul scalar al vectorilor corespunzători. Și din moment ce partea scalară este 0, este evident că acesta este cazul. Astfel, putem calcula cu ușurință produsul punctual. Dacă înmulțim doi dintre acești cuaternioni speciali, obținem acest lucru amuzant. Are produsul punctual în el și produsul încrucișat. Și acesta este motivul pentru care unii critici ai acestei notări l-au numit un monstru hermafrodit. Are ambele sexe încorporate, produse punctiforme și produse încrucișate. Și au crezut că acesta este un dezavantaj. Pentru anumite scopuri, acesta este de fapt un avantaj. Apoi, dacă luăm produsul dintre r și s și luăm punctul cu t, obținem produsul triplu, în primul rând. Și produsul triplu este adesea destul de util, în afară de volumele de calcul sau ceva de genul. Și din nou, acest lucru este foarte simplu de demonstrat. Odată ce aveți un scalar 0, atunci tot ce veți obține este partea vectorială a lui t punctată cu acest lucru, r cruce s. Și, desigur, asta este doar r cruce s punctul t. Acesta este produsul triplu mai întâi și așa mai departe. Așa reprezentăm vectorii. Bine, scalari... da, putem face asta. În sfârșit, ajungem la rotație. Deci, cum facem rotația? Ei bine, se pare că acel produs simplu al unui cuaternion cu un alt cuaternion nu o va face, pentru că ne scoate din 3D în 4D. Avem nevoie de o operație care să ne ducă înapoi în 3D. Și așa este un pic ca și cum ai putea face rotația în avion făcând o operațiune care te duce în spațiul 3. Dar apoi trebuie să ai o altă parte a operației care te duce înapoi în avion, acum, într-o formă rotită. Deci asta e așa. Dacă înmulțim doi cuaternioni, practic facem o operație de rotație în spațiul 3. Și acum, trebuie să găsim o operație care să nu anuleze asta, ci să ne ducă înapoi în spațiu. Și exact asta se întâmplă aici. Deci luăm vectorul nostru, r, îl transformăm într-un cuaternion cu 0 parte scalară. Apoi pre-multiplicam cu q si post-multiplicam cu q conjugatul. Și în mod magic, ne-am întors în lumea reală, astfel încât acest cuaternion, r prim, are o parte scalară 0. Și așa vom face rotația. Acum, există multe moduri diferite de a analiza acest lucru. Una este să folosim acel truc pe care l-am avut de a reprezenta înmulțirea cuaternilor ca înmulțire a matricelor 4 cu 4 și a vectorului patru, nu? Așa că le luăm pe primele două și le transformăm în asta. Și apoi luăm a doua înmulțire. Și de data aceasta, transformăm conjugatul q într-o matrice, această matrice aici. OK, deci această operație este de fapt echivalentă cu acea operație. Și ce este asta? Aceasta este o matrice 4 pe 4. Este un produs de două matrice 4 cu 4. Și dacă le înmulți, obții asta. Și aceasta-- cea mai interesantă proprietate a acesteia este că primul rând și prima coloană sunt în mare parte zerouri. Și rezultatul este că, dacă aveți un vector în 3D, care are o parte zero - o parte scalară și o înmulțiți cu aceasta, nu va exista nicio distanță scalară 0 , corect, pentru că îl înmulțiți cu 0. Și apoi adaugi toate aceste zerouri înmulțite cu orice. Și obțineți 0. Deci tot ceea ce s-a dovedit până acum este că această operațiune, de fapt, vă va aduce înapoi în 3D. Deci și asta... apropo, această submatrice este... și aceasta este de fapt matricea noastră de rotație ortonormală 3 pe 3. OK, deci aceasta este ecuația pe care o vom folosi pentru rotație. Și aceasta este partea scalară. Putem calcula partea scalară. Și dacă partea scalară a vectorului original este 0, obținem 0 pentru partea scalară a noului vector. Partea vectorială poate fi calculată în acest fel. Deci, dacă nu doriți să sari în oceanul de cuaternioni, puteți face totul folosind scalari și vectori. Iată formula, nu? Deci doar produse punctate și produse încrucișate -- foarte ușor. Când folosim această operație, putem cu ușurință... ei bine, cu puțină algebră, putem demonstra că păstrează produsele punctiforme, nu? Doar luați această formulă, aplicați-o pe r, apoi aplicați-o pe s, luați produsul punctual. Și obțineți r punct s. Și astfel păstrează produsele cu puncte. În mod similar, păstrează produsele triple. Vă amintiți că aveam această formă specială că această înmulțire ne-a dat un produs triplu al vectorului, vectorii de bază? Ei bine, păstrează produsele triple. Deci asta este. Este o rotație, nu? Păstrează produsele cu puncte. Păstrează produsele triple. Deci e bine. Nu știm încă ce rotație, dar știm că trebuie să fie o rotație, pentru că păstrează lungimea și unghiurile. Și păstrează mâna. Și apoi celălalt lucru despre care vorbeam nu era doar rotirea unui vector, ci și compunerea rotațiilor. Am vrut să fie ușor. Ei bine, să presupunem că mai întâi rotim -- luăm vectorul nostru, r. O rotim folosind q. Și apoi luăm rezultatul și îl rotim folosind p. Deci scriem asta. Și pentru că aceste operații sunt asociative, le pot rescrie astfel. Și asta vă spune că, o, compoziția rotației este doar înmulțirea cuaternionilor -- este foarte ușor și de fapt eficient din punct de vedere computațional, de asemenea, ceea ce este foarte diferit de notația pe axă și unghi sau unghiurile Euler, unde este foarte greu să compuneți rotații. Deci, trebuie să ne dăm seama ce rotație este, sau dacă am specificat rotația într-o altă formă, cum o transformăm în cuaternion? Ei bine, aceasta este formula pe care tocmai am derivat-o pe pagina anterioară. Și iată formula lui Rodrigues de ceva vreme în urmă. Și apoi, dacă identificăm perechile corespunzătoare, primul lucru pe care îl observați este că q, partea vectorială, este paralelă cu omega. Deci, partea vectorială a cuaternionului este în direcția axei, ceea ce are sens. Și putem dovedi asta cu ușurință. Dacă conectați q aici pentru r, ce se întâmplă? Ei bine, această parte renunță, pentru că o cruce 2 este 0. Și apoi aceasta devine q punct q ori q. Și asta devine ceva ori q. Deci toată treaba - ambii sunt vectori în direcția q. Deci r prim va fi în direcția q-- atât de ușor de arătat că q devine q. Și aceasta este teorema axei lui Euler. Deci, este foarte ușor de observat că partea vectorială este paralelă cu axa de rotație. Nu știm încă cât timp ar trebui să dureze. Și nu știm care este unghiul. Dar oricum, lasă deoparte o parte din asta-- concluzia este că aceasta este reprezentarea noastră-- conversia noastră. Deci, dacă cunoaștem axa și unghiul, putem calcula cuaternionul. Deci, aceasta este una dintre conversiile dintre... avem opt moduri diferite de a o reprezenta. Deci sunt de 8 ori 7-- 56 de conversii diferite pe care le-am putea face, dar nu le vom face. Deci acesta este unul. Celălalt pe care l-am văzut mai devreme, unde producem matricea ortonormală. Acesta este încă unul important, pentru că folosim matrici ortonormale tot timpul. Trebuie să fim capabili să mergem înainte și înapoi între axă și unghi, care este această formulă, și între matricea ortonormală, și asta a fost formula anterioară. Acum, deci sunt două lucruri despre asta. Unul dintre ei... acesta este un cuaternion unitar. Am dovedit cu ușurință că iei produsul său punctual cu sine. Și obțineți cos pătrat theta peste 2 plus sinus pătrat theta peste 2. Deci, acesta este un lucru. Deci nu vorbim despre cuaternioni arbitrari, ci doar cuaternioni unitari. Și apoi celălalt lucru care este puțin enervant este că minus q este aceeași rotație cu plus q. De ce? Ei bine, imaginați-vă că ați introdus minus q în această formulă. Minusul este doar... să dispară. Deci, ce înseamnă asta? Înseamnă că dacă ne gândim la sferă ca reprezentând spațiul de rotație, punctele opuse sunt de fapt aceeași rotație. Așa că este foarte frumos să te gândești la o sferă în patru dimensiuni ca la spațiul de rotație. Și apoi putem produce modalități de eșantionare a spațiului respectiv și de a lua integrale și de a lua -- calculând medii și așa mai departe. Dar trebuie să ai în vedere că într-adevăr vrei doar jumătate din sferă, pentru că partea opusă, partea reflectată reprezintă aceleași rotații. Și punctele [INAUDIBILE] sunt identificate. Așa că vom folosi acest lucru în fotogrammetrie și, în special, în orientare absolută. Am vorbit deja despre asta. Și asta este din ultima prelegere. Deci am identificat puncte din spațiu, măsurate în două sisteme de coordonate. Vrem să știm transformarea coordonatelor dintre aceste două sisteme. Și este dublă față de cealaltă problemă, în care avem același sistem de coordonate. Dar avem două obiecte-- sau avem un obiect în mișcare. Și l-am modelat în acest fel, unde coordonatele din sistemul din stânga sunt rotite și este translată pentru a produce coordonate în sistemul de coordonate din dreapta. Și dorim cea mai potrivită rotație și translație, ceea ce înseamnă că vrem să minimizăm unele erori. Și ceea ce ni se oferă sunt o grămadă de puncte corespunzătoare măsurate în sistemul de coordonate 2-- stânga-- stânga și dreapta. Și apoi am vorbit despre acest analog mecanic, fizic, pe care vrem să facem aceste erori mici. Și astfel, o modalitate de a face acest lucru este să aveți aceste arcuri, care au energie proporțională cu distanța la pătrat. Iar energia-- energia totală din acele izvoare este suma pătratelor erorilor. Și sistemul vrea să minimizeze acest lucru. Deci acesta este modelul fizic al modului în care găsește rotația și translația. Atunci am făcut asta. Deci acesta este termenul de eroare, dreapta, pentru că dacă iau coordonatele din stânga și o rotesc și o traduc, primesc asta. Și aceasta ar trebui să fie egală cu coordonata corectă. Și le scad. Primesc eroarea rămasă. Am pătrat asta. Adaug toate aceste erori. Apoi, primul pas - să găsim traducerea. Și am făcut asta ultima dată. O modalitate de a face acest lucru, care nu este modul în care am făcut-o în clasă, este doar diferențierea în raport cu traducerea, r0. Și această notație - aceasta este norma, care este într-adevăr produsul punctual al acestui lucru cu el însuși. Dacă o diferențiem, obținem de două ori acest lucru. Și îl setăm egal cu 0. Și apoi putem împărți. Deci avem o sumă de trei termeni. Putem împărți asta în trei sume. Deci, de exemplu, desigur, scăpăm de 2. Nu este foarte interesant. Și obținem asta. Și rezultatul final a fost doar că translația este cea care ia centroidul din sistemul stâng după rotație în centroidul sistemului din dreapta. Deci este un fel de intuitiv și drăguț. Se spune că, indiferent de transformarea dvs., ar trebui să mapați centroidul acestui nor de puncte în centroidul acelui nor de puncte. Și una dintre caracteristicile frumoase ale acestuia este că nici măcar nu aveți nevoie de corespondențe. Doar calculezi centroidul acelor nori. Deci, pentru această parte, nu trebuie să știți care punct din nor corespunde punctului din celălalt nor. Și desigur, acum nu putem obține răspunsul, pentru că nu știm r. Dar aceasta este formula la care vom reveni la sfârșit pentru a obține traducerea. Și astfel, în acel moment, putem muta originea la centroid și adăugați o liniuță la r, indicând că acum sunt măsurate în raport cu centroid. Deci, atunci când facem asta, formula se simplifică. Acum că minimizăm această expresie, unde aceste r prim și R r prim și rl prim sunt definite în termeni de coordonate față de centru, scădem centroidul - scădem centroidul de acolo. Și OK, atunci luăm asta. Și înmulțim asta. Din nou, nepătratul este doar produsul punctual al acestui lucru cu el însuși. Așa că gândește-te la scris așa. Apoi, când înmulțiți, obțineți patru termeni. Le adunați și obțineți asta. Și aici, folosim un mic truc, și anume că am observat că lungimea unui vector nu se modifică prin rotație. Deci aici, obținem cu adevărat de r ori vectorul din stânga la pătrat. Dar știm că, după rotație, are aceeași lungime. Așa că doar îl înlocuim. OK, și în acel moment, aceste două lucruri sunt rezolvate. Sunt date de date. Nu vor depinde de rotația pe care o alegeți. Așa că uită de ei. Trebuie să ne concentrăm pe acest termen mediu. Este singurul asupra căruia avem control. Putem schimba r. Dar are semnul minus. Deci încercăm să minimizăm ceva. Deci asta înseamnă că dorim să maximizăm acest termen. Și asta am ajuns ultima dată. Și o explicam în termeni de analogie cu aricii de mare, unde avem aceste țepi. Și încercăm să le facem să fie aliniate cât mai aproape posibil, astfel încât produsul lor punctual să fie cât mai mare posibil. Produsul punctual al punctului corespunzător... acum avem nevoie de corespondențe. Și aceasta este problema clasică în controlul atitudinii navelor spațiale. Aveți direcția spre stele în camerele voastre. Și încerci să le aliniezi cu indicațiile din catalog. Și, desigur, vrei să faci... și este o analogie bună, pentru că în acest caz, nu ne pasă de lungime. Nu avem lungimea. Nu știm... de la cameră, nu avem idee cât de departe sunt stelele. Și nu ne pasă. Și dacă ne mișcăm lateral, de fapt acea direcție nu se schimbă, pentru că în comparație cu distanța până la stele, propria noastră mișcare este microscopică. Deci, acesta ar fi lucrul pe care doriți să îl maximizați în acest caz. Si dar cum o faci? Ei bine, suntem oarecum adaptați să folosim calculul pentru a rezolva toate aceste probleme -- doar diferențiem în raport cu transformarea necunoscută. Dar ce înseamnă diferențierea față de r? Acum, îmi cam bat joc de asta. Dar, de fapt, puteți continua acest lucru mai departe. Ceea ce trebuie să faci nu este doar să diferențiezi în raport cu r, ci să impuni toate acele constrângeri despre care am vorbit. Și poți face asta. Pur și simplu devine dezordonat. Trebuie să impuni că r transpune r este identitatea. Și trebuie să impuni determinantul lui r este plus 1. Acum, acesta este cel mai greu. OK, deci să nu o facem așa. Să folosim noua noastră notație cuaternică cu colți. Deci aici, avem produsul scalar a doi vectori. Și putem exprima asta aici ca produsul scalar a doi cuaternioni cu 0 parte scalară. Deci mapăm acest r li prim într-un cuaternion, r li prim. Și mapăm acest R r i prim în acest cuaternion. Și tot ce ați făcut este să adăugați partea scalară 0. De asemenea, le-am răsturnat, pentru că produsele dot fac naveta, așa că pot face asta. OK, și aici am folosit acel truc. Amintește-ți când am spus că uneori vrei să muți ceva dintr- o parte a unui produs punct în cealaltă. Iată, am luat acest cuaternion, l-am răsturnat pe cealaltă parte. Dar a trebuit să-l conjug. Acum, este deja conjugat. Deci conjugatul conjugatului este lucrul în sine. Deci am această expresie. Și apoi folosesc proprietatea că pot scrie acest produs cuaternion ca un vector matrice ori . Și pot scrie asta ca un vector matrice ori. Așa că înțeleg asta. Și apoi folosesc faptul că un produs punctual este doar transpunerea din stânga înmulțită cu ceea ce trebuie. Și apoi, în sfârșit, pot scoate q. Deci acest lucru este important. Pot separa q pe ambele părți. Deci nu variază cu i. Și așa am ajuns cu acest produs. Deci aici sunt toate datele mele. Toate măsurătorile mele sunt îngropate aici. Aceasta este o matrice 4 pe 4 pe care o primesc din măsurătorile mele. Și acum, tot ceea ce vreau să fac este să fac chestia asta cât mai mare posibil - ei bine, nu chiar, pentru că pot să fac asta cât de mare îmi place făcând q mare, nu? Așa că trebuie să fiu atent să impun această constrângere. Și deci cuaternioanele nu sunt o reprezentare redundantă, pentru că au patru numere. Și trebuie să impuni această constrângere suplimentară. OK, și apoi există diferite moduri de a face acest lucru. Deci, în primul rând, să vedem. Ce este N? Ei bine, N este, din nou, obținut din date. Și există două moduri de a face acest lucru. Dacă știți despre multiplicatorii Lagrange, puteți adăuga un alt termen care impune constrângerea. Deci constrângerea este că q punctul q este egal cu 1, sau minus 1 minus q punctul q este egal cu 0. Deci puteți impune așa. Și o vom face într-un alt mod care nu implică nevoia de a ști despre multiplicatorii Lagrange. Oricum, în oricare dintre metode, acum putem diferenția în raport cu q, ceea ce este uimitor. Putem diferenția în funcție de rotație. Desigur, în cazul traducerii, nimeni nu e surprins că poți face diferența în ceea ce privește traducerea sau poziția. Dar pentru rotație, asta e ceva. Dacă o facem, obținem asta. Și acest lucru este doar folosind regulile obișnuite pentru diferențierea unui produs punctual și diferențierea unei matrice înmulțit cu un vector, care, apropo, sunt în anexa cărții, care apropo, este pe Stellar. Deci, dacă trebuie să vă reîmprospătați memoria despre diferențierea în raport cu un vector, totul este acolo. Și ce spune asta? Ei bine, asta spune că Nq este egal cu lambda q. Ei bine, asta ar trebui să vă reamintească de lucruri pe care le-am făcut înainte, nu? Este un vector propriu. Deci q trebuie să fie un vector propriu, iar lambda este valoarea proprie. Și din moment ce vrem să facem acest lucru cât mai mare posibil, alegem vectorul propriu care corespunde celui mai mare eigen -- ceea ce este oarecum neobișnuit. În trecut, întotdeauna am dorit să minimizăm ceva. Ne-am dorit cea mai mică valoare proprie aici din cauza acelui semn de întoarcere. O vrem pe cea mai mare. Și care este vectorul propriu? Este o matrice simetrică reală 4 pe 4, care este construită din date. Și deci câteva note despre asta-- deci una dintre ele este că am spus pentru 2 cu-- pentru o matrice 2 cu 2, am dat în mod explicit valorile proprii și vectorii proprii, pentru că știm cum să rezolvăm pătratici. Și am menționat data trecută că pentru 3 cu 3 se poate, pentru că ecuația caracteristică este un polinom cubic în lambda. Și cineva știe cum să rezolve cubici în formă închisă. Apropo, acesta era un joc mare, mai ales printre matematicienii italieni. Ei ar... aceste probleme erau un adevărat puzzle pentru ei. Si au fost foarte mandri cand le-au rezolvat corect asa. Dar nu a existat același tip de publicație modernă și mandat și orice altceva. Parcă ai rezolvat această problemă grea. Și ești foarte mândru de asta. Ce faci cu asta? Nu vrei să-l dai. Și totuși, vrei să poți spune mai târziu, știi, am primit asta acum 10 ani. Așa că au venit cu toate aceste moduri ciudate de a-și codifica și codifica soluția și ca într-o poveste sau ca un fel de parabolă sau un fel de altă matematică. Și apoi mai târziu, Ferrari, care a fost unul dintre tipii care au făcut asta, a putut spune că, o, am rezolvat asta cu ani înainte de Cardano, care este un alt tip, pentru că uitați-vă la poezia pe care am scris-o. Îți spune cum să faci asta. Deci, oricum, au descoperit cum să rezolve cubici. Aici, vom avea un quartic, corect, pentru că este 4 pe 4. Va fi de ordinul al patrulea. Si ghici ce. Au soluții închise. Și acei matematicieni italieni și alții și-au dat seama cum să o facă. Practic, cum faci oricare dintre aceste lucruri? Ei bine, trucul obișnuit-- încerci să găsești o modalitate de a reduce ordinul al treilea la ordinul al doilea, pentru că știi cum să faci ordinul al doilea. Și quartici-- primul pas este să o reducă la un cubic. Rezolvați cubic, iar restul este ușor. Și deci poți rezolva ordinul al cincilea? Nu, OK, așa că e bine că unii dintre voi știți că asta este. Nu poți... acum, bineînțeles că astăzi cu computere, putem rezolva numeric oricare dintre acestea. Dar dacă doriți să aveți o soluție, citată, în formă închisă, atunci trebuie să știți că puteți rezolva 1, 2, 3, 4. Dar asta este. Apoi, de ordin superior, nu puteți rezolva în formă închisă folosind adunarea, scăderea, înmulțirea și rădăcinile pătrate. OK, deci această matrice de aici -- pare-- vă este mai familiară decât N. Asta pentru că acesta este pur și simplu produsul diadic al vectorului din sistemul de coordonate din stânga și al vectorului din sistemul de coordonate din dreapta. Deci aceasta este o matrice 3 pe 3 - fiecare dintre acestea este o matrice 3 pe 3 care este un produs diadic. Și continui să mergi, trecând prin perechile tale de puncte și adunându-le. Și obțineți o matrice 3 pe 3, care nu este simetrică. Și astfel are nouă cantități independente. Și să ne gândim la N. Ei bine, N este 4 cu 4. Deci are 16. Deci, cum funcționează? Se pare că N este destul de special. Se dovedește că N este simetric. Și se dovedește că nu este atât de ușor de demonstrat. Singura greșeală din această lucrare a fost că cred că am spus ceva de genul, este evident că este simetric. Dar este nevoie... oricum, este simetric. Deci asta înseamnă 4 cu 4 simetric-- avem 4 pe diagonală, și apoi mai avem 6-- nu, 10-- avem 10 independent-- deci nu este 16. Dar este 10. Dar este încă prea multe, corect, pentru că avem doar 9 în M. Ei bine, se dovedește că această matrice este foarte specială, deoarece determinantul - ecuația caracteristică de aici de sus are această proprietate importantă, că acel termen cubic este 0, ceea ce o face de fapt. mai ușor să-l reducă la un cubic. Și deci N este o matrice simetrică 4 pe 4 cu o urmă de 0. Asta înseamnă că avem 10 minus 1 este 9. Deci acum, se potrivește. M are 9 valori independente. OK, nu trebuie să știm cu adevărat -- și dacă de fapt veți implementa acest lucru, s- ar putea să doriți să știți acest lucru, dar să știți că puteți calcula toți coeficienții ecuației caracteristice. Și apoi pleci și rezolvi quartica. Deci, aplicația principală va fi orientarea absolută, dar are și o mulțime de alte aplicații despre care am vorbit deja. Și dacă te duci la Draper Lab, unde ei controlează toate aceste nave spațiale, vei găsi oameni care știu despre cuaternioni, pentru că asta se folosește acolo. Proprietăți de dorit, așa că avem acest tabel. Să vedem cum ne descurcăm. Abilitatea de a roti vectori-- da, we-- qr q conjugate. Abilitatea de a compune rotații-- da, p ori q este compoziția. Reprezentare intuitivă, neredundantă - ei bine, este aproape neredundantă. Are patru numere pentru a reprezenta 3 grade de libertate. Și dar redundanța este foarte simplă. Este doar vectorul unitar - cuaternionul unitar. Este intuitiv? Ah, o parte - partea vectorială este în direcția axei. E un fel de intuitiv. Eficiență computațională... nu am vorbit încă despre asta. Cum se compară cu operațiile cu matrice? Putem face lucruri precum interpolarea orientărilor? Da, să presupunem că ai... artistul tău a pus-o pe balerina să facă o întoarcere și a primit-o-- ai pus-o în această poziție și apoi în acea poziție roti-o, cum faci toate perioadele intermediare? Luați matricea de rotație inițială și matricea de rotație finală - luați un fel de medie ponderată? Ei bine, asta nu va fi ortonormal. Deci aici, este banal, nu? Doar iei acel unghi. Să presupunem că rotația este în jurul unei axe printr-un unghi de 90 de grade. Îl împărțiți în câte cadre de care aveți nevoie și calculați cuaternionul în mod corespunzător. Putem lua medii ale unei game de rotații. Dacă doriți să aflați încărcarea medie a centurii de siguranță pe măsură ce mașina dvs. se prăbușește în toate orientările posibile, puteți face asta cu ușurință. Și putem lua derivata așa cum am văzut. Deci putem face optimizări, cele mai mici pătrate. Dacă nu există o soluție în formă închisă, avem cel puțin o modalitate de a eșantiona acel spațiu de posibilități într-un mod uniform sau aleatoriu. Ok, bine, hai să vedem. Cât de târziu este? Ei bine, hai să mai facem câteva lucruri. OK, deci aici vom merge după o orientare absolută. Aceasta este orientarea relativă. Și asta este ceva mai mult, așa că orientarea absolută este foarte importantă pentru fotogrammetrie, realizarea hărților topografice din fotografii aeriene. Dar în ceea ce privește înțelegerea vederii umane, unul dintre cele zece indicii de adâncime este stereo binocular. Și deci orientarea relativă acolo este mai importantă. Și deci asta e problema , avem doi ochi. Și ochii nu capătă profunzime. Ei primesc doar indicații. Deci avem direcțiile în fiecare dintre acele sisteme de coordonate de punctat în lume. Și vă arăt în 5. Și se pare că 5 este numărul minim de care aveți nevoie pentru a rezolva această problemă. Și problema ta este să afli care este acea linie de bază și care este orientarea relativă a acestui sistem de coordonate față de aceasta. Cu alte cuvinte, avem o traducere. Și vom avea o rotație. Deci, din acest punct de vedere, este aceeași problemă. Doar că datele noastre acum nu sunt la fel de bune. Dar... în orientare absolută, știm de fapt coordonatele 3D ale tuturor acestor puncte. Și asta face posibilă obținerea unei soluții în formă închisă. Aici știm doar direcțiile. Deci aceasta este problema pe care o vom rezolva după o orientare absolută. Atunci, dacă încerci să descrii cinematica unui robot manipulator, ei bine, în zilele noastre oamenii sunt leneși. Tu doar o cumperi. Și software-ul face toate acestea pentru tine. Dar pe vremuri trebuia să ne plimbăm pe zăpadă. Nu era autobuz. Ei bine, pe vremuri, de fapt trebuia să înțelegi geometria acestor dispozitive. Și asta înseamnă că, pe măsură ce parcurgeți fiecare link, faceți o translație și o rotație. Și așadar, dacă doriți să evitați problemele cu sistemele de coordonate aliniate, în special la încheietura mâinii, atunci cuaternionii sunt o modalitate bună de a reprezenta rotația. Deci, la încheietura mâinii, de exemplu, vă puteți imagina că dacă această parte apare acum, va exista o perioadă în care această axă de aici este paralelă cu axa respectivă. Și ai pierdut un grad de libertate. Deci probleme de calcul... acum, cred că în zilele noastre computerele sunt destul de rapide. Așa că nu ne mai facem griji pentru asta. Dar dacă trebuie să faceți acest lucru pentru fiecare punct al unui obiect din reprezentarea grafică, aceasta ar putea fi o problemă. Deci, să vedem cât de scump este. Deci, din nou, există două lucruri pe care vrem să le facem -- să compunem rotații și să rotim vectori. Deci, pentru compoziție, știm că este doar înmulțirea a doi cuaternioni. Și dacă o faci în mod naiv, doar urmând acea formulă, obții 16 înmulțiri și 12 adunări. Și dacă o faci cu o matrice ortonormală, bineînțeles, este un produs de matrice 3 pe 3 , care este 27 de multiplicatori și 18 adunări. Deci noi câștigăm... cu siguranță câștigăm aici. Să trecem la rotirea unui vector. Deci folosim această formulă. Și putem extinde partea pe care o dorim, care este partea vectorială - 22 de multiplicatori, 16 adunări. Comparați matricea-- hopa, 9 înmulțiri și 6 adunări. Deci, aici, pierdem. Dar acest lucru poate fi rescris în această formă, care are avantajul că calculezi qr-ul o dată și îl folosești în două locuri diferite. Și o reduceți la 15 multiplicatori și 12 adaosuri. Și acestea sunt lucruri naive. Oamenii care iau în serios acest lucru merg mai departe. De exemplu, cu o matrice 3 pe 3, ei nu o reprezintă ca o matrice 3 pe 3. Cel mult, iei primele două rânduri, pentru că celălalt e implicit. Este un produs încrucișat. Și așa amândoi-- ca să poți avea o competiție, în care să continui să mergi de ambele părți. Și ajung să fie similare, dar cu avantajul pentru compoziție mergând la cuaternioni și avantajul pentru vectorii rotativi mergând la ortonormal. OK, ce zici de renormalizare? Deci, unul dintre lucrurile care se întâmplă - să presupunem că aveți un program grafic care încearcă să facă o secvență de mișcare. Și compuți mici rotații incrementale. Și dacă le reprezentați, să spunem, ca matrici ortonormale, vă puteți imagina că din cauza limitărilor aritmeticii în virgulă mobilă, erorile se vor acumula. Și după un timp, matricea ta 3 pe 3 nu mai este ortonormală. Și așa ai vrea să- l împotriviți. Și asta se poate face. Dar necesită acest lucru. Îți iei matricea și înmulți-- iei transpunerea, înmulți cu M. Și iei inversul rădăcinii pătrate a matricei. Așa că chiar acolo mi-aș imagina că s-ar putea să nu știi cum să faci asta. Dar se poate face. Dar asta sugerează doar că aceasta nu este o operație pe care ați dori să o faceți în mod normal. E scump. Cu cuaternioni, desigur, iei unitatea de cuaternion și o înmulți cu o altă unitate de cuaternion și așa mai departe. Și din cauza limitărilor aritmeticii în virgulă mobilă, după un timp nu este un cuaternion unitar. Cum îl îndreptați? Ei bine, trivial... deci aceasta este o altă mică diferență între ei. Așadar, cam la sfârșit-- așa că am vorbit despre spațiul de rotație fiind 3 sfere, sferă unitară în 4D cu puncte antipodale identificate. Și se întâmplă, de asemenea, să fie identic cu spațiul proiectiv p3, deși nu îl folosim. Și nu este la fel de util. Apoi eșantionăm regulat și aleatoriu... deci cum eșantionăm acest spațiu? Ei bine, în 3D, putem găsi cu ușurință o eșantionare regulată a spațiului sau chiar o eșantionare aleatorie. Dar nu este atât de evident cum să o faci aici. Și o modalitate este de a găsi modele regulate. Dacă... spunem că vrem să eșantionăm o sferă în mod regulat. Nici asta nu este atât de ușor. Cu siguranță, latitudinea și longitudinea nu o vor face. Dar un lucru pe care îl putem face este să proiectăm o poliedră pe ea, deoarece poliedrele sunt complet regulate. Deci, dacă proiectăm, să zicem, un icosaedru sau un dodecaicosaedru, care este o minge de fotbal -- oricine de aici știe despre fotbal -- atunci ajungem la un model pe sferă care este regulat. Dar există doar unele speciale , cum ar fi solidele obișnuite. Sunt doar câteva dintre ele. Ei bine, la fel și aici, cu excepția acum, suntem în 4D, iar lucrurile corespunzătoare sunt mai degrabă rotații decât poliedre. Și astfel se dovedește că, dacă te uiți la rotațiile poliedrelor, acestea îți vor oferi o eșantionare plăcută și uniformă a spațiului respectiv și a grupurilor de rotație - așa că tetraedrul are 12 rotații care îl vor alinia cu el însuși. Cubul și octaedrul au 24. Iar icosaedrul și dodecaedrul au 60. Deci acestea vă oferă o eșantionare distanțată perfect uniformă a spațiului respectiv. Din păcate, nu este o eșantionare foarte fină, nu, pentru că 60 în spațiul cu patru dimensiuni. Deci, există trucuri pentru a vă oferi o eșantionare mai fină. Dar toate încep cu acelea simple. Și chiar în timp ce am diapozitivele aici, dacă alegeți corect sistemele de coordonate, obțineți expresii foarte simple pentru aceste grupuri de rotație. Deci fiecare dintre acestea este o rotație. Aceasta, desigur, este rotația identității... nu face nimic. Aceasta este rotația în jurul axei x cu 180 de grade. Și aceasta este despre axa y și așa mai departe. Deci acesta este grupul pentru tetraedru. Ele oferă o eșantionare regulată distanțată a spațiului respectiv. Aceasta este pentru hexaedru și octaedru. Și apoi premiul este acesta. Acesta este grupul de rotație pentru dodecaedrul și un icosaedru, unde aceste a, b, c, d sunt date de aceste expresii de acolo. Acestea ar trebui să pară familiare. Acest lucru funcționează numai dacă îl aliniați frumos cu sistemul de coordonate. Oricum, aceasta ar fi o mostră. Așa că ați putea încerca aceste 60 de orientări pentru căutarea dvs. sau pentru calcularea mediei. Și apoi puteți interpola mai departe. Bine, ei bine, am rămas fără timp. Deci asta e tot pentru azi.