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 è 2π (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
Questo stampa:
0.78539816339745Quel 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 disin()/cos()/tan(). Converti sempre prima della chiamata trigonometrica. - Precisione in virgola mobile. I risultati sono float, quindi confronti come
deg2rad(180) == M_PIpossono essere inaffidabili a causa degli arrotondamenti. Confronta con una piccola tolleranza invece di usare==. echotronca la visualizzazione.echomostra circa 14 cifre significative per impostazione predefinita; il float memorizzato ne contiene di più. Usaprintf('%.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.