Cos'è quaternioni?

Quaternioni

I quaternioni sono un sistema numerico che estende i numeri complessi. Furono descritti per la prima volta da William Rowan Hamilton nel 1843. Sono particolarmente utili per rappresentare rotazioni e orientamenti in tre dimensioni, evitando problemi come il Gimbal%20Lock che possono verificarsi con gli angoli di Eulero.

Definizione:

Un quaternione è un numero della forma:

q = a + bi + cj + dk

Dove:

  • a, b, c e d sono numeri reali.

  • i, j e k sono le unità quaternioni che soddisfano le seguenti relazioni fondamentali:

    • i² = j² = k² = -1
    • ij = k, ji = -k
    • jk = i, kj = -i
    • ki = j, ik = -j

Il numero reale a è chiamato parte scalare e bi + cj + dk è chiamato parte vettoriale del quaternione.

Operazioni:

  • Addizione: L'addizione di due quaternioni si esegue sommando le componenti corrispondenti: (a₁ + b₁i + c₁j + d₁k) + (a₂ + b₂i + c₂j + d₂k) = (a₁ + a₂) + (b₁ + b₂)i + (c₁ + c₂)j + (d₁ + d₂)k

  • Moltiplicazione: La moltiplicazione di quaternioni è non commutativa e si esegue utilizzando le relazioni fondamentali tra i, j e k. È distributiva.

  • Coniugato: Il coniugato di un quaternione q = a + bi + cj + dk è definito come q* = a - bi - cj - dk.

  • Norma: La norma di un quaternione q = a + bi + cj + dk è definita come: |q| = √(a² + b² + c² + d²).

  • Quaternione Unitario: Un quaternione con norma 1 è chiamato quaternione unitario. Questi quaternioni sono usati per rappresentare rotazioni.

  • Inverso: L'inverso di un quaternione non nullo q è dato da: q⁻¹ = q* / |q|². Se q è unitario, allora q⁻¹ = q*.

Rappresentazione di Rotazioni:

Un quaternione unitario può rappresentare una rotazione nello spazio 3D. La rotazione di un vettore v attorno a un asse definito da un quaternione unitario q è data da:

v' = qvq⁻¹

Dove v è rappresentato come un quaternione con parte scalare 0 e la parte vettoriale corrispondente al vettore.

Applicazioni:

I quaternioni sono ampiamente utilizzati in:

  • Grafica 3D: Per rappresentare rotazioni di oggetti in modo efficiente e senza problemi di Gimbal%20Lock.
  • Robotica: Per controllare l'orientamento di robot e bracci meccanici.
  • Navigazione e Avionica: Per calcolare e mantenere l'orientamento di veicoli.
  • Fisica: In meccanica quantistica e relatività.

Vantaggi rispetto ad altre rappresentazioni di rotazioni:

  • Compattezza: Richiedono solo 4 numeri per rappresentare una rotazione.
  • Efficienza: Le operazioni di rotazione sono computazionalmente efficienti.
  • Interpolazione: È possibile interpolare tra due rotazioni usando la Slerp (Spherical Linear Interpolation), producendo rotazioni fluide.
  • Assenza di Gimbal Lock: Non soffrono del problema del Gimbal%20Lock presente negli angoli di Eulero.

Svantaggi:

  • Complessità Concettuale: La comprensione dei quaternioni può essere più difficile rispetto ad altre rappresentazioni come gli angoli di Eulero.
  • Normalizzazione: I quaternioni unitari devono essere normalizzati per mantenere la loro validità, il che può aggiungere un overhead computazionale.