Che cos'è un giroscopio?

Un giroscopio è un piccolo sensore all'interno del tuo telefono, tablet o laptop che misura la rotazione attorno a tre assi. Combinato con l'accelerometro e il magnetometro, indica al dispositivo in quale direzione è inclinato, quanto velocemente sta ruotando e verso quale direzione è rivolto. Questi dati alimentano la rotazione automatica dello schermo, la realtà aumentata, i giochi di corse, le foto panoramiche, il conteggio dei passi e la stabilizzazione delle immagini.

I dispositivi moderni espongono queste informazioni ai browser web attraverso l'API DeviceOrientationEvent. Il browser segnala tre angoli — alfa, beta e gamma — che insieme descrivono l'orientamento del dispositivo nello spazio 3D rispetto alla Terra.

Comprendere alfa, beta e gamma

I tre angoli di orientamento descrivono ciascuno la rotazione attorno a un asse diverso:

  • Alfa (0–360°) — Rotazione attorno all'asse Z (verticale). Immagina di far ruotare il dispositivo piatto su un tavolo; alfa è la direzione simile a una bussola.
  • Beta (-180–180°) — Rotazione attorno all'asse X (sinistra-destra). Questa è l'inclinazione anteriore-posteriore, come se inclinassi il dispositivo verso o lontano da te.
  • Gamma (-90–90°) — Rotazione attorno all'asse Y (alto-basso). Questa è l'inclinazione sinistra-destra, come se inclinassi il dispositivo di lato.

Descrizione dello strumento

Questo strumento legge i dati di orientamento in tempo reale dal giroscopio del tuo dispositivo e li renderizza come un modello 3D che rispecchia il tuo movimento in tempo reale. Visualizza anche i valori grezzi di alfa, beta e gamma in gradi in modo da poter verificare che il sensore funzioni correttamente e produca letture accurate.

Esempi

Posizione del dispositivo Alfa Beta Gamma
Disteso, schermo in alto, parte superiore verso N
Tenuto in verticale in modalità portrait 90°
Inclinato con bordo destro verso il basso (landscape) 90°
Ruotato 180° disteso, schermo ancora in alto 180°

Funzionalità

  • Modello 3D in tempo reale che ruota in sincronia con il tuo dispositivo
  • Letture in tempo reale di alfa, beta e gamma in gradi
  • Rileva se il browser supporta l'API di orientamento
  • Gestisce i prompt di autorizzazione su iOS per l'accesso al movimento
  • Mostra se i dati di orientamento sono assoluti (riferiti alla Terra) o relativi

Casi d'uso

  • Diagnosticare un sensore difettoso — Verifica se il giroscopio del tuo telefono funziona correttamente prima di inviarlo in riparazione o restituirlo.
  • Testare app web che utilizzano il movimento — Gli sviluppatori che creano esperienze AR, giochi controllati dal movimento o anteprime VR possono convalidare l'input del sensore direttamente nel browser.
  • Controllo della calibrazione — Conferma che i valori di orientamento tornino a zero quando il dispositivo è disteso, aiutandoti a individuare derive o errori di calibrazione.

Come funziona

Lo strumento si iscrive all'evento deviceorientation del browser, che si attiva ogni volta che l'orientamento del tuo dispositivo cambia. Ogni evento fornisce i valori attuali di alfa, beta e gamma. Il modello 3D utilizza Three.js per convertire questi angoli in una rotazione quaternione, applicata con interpolazione fluida su ogni frame di animazione per evitare tremolii.

Limitazioni

  • Richiede un dispositivo con un giroscopio integrato (la maggior parte dei desktop e molti laptop non ne hanno uno)
  • iOS Safari richiede un'autorizzazione esplicita tramite un gesto dell'utente prima che i dati del sensore vengano condivisi
  • Richiede un contesto sicuro (HTTPS) sulla maggior parte dei browser moderni
  • Alcuni browser segnalano l'orientamento solo quando la pagina è in primo piano

Suggerimenti

  • Se le letture rimangono a zero, il tuo dispositivo probabilmente non ha un giroscopio o il browser sta bloccando l'accesso
  • Su iOS, tocca il pulsante "Abilita movimento" dopo il caricamento della pagina — l'autorizzazione non può essere concessa automaticamente
  • Posiziona il dispositivo piatto su una superficie stabile per confermare i valori di base prima di testare le inclinazioni