Start · Sprachen · PHP · Referenz · atan

atan

Funktion

Berechnet den Arkustangens (Umkehrfunktion des Tangens) eines Wertes und gibt das Ergebnis in Radiant zurück.

seit PHP 4.0.0 Kategorie: math

Signatur

atan(float $num): float

Beschreibung

atan() ist die mathematische Umkehrfunktion des Tangens. Sie nimmt einen numerischen Wert entgegen und liefert den Winkel in Radiant, dessen Tangens diesem Wert entspricht. Der Rückgabewert liegt stets im Bereich von -π/2 bis +π/2 (ca. -1.5708 bis 1.5708).

Um den berechneten Winkel von Radiant in Grad umzurechnen, multipliziert man das Ergebnis mit 180 / M_PI. Umgekehrt wandelt man Grad in Radiant um, indem man den Gradwert mit M_PI / 180 multipliziert, bevor man ihn an trigonometrische Funktionen übergibt.

Für Berechnungen, bei denen sowohl die x- als auch die y-Komponente eines Vektors bekannt sind (z. B. Winkelbestimmung in einem Koordinatensystem), empfiehlt sich stattdessen die Funktion atan2(), da diese den Quadranten des Winkels korrekt berücksichtigt.

Parameter

Name Typ Default Beschreibung
$num Pflicht float Der Wert, für den der Arkustangens berechnet werden soll. Es gibt keine Einschränkung des Wertebereichs; alle reellen Zahlen sind gültige Eingaben.

Rückgabewert

Typ
float
Beschreibung
Den Arkustangens von num in Radiant als Gleitkommazahl im Bereich [-π/2, +π/2].

Beispiele

Grundlegende Verwendung von atan()

<?php
$wert = 1.0;
$radiant = atan($wert);
$grad = $radiant * (180 / M_PI);

echo 'atan(1) in Radiant: ' . $radiant . PHP_EOL;
echo 'atan(1) in Grad:    ' . $grad . PHP_EOL;

echo 'atan(0) in Grad:    ' . (atan(0) * 180 / M_PI) . PHP_EOL;
echo 'atan(-1) in Grad:   ' . (atan(-1) * 180 / M_PI) . PHP_EOL;
atan(1) in Radiant: 0.78539816339745 atan(1) in Grad: 45 atan(0) in Grad: 0 atan(-1) in Grad: -45

Winkelberechnung aus Steigung einer Rampe

<?php
// Eine Rampe steigt 3 Meter auf einer horizontalen Strecke von 10 Metern an.
$hoehe      = 3.0;
$strecke    = 10.0;
$steigung   = $hoehe / $strecke; // Tangens des Winkels

$winkelRad  = atan($steigung);
$winkelGrad = $winkelRad * (180 / M_PI);

printf('Steigungswinkel: %.4f Radiant (%.2f Grad)%s', $winkelRad, $winkelGrad, PHP_EOL);
Steigungswinkel: 0.2915 Radiant (16.70 Grad)

// Wichtig · Fallstricke

Radiant vs. Grad: PHP-Trigonometriefunktionen arbeiten ausschließlich mit Radiant. Ein häufiger Fehler ist es, Grad direkt zu übergeben oder den Rückgabewert ohne Umrechnung als Grad zu interpretieren.

Hinweis zu atan2(): Wenn die x- und y-Koordinaten eines Punktes separat vorliegen, sollte atan2($y, $x) bevorzugt werden, da es den vollständigen Winkelbereich von bis abdeckt und eine Division durch null vermeidet.