deg2rad()
Découvrez la fonction deg2rad() en PHP, qui convertit un angle exprimé en degrés en son équivalent en radians.
La fonction PHP deg2rad() convertit un angle mesuré en degrés en l'angle équivalent en radians. Cette page explique ce qu'elle retourne, pourquoi la conversion est importante, comment elle s'associe aux fonctions trigonométriques de PHP, et les pièges à éviter.
Pourquoi convertir les degrés en radians ?
Les gens pensent généralement aux angles en degrés (un cercle complet fait 360°), mais les fonctions trigonométriques de PHP — sin(), cos(), tan(), et autres — attendent leur argument en radians, où un cercle complet vaut 2π (environ 6,28). Si vous passez directement des degrés à sin(), vous obtenez un résultat erroné. deg2rad() fait le pont : convertissez d'abord, puis appelez la fonction trigonométrique.
La formule mathématique est une simple proportion :
radians = degrees × (π / 180)Ainsi, deg2rad(180) retourne π (≈ 3,14159265…) et deg2rad(90) retourne π/2 (≈ 1,5707963…).
Syntaxe
deg2rad(float $num): float$num— l'angle en degrés. Toute valeur float ou entière est acceptée, y compris les valeurs négatives et celles supérieures à 360.- Valeur de retour — le même angle exprimé en radians, sous forme de
float.
deg2rad() est l'inverse de rad2deg(), qui effectue la conversion dans l'autre sens.
Exemple de base
Cela affiche :
0.78539816339745Cette valeur correspond à π/4 — exactement un quart de π, ce qui est logique puisque 45° représente un quart de 180°.
Utiliser deg2rad() avec les fonctions trigonométriques
La raison la plus courante d'utiliser deg2rad() est de passer une valeur en degrés à sin(), cos() ou 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 première ligne retourne correctement 0.5 (le sinus de 30°). La seconde traite 30 comme 30 radians — soit environ 4,7 tours complets autour du cercle — donc le résultat n'a rien à voir avec 30 degrés. C'est l'erreur la plus fréquente lors du travail avec les angles en PHP.
Travailler avec d'autres angles
deg2rad() accepte n'importe quelle valeur numérique, pas seulement les valeurs « rondes » :
<?php
echo deg2rad(180); // 3.1415926535898 (π)
echo "\n";
echo deg2rad(360); // 6.2831853071796 (2π)
echo "\n";
echo deg2rad(-90); // -1.5707963267949 (negative angle)
?>Pour des valeurs exactes, PHP expose également pi() et la constante M_PI, donc deg2rad(180) et M_PI produisent le même nombre.
Pièges à éviter
- Les fonctions trigonométriques attendent des radians.
deg2rad()ne convertit que la valeur ; elle ne change pas le comportement desin()/cos()/tan(). Convertissez toujours avant l'appel trigonométrique. - Précision des nombres flottants. Les résultats sont des flottants, donc les comparaisons telles que
deg2rad(180) == M_PIpeuvent être peu fiables en raison des arrondis. Comparez avec une tolérance plutôt qu'avec==. echotronque l'affichage.echoaffiche environ 14 chiffres significatifs par défaut ; le float stocké en contient davantage. Utilisezprintf('%.20f', deg2rad(45))si vous avez besoin de voir la précision complète.
Conclusion
deg2rad() convertit un angle en degrés en radians via la formule degrés × π / 180, et s'utilise presque toujours juste avant une fonction trigonométrique telle que sin(), cos() ou tan(). N'oubliez pas que les fonctions trigonométriques de PHP travaillent en radians : utilisez deg2rad() pour aller dans ce sens, et rad2deg() pour revenir aux degrés.