asin()
Die Funktion asin() in PHP gibt den Arkussinus einer Zahl zurück – den Winkel, dessen Sinus dem angegebenen Wert entspricht.
Die Funktion asin() in PHP gibt den Arkussinus (inversen Sinus) einer Zahl zurück – also den Winkel, dessen Sinus dem gegebenen Wert entspricht. Sie ist die mathematische Umkehrung von sin(): Während sin() einen Winkel in ein Verhältnis umwandelt, wandelt asin() dieses Verhältnis zurück in einen Winkel. Der zurückgegebene Winkel wird in Bogenmaß (Radiant) ausgedrückt.
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 asin() zu den anderen trigonometrischen PHP-Funktionen.
Syntax
asin(float $num): float$num— ein Float im Bereich-1bis1(einschließlich). Dies ist erforderlich, da der Sinus eines reellen Winkels immer in diesem Bereich liegt.- Rückgabewert — der Arkussinus von
$numin Radiant, im Bereich-π/2bisπ/2(etwa-1,5708bis1,5708). Liegt$numaußerhalb von-1..1, gibt die FunktionNAN(Not a Number) zurück.
Ein einfaches Beispiel
Wir übergeben 0.5 an asin(), und die Funktion gibt ungefähr 0,5236 Radiant zurück – was genau π / 6 entspricht, dem Winkel, dessen Sinus 0,5 ist.
Das Ergebnis in Grad umrechnen
Da asin() Radiant zurückgibt, wird das Ergebnis für eine lesbare Ausgabe fast immer in Grad umgerechnet. Verwenden Sie dazu rad2deg() oder multiplizieren Sie mit 180 / pi():
<?php
$angle_in_radians = asin(0.5);
$angle_in_degrees = rad2deg($angle_in_radians);
echo $angle_in_degrees; // 30
?>Der Winkel, dessen Sinus 0,5 ist, beträgt also 30 Grad. Die umgekehrte Umrechnung – Grad in Radiant vor dem Aufruf einer Trigonometrie-Funktion – erfolgt mit deg2rad().
Häufige Werte
Diese Referenzpunkte sind nützlich, wenn Sie mit asin() arbeiten:
<?php
echo asin(-1); // -1.5707963… (-π/2, i.e. -90°)
echo "\n";
echo asin(0); // 0 (sin 0° = 0)
echo "\n";
echo asin(1); // 1.5707963… (π/2, i.e. 90°)
?>Eingaben außerhalb des gültigen Bereichs behandeln
Wenn Sie einen Wert kleiner als -1 oder größer als 1 übergeben, kann kein reeller Winkel diesen Sinus erzeugen, und asin() gibt NAN zurück. Sichern Sie sich 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(asin($value));
} else {
echo "Input must be between -1 and 1.";
}
// Output: Input must be between -1 and 1.
?>Sie können das Ergebnis auch mit is_nan() nach dem Funktionsaufruf prüfen.
Wann verwende ich asin()?
asin() kommt immer dann zum Einsatz, wenn Sie einen Winkel aus einem Sinusverhältnis zurückgewinnen müssen:
- Geometrie und Grafik — Bestimmung eines Erhebungswinkels aus dem Verhältnis von Gegenkathete zu Hypotenuse.
- Navigation — Berechnung von Breitengraden und Peilungen in der sphärischen Trigonometrie.
- Physik — Bestimmung von Winkeln bei Schwingungen, Optik (Snellsches Brechungsgesetz) und Wurfproblemen.
Die Funktion gehört zur gleichen Familie wie acos() (Arkuskosinus) und atan() (Arkustangens). Für die hyperbolische Variante siehe asinh().
Fazit
Die Funktion asin() gibt den Arkussinus einer Zahl als Winkel in Radiant zurück, akzeptiert Eingaben von -1 bis 1 und gibt NAN für alles außerhalb dieses Bereichs zurück. Denken Sie daran, das Ergebnis mit rad2deg() in Grad umzurechnen, wenn Sie eine lesbare Ausgabe benötigen, und Eingaben zu validieren, die außerhalb des gültigen Definitionsbereichs liegen könnten.