W3docs

deg2rad()

Die PHP-Funktion deg2rad() wandelt einen Winkel von Grad in Bogenmass um. Erfahren Sie, wie sie funktioniert und wann sie eingesetzt wird.

Die PHP-Funktion deg2rad() konvertiert einen in Grad gemessenen Winkel in den entsprechenden Winkel in Bogenmass. Diese Seite erklärt den Rückgabewert, warum die Umrechnung wichtig ist, wie die Funktion mit PHPs trigonometrischen Funktionen zusammenarbeitet und welche Fallstricke es zu beachten gibt.

Warum Grad in Bogenmass umrechnen?

Menschen denken bei Winkeln meist in Grad (ein voller Kreis hat 360°), aber PHPs trigonometrische Funktionen — sin(), cos(), tan() und andere — erwarten ihr Argument in Bogenmass, wobei ein voller Kreis (etwa 6,28) beträgt. Wenn Sie Grad direkt an sin() übergeben, erhalten Sie ein falsches Ergebnis. deg2rad() ist die Brücke: erst umrechnen, dann die trigonometrische Funktion aufrufen.

Die Mathematik dahinter ist eine einfache Proportion:

radians = degrees × (π / 180)

So gibt deg2rad(180) den Wert π (≈ 3,14159265…) und deg2rad(90) den Wert π/2 (≈ 1,5707963…) zurück.

Syntax

deg2rad(float $num): float
  • $num — der Winkel in Grad. Jeder float- oder integer-Wert wird akzeptiert, einschliesslich negativer Werte und Werte grösser als 360.
  • Rückgabewert — derselbe Winkel ausgedrückt in Bogenmass, als float.

deg2rad() ist die Umkehrfunktion von rad2deg(), die die entgegengesetzte Richtung berechnet.

Grundlegendes Beispiel

php— editable, runs on the server

Dies gibt aus:

0.78539816339745

Dieser Wert entspricht π/4 — genau ein Viertel von π, was sinnvoll ist, da 45° ein Viertel von 180° sind.

deg2rad() mit trigonometrischen Funktionen verwenden

Der häufigste Anwendungsfall für deg2rad() ist die Übergabe eines Gradwerts an sin(), cos() oder 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
?>

Die erste Zeile gibt korrekt 0.5 zurück (den Sinus von 30°). Die zweite behandelt 30 als 30 Bogenmass — ungefähr 4,7 vollständige Umdrehungen — sodass das Ergebnis nichts mit 30 Grad zu tun hat. Dies ist der häufigste Fehler beim Arbeiten mit Winkeln in PHP.

Mit anderen Winkeln arbeiten

deg2rad() akzeptiert jeden numerischen Wert, nicht nur die „runden" Zahlen:

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

Für genaue Werte stellt PHP auch pi() und die Konstante M_PI zur Verfügung, sodass deg2rad(180) und M_PI dieselbe Zahl ergeben.

Fallstricke

  • Trigonometrische Funktionen erwarten Bogenmass. deg2rad() konvertiert nur die Zahl; es ändert nicht das Verhalten von sin()/cos()/tan(). Konvertieren Sie immer vor dem Aufruf der trigonometrischen Funktion.
  • Gleitkomma-Genauigkeit. Ergebnisse sind Gleitkommazahlen, daher können Vergleiche wie deg2rad(180) == M_PI aufgrund von Rundung unzuverlässig sein. Vergleichen Sie stattdessen mit einer kleinen Toleranz anstelle von ==.
  • echo kürzt die Anzeige. echo zeigt standardmässig etwa 14 signifikante Stellen; der gespeicherte float enthält mehr. Verwenden Sie printf('%.20f', deg2rad(45)), wenn Sie die volle Genauigkeit sehen möchten.

Fazit

deg2rad() rechnet einen Winkel in Grad mithilfe von degrees × π / 180 in Bogenmass um und wird fast immer unmittelbar vor einer trigonometrischen Funktion wie sin(), cos() oder tan() eingesetzt. Denken Sie daran: PHPs trigonometrische Funktionen arbeiten in Bogenmass — verwenden Sie deg2rad() für die Hinrichtung und rad2deg() für die Rückrichtung.

Übungen

Übung
Was ist der Zweck der Funktion deg2rad() in PHP?
Was ist der Zweck der Funktion deg2rad() in PHP?
Was this page helpful?