Rotații spațiale cu cuaternioane

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Cuaternionii oferă o notație matematică convenabilă pentru reprezentarea orientărilor și rotațiilor obiectelor în trei dimensiuni. Comparativ cu unghiurile Euler, acestea au funcții mai simple pentru a compune și a evita problema blocării cardanului . În comparație cu matricele de rotație, acestea sunt mai stabile numeric și poate mai eficiente. Atunci când sunt utilizate pentru a reprezenta rotații, cuaternionii sunt numiți și versori sau cuaternioni de rotație , atunci când sunt folosiți pentru a reprezenta direcții sunt numiți cuaternioni de orientare .

Folosiți cuaternioane pentru rotații

Orice rotație în trei dimensiuni poate fi reprezentată ca o combinație între o axă și un unghi de rotație. Cuaternionii reprezintă o modalitate simplă de a codifica această reprezentare axa-unghi în patru numere și aplică rotația corespunzătoare unui vector de poziție care reprezintă un punct relativ la originea din R 3 . Cuaternionii preced utilizarea vectorilor în matematică, astfel încât unele notații necesare continuă să fie utilizate în contextul vectorilor. Notare vectorială , , este o rămășiță a acestui timp, în care un vector ca sau poate fi rescris ca sau . Folosind această notație pentru formula lui Euler , se poate reprezenta o rotație cuaternară folosind formula:

unde este este unghiul de rotație și vectorul este un vector unitate reprezentând axa de rotație. Factorul 1/2 permite reprezentarea rotațiilor atât în ​​sensul acelor de ceasornic cât și în sens invers acelor de ceasornic. Pentru a aplica rotații la un punct reprezentat de poziția vectorială , calculăm produsul Hamilton :

unde este este noul vector de poziție al punctului după rotație și este conjugatul lui :

Două cuaterniuni reprezentând două rotații pot fi combinate într-un singur cuaternion echivalent prin intermediul relației:

unde este corespunde rotației urmat de rotație (rețineți că multiplicarea între cuaternioni nu este comutativă ). Astfel, un număr arbitrar de rotații poate fi compus recursiv și apoi aplicat ca o singură rotație.

Simplificarea înmulțirii dintre cuaternioni , pot fi rescrise ca o matrice de rotație într-o reprezentare a rotației axa-unghi:

Deși trebuie acordată atenție cazurilor degenerate (când cuaternionul devine cuaternion identitar sau sinusul devine zero), axa și unghiul pot fi obținute, începând de la cuaternionul de rotație în felul următor:

Rețineți că axa de rotație trebuie să treacă prin origine, altfel trebuie să fie tradusă astfel încât să treacă prin origine înainte de a aplica rotația și apoi tradusă înapoi la poziția sa originală.

Operații de rotație cu cuaternion

O explicație formală a proprietăților utilizate în această secțiune este dată de Altmann. [1]

Hipersfera rotațiilor

Afișați spațiul rotațiilor

Cuaternionele unitare reprezintă spațiul matematic al rotațiilor în trei dimensiuni într-un mod foarte clar și simplu. Corespondența dintre rotații și cuaternioni poate fi înțeleasă prin vizualizarea spațiului rotațiilor în sine.

Orice rotație în trei dimensiuni poate fi descrisă printr-o rotație a unui anumit unghi față de unele axe. Să luăm în considerare cazul particular în care axa de rotație trece prin origine și se află în plan Putem specifica apoi axa uneia dintre aceste rotații alegând un punct pe un cerc și putem folosi raza cercului pentru a specifica unghiul de rotație. Alternativ, o rotație a cărei axă de rotație trece prin origine și se află în plan poate fi descris ca un punct pe o sferă cu rază fixă ​​în trei dimensiuni. Pornind de la polul nord al unei sfere în spațiul tridimensional, rotația identității (cu unghiul de rotație zero) poate fi definită în ea. În acest caz nu este definită nicio axă de rotație, iar unghiul de rotație (zero) este irelevant. O rotație cu un unghi de rotație foarte mic poate fi specificată de o secțiune plană a sferei paralelă cu planul și foarte aproape de polul nord. Raza circumferinței definită de această secțiune va fi foarte mică, corespunzând micului unghi de rotație. Pe măsură ce unghiurile de rotație devin mai mari, secțiunea se mișcă în direcția negativă a axei iar razele cercurilor devin mai mari până la atingerea ecuatorului sferei, ceea ce corespunde unui unghi de rotație de 180 de grade. Continuând spre sud, razele cercurilor devin mai mici (corespunzând valorii absolute a unghiului de rotație considerat ca număr negativ). De îndată ce Polul Sud este atins, rotația identității are loc din nou.

Rețineți că o serie de caracteristici ale acestor rotații și reprezentările lor sunt menținute de această vedere. Spațiul rotațiilor este continuu, fiecare rotație are un vecinătate de rotații care sunt aproape aceleași, iar acest vecinătate devine „plat” (adică poate fi reprezentat printr-un spațiu euclidian tridimensional de puncte) pe măsură ce întregul se micșorează. Mai mult, fiecare rotație este de fapt reprezentată de două puncte antipodale pe sferă, care se află la capetele opuse ale unei linii prin centrul sferei. Aceasta reflectă faptul că fiecare rotație poate fi reprezentată ca o rotație pe o anumită axă sau, în mod echivalent, ca o rotație negativă pe o axă îndreptată în direcția opusă (este o acoperire dublă de grupuri ). „Latitudinea” unui cerc care reprezintă un anumit unghi de rotație va fi jumătate din unghiul de rotație, deoarece punctul este deplasat de la polul nord la sud, latitudinea variază de la zero la 180 de grade, în timp ce unghiul de rotație merge de la 0 la 360 de grade . „Longitudinea” unui punct reprezintă deci o anumită axă de rotație. Cu toate acestea, rețineți că acest set de rotații nu este închis în ceea ce privește operația de compoziție. Compoziția a două rotații succesive cu axele în plan nu vor corespunde neapărat unei rotații a cărei axă se află în plan și, prin urmare, nu poate fi reprezentat ca un punct al sferei. Deci acesta nu este cazul general al unei rotații în spațiul tridimensional, al cărui set de rotații formează un set închis în raport cu compoziția.

Două rotații de unghiuri diferite pe axe diferite în spațiul rotațiilor. Lungimea vectorului reprezintă magnitudinea rotației.
Hipersferă de rotație pentru rotații având axa orizontală (în planul xy ) .Pentru fiecare punct al axei verticale 0 ° -360 ° există o axă a planului xy orizontal.

Această vizualizare poate fi extinsă la o rotație generală într-un spațiu tridimensional, adăugând o dimensiune la cazul văzut mai sus (circumferințele devin sfere): rotația identității rămâne un punct, un mic unghi de rotație de această dată nu corespunde unui punct pe o circumferință foarte mică.drept un punct pe o sferă foarte mică. Pe măsură ce unghiul de rotație crește, raza sferei crește, până când unghiul de rotație atinge 180 de grade, moment în care sfera începe să se micșoreze, devenind un punct imediat ce unghiul se apropie de 360 ​​de grade (sau zero grade față de direcția negativă ). Acest set obținut din expansiunea și contracția sferelor reprezintă o hipersferă într-un spațiu cu patru dimensiuni (numit și 3-sfere ). La fel ca exemplul mai simplu de mai sus, fiecare rotație reprezentată ca un punct pe hipersferă este asociată cu punctul său antipodal pe acea hipersferă. „Latitudinea” de pe hipersferă va fi jumătate din unghiul de rotație corespunzător, iar vecinătatea oricărui punct, pe măsură ce se micșorează, devine „mai plată” (adică poate fi reprezentată printr-un spațiu euclidian tridimensional de puncte). Acest comportament este combinat cu setul de cuaternioni unitari: un cuaternion general reprezintă un punct într-un spațiu cu patru dimensiuni, dar condiția de a avea o normă unitară îi permite să fie asociat cu un punct din spațiul tridimensional echivalent cu suprafața a unei hipersfere de rază unitară. Partea vectorială a unui cuaternion unitar reprezintă raza celor 2 sfere corespunzătoare axei de rotație, iar norma sa este sinusul jumătății unghiului de rotație. Fiecare rotație este reprezentată de două cuaternionuri unitare de semn opus și, ca și în setul de rotații în trei dimensiuni, produsul a două cuaternionuri unitare va produce un cuaternion unitar. Mai mult, spațiul cuaternarilor unitare este „plat” în orice vecinătate infinitesimală a unui cuaternar unitar.

Parametrizarea spațiului de rotații

Suprafața unei sfere poate fi parametrizată cu două coordonate, cum ar fi latitudinea și longitudinea. Din păcate, o parametrizare care folosește latitudinea și longitudinea prezintă o degenerare la poli, adică la poli longitudinea își pierde sensul. O reprezentare de acest tip nu este optimă, deoarece poli sunt tratați ca puncte speciale, ceea ce nu este corect, deoarece nu sunt inerent diferiți de toate celelalte puncte ale sferei. Se poate arăta că nici o parametrizare folosind doar două coordonate nu poate evita această degenerare. Pentru a rezolva problema, trebuie să luăm în considerare suprafața sferei scufundate într-un spațiu tridimensional și să o parametrizăm folosind trei coordonate carteziene. plasând polul nord a polul sud a iar ecuatorul a Punctele de pe sferă satisfac constrângerea pentru a menține încă două grade de libertate între coordonate. Un punct pe sferă reprezintă o rotație în spațiul obișnuit în jurul axei orizontale dată de vector a unui colț .

În același mod, spațiul hipersferic al rotațiilor tridimensionale poate fi parametrizat din trei unghiuri (de exemplu unghiurile lui Euler ), dar și în acest caz există degenerări în anumite puncte (vezi problema blocului cardanic ). Și aici problema poate fi ocolită folosind patru coordonate cu Ideea reprezintă o rotație în jurul axei dată de vector de unghi

De la rotații la cuaternare

Note cuaternare

Pictogramă lupă mgx2.svg Același subiect în detaliu: Quaternions .

Numerele complexe pot fi definite prin introducerea simbolului abstract i care îndeplinește regulile obișnuite ale algebrei și, de asemenea, îndeplinește regula i 2 = −1. Acest lucru este suficient pentru a reproduce toate regulile aritmeticii numerelor complexe, de exemplu:

În mod similar, cuaternionii pot fi definiți prin introducerea de simboluri abstracte i , j , k care satisfac regulile i 2 = j 2 = k 2 = ijk = −1 plus regulile algebrice obișnuite, cu excepția proprietății comutative a produsului (un exemplu tipic de multiplicarea necomutativă este înmulțirea matricilor ). Din aceasta rezultă că se poate arăta:

Partea imaginară din cuaternion poate fi asociat cu un vector în spațiul tridimensional și partea a este asociată cu un scalar . Când cuaternionii sunt folosiți în geometrie, este mai convenabil să îi definiți ca sumă scalară + vector :

Suma scalară + vectorul poate fi văzut ca suma a doi cuaternioni, unul cu partea vectorială egală cu și unul cu scalarul egal cu

Pentru cuaternioni produsul poate fi exprimat folosind produsul vector și produsul scalar al vectorilor obișnuiți. În virtutea regulilor i 2 = j 2 = k 2 = ijk = −1 avem:

unde este:

  • este cuaternionul produs;
  • este vectorul rezultat din produsul vector;
  • este rezultatul scalar al produsului scalar.

În cuaterniuni produsul nu este comutativ, datorită produsului vector. Din aceste reguli rezultă că:

Notă

  1. ^ Rotații, cuaterniuni și grupuri duble. Altmann, Simon L., Publicații Dover, 1986 (vezi capitolul 12).

linkuri externe