W3docs

acos()

Die Funktion acos() in PHP gibt den Arkuskosinus einer Zahl zurück – den Winkel, dessen Kosinus dem angegebenen Wert entspricht.

Die Funktion acos() in PHP gibt den Arkuskosinus (inversen Kosinus) einer Zahl zurück – also den Winkel, dessen Kosinus dem angegebenen Wert entspricht. Sie ist die mathematische Umkehrung von cos(): Während cos() einen Winkel in ein Verhältnis umwandelt, wandelt acos() dieses Verhältnis wieder in einen Winkel zurück. Der zurückgegebene Winkel wird in Radiant angegeben.

Diese Seite behandelt die Syntax, den gültigen Eingabebereich, die Umrechnung des Ergebnisses in Grad, Randfälle wie Eingaben außerhalb des gültigen Bereichs sowie die Beziehung von acos() zu den anderen trigonometrischen Funktionen in PHP.

Syntax

acos(float $num): float
  • $num — ein float im Bereich von -1 bis 1 (einschließlich). Dies ist erforderlich, weil der Kosinus eines beliebigen reellen Winkels stets in diesem Bereich liegt.
  • Rückgabewert — der Arkuskosinus von $num in Radiant, im Bereich 0 bis π (etwa 0 bis 3,14159). Liegt $num außerhalb von -1..1, gibt die Funktion NAN (Not a Number) zurück.

Ein einfaches Beispiel

php— editable, runs on the server

Wir übergeben 0.5 an acos() und erhalten ungefähr 1,0472 Radiant zurück – was genau π / 3 entspricht, dem Winkel, dessen Kosinus 0.5 ist.

Ergebnis in Grad umrechnen

Da acos() Radiant zurückgibt, wandelt man das Ergebnis für eine menschenlesbare Ausgabe fast immer in Grad um. Verwende dazu rad2deg() oder multipliziere mit 180 / pi():

<?php
$angle_in_radians = acos(0.5);
$angle_in_degrees = rad2deg($angle_in_radians);

echo $angle_in_degrees; // 60
?>

Der Winkel, dessen Kosinus 0.5 ist, beträgt also 60 Grad. Die umgekehrte Umrechnung – Grad in Radiant, bevor eine trigonometrische Funktion aufgerufen wird – erfolgt mit deg2rad().

Häufige Werte

Diese Referenzpunkte sind hilfreich zu kennen, wenn man mit acos() arbeitet:

<?php
echo acos(1);   // 0           (cos 0° = 1)
echo "\n";
echo acos(0);   // 1.5707963…  (π/2, i.e. 90°)
echo "\n";
echo acos(-1);  // 3.1415926…  (π,   i.e. 180°)
?>

Eingaben außerhalb des gültigen Bereichs behandeln

Übergibt man einen Wert kleiner als -1 oder größer als 1, kann kein reeller Winkel diesen Kosinus erzeugen, weshalb acos() NAN zurückgibt. Sichere dich dagegen ab, wenn die Eingabe aus Benutzerdaten oder Berechnungen stammt:

<?php
$value = 2; // outside the valid -1..1 range

if ($value >= -1 && $value <= 1) {
    echo rad2deg(acos($value));
} else {
    echo "Input must be between -1 and 1.";
}
// Output: Input must be between -1 and 1.
?>

Du kannst das Ergebnis auch mit is_nan() nach dem Funktionsaufruf prüfen.

Wann verwende ich acos()?

acos() kommt immer dann zum Einsatz, wenn du einen Winkel aus einem Kosinusverhältnis bestimmen musst:

  • Geometrie und Grafik — Berechnung des Winkels zwischen zwei Vektoren mithilfe der Skalarproduktformel.
  • Navigation — Berechnung von Peilungen und Großkreisentfernungen auf einer Kugel.
  • Physik — Bestimmung von Winkeln bei Wurfbewegungen oder Wellenphänomenen.

Sie gehört zur selben Familie wie asin() (Arkussinus) und atan() (Arkustangens). Für die hyperbolische Variante siehe acosh().

Fazit

Die Funktion acos() gibt den Arkuskosinus einer Zahl als Winkel in Radiant zurück, akzeptiert Eingaben von -1 bis 1 und gibt für Werte außerhalb dieses Bereichs NAN zurück. Denke daran, das Ergebnis mit rad2deg() in Grad umzurechnen, wenn du eine lesbare Ausgabe benötigst, und validiere Eingaben, die möglicherweise außerhalb des gültigen Bereichs liegen.

Übungen

Übung
Was macht die Funktion acos() in PHP?
Was macht die Funktion acos() in PHP?
Was this page helpful?