Start · Sprachen · PHP · Referenz · asin

asin

Funktion

Berechnet den Arkussinus (inversen Sinus) eines Wertes und gibt das Ergebnis im Bogenmaß (Radiant) zurück.

seit PHP 4.0.0 Kategorie: math

Signatur

asin(float $num): float

Beschreibung

asin() ist die Umkehrfunktion des Sinus. Sie nimmt einen Wert im Bereich [-1, 1] und gibt den zugehörigen Winkel im Bogenmaß zurück, der im Bereich [-π/2, π/2] liegt.

Die Funktion ist besonders nützlich in der Geometrie, Trigonometrie und Physik – zum Beispiel wenn aus einem bekannten Sinus-Verhältnis der zugrundeliegende Winkel berechnet werden soll. Um das Ergebnis in Grad umzuwandeln, kann man es mit dem Faktor 180 / M_PI multiplizieren.

Liegt der übergebene Wert außerhalb des gültigen Bereichs [-1, 1], gibt die Funktion NAN (Not a Number) zurück, da der Arkussinus für solche Werte im reellen Zahlenbereich nicht definiert ist.

Parameter

Name Typ Default Beschreibung
$num Pflicht float Der Wert, dessen Arkussinus berechnet werden soll. Muss im Bereich [-1.0, 1.0] liegen.

Rückgabewert

Typ
float
Beschreibung
Den Arkussinus von num im Bogenmaß (Radiant) als float im Bereich [-π/2, π/2]. Liegt num außerhalb von [-1, 1], wird NAN zurückgegeben.

Beispiele

Arkussinus berechnen und in Grad umwandeln

<?php
// Arkussinus von 0.5 berechnen (entspricht 30 Grad)
$radiant = asin(0.5);
$grad = $radiant * (180 / M_PI);

echo 'Radiant: ' . $radiant . PHP_EOL;
echo 'Grad: '    . $grad    . PHP_EOL;
Radiant: 0.5235987755983 Grad: 30

Winkel aus Gegenkathete und Hypotenuse berechnen

<?php
// Ein rechtwinkliges Dreieck: Gegenkathete = 3, Hypotenuse = 5
$gegenkathete = 3;
$hypotenuse   = 5;

$sinus = $gegenkathete / $hypotenuse; // 0.6
$winkelRad  = asin($sinus);
$winkelGrad = $winkelRad * (180 / M_PI);

echo 'Winkel in Grad: ' . round($winkelGrad, 4) . PHP_EOL;
Winkel in Grad: 36.8699

Ungültiger Eingabewert — NAN als Ergebnis

<?php
// Wert außerhalb des gültigen Bereichs
$ergebnis = asin(2.0);

if (is_nan($ergebnis)) {
    echo 'Ungültiger Eingabewert: Ergebnis ist NAN' . PHP_EOL;
} else {
    echo $ergebnis . PHP_EOL;
}
Ungültiger Eingabewert: Ergebnis ist NAN

// Wichtig · Fallstricke

Bereichseinschränkung: Der Eingabewert muss zwingend im Intervall [-1, 1] liegen. Werte außerhalb dieses Bereichs liefern NAN, was zu schwer nachvollziehbaren Fehlern führen kann. Prüfen Sie den Eingabewert daher vorab mit abs($num) <= 1.

Bogenmaß vs. Grad: PHP-Winkelfunktionen arbeiten ausschließlich mit Bogenmaß (Radiant). Zur Umrechnung in Grad nutzen Sie rad2deg() oder multiplizieren mit 180 / M_PI.