W3docs

deg2rad()

La funzione deg2rad() in PHP converte un angolo da gradi a radianti. Scopri sintassi, esempi e utilizzo con le funzioni trigonometriche.

La funzione PHP deg2rad() converte un angolo misurato in gradi nell'angolo equivalente in radianti. Questa pagina spiega cosa restituisce, perché la conversione è importante, come si abbina alle funzioni trigonometriche di PHP e gli errori comuni da evitare.

Perché convertire i gradi in radianti?

Di solito si pensa agli angoli in gradi (un cerchio completo è 360°), ma le funzioni trigonometriche di PHP — sin(), cos(), tan() e simili — si aspettano l'argomento in radianti, dove un cerchio completo è (circa 6,28). Se si passa direttamente un valore in gradi a sin(), il risultato sarà errato. deg2rad() è il ponte: converte prima, poi chiama la funzione trigonometrica.

La formula matematica è una semplice proporzione:

radians = degrees × (π / 180)

Quindi deg2rad(180) restituisce π (≈ 3.14159265…) e deg2rad(90) restituisce π/2 (≈ 1.5707963…).

Sintassi

deg2rad(float $num): float
  • $num — l'angolo in gradi. Sono accettati qualsiasi float o integer, inclusi valori negativi e valori superiori a 360.
  • Valore restituito — lo stesso angolo espresso in radianti, come float.

deg2rad() è l'inverso di rad2deg(), che opera nella direzione opposta.

Esempio di base

php— editable, runs on the server

Questo stampa:

0.78539816339745

Quel valore è π/4 — esattamente un quarto di π, il che ha senso perché 45° è un quarto di 180°.

Utilizzo di deg2rad() con le funzioni trigonometriche

Il motivo più comune per usare deg2rad() è passare un valore in gradi a sin(), cos() o tan():

<?php
// sin() expects radians, so convert the 30° angle first
echo sin(deg2rad(30)); // 0.5

echo "\n";

// Without the conversion the result is meaningless:
echo sin(30);          // -0.98803162409286
?>

La prima riga restituisce correttamente 0.5 (il seno di 30°). La seconda tratta 30 come 30 radianti — circa 4,7 giri completi del cerchio — quindi l'output non ha nulla a che fare con 30 gradi. Questo è l'errore più frequente quando si lavora con gli angoli in PHP.

Utilizzo con altri angoli

deg2rad() accetta qualsiasi valore numerico, non solo quelli "comodi":

<?php
echo deg2rad(180);  // 3.1415926535898  (π)
echo "\n";
echo deg2rad(360);  // 6.2831853071796  (2π)
echo "\n";
echo deg2rad(-90);  // -1.5707963267949 (negative angle)
?>

Per valori esatti, PHP espone anche pi() e la costante M_PI, quindi deg2rad(180) e M_PI producono lo stesso numero.

Errori comuni

  • I radianti entrano ed escono dalle funzioni trigonometriche. deg2rad() converte solo il numero; non cambia il comportamento di sin()/cos()/tan(). Converti sempre prima della chiamata trigonometrica.
  • Precisione in virgola mobile. I risultati sono float, quindi confronti come deg2rad(180) == M_PI possono essere inaffidabili a causa degli arrotondamenti. Confronta con una piccola tolleranza invece di usare ==.
  • echo tronca la visualizzazione. echo mostra circa 14 cifre significative per impostazione predefinita; il float memorizzato ne contiene di più. Usa printf('%.20f', deg2rad(45)) se hai bisogno di vedere la precisione completa.

Conclusione

deg2rad() converte un angolo in gradi in radianti usando gradi × π / 180, e viene quasi sempre usata subito prima di una funzione trigonometrica come sin(), cos() o tan(). Ricorda che le funzioni trigonometriche di PHP lavorano in radianti, usa deg2rad() per convertire in ingresso e rad2deg() per tornare nella direzione opposta.

Esercizio

Pratica
Qual è lo scopo della funzione deg2rad() in PHP?
Qual è lo scopo della funzione deg2rad() in PHP?
Was this page helpful?