asin()
Aprende a usar la función asin() en PHP para obtener el arcoseno de un número y convertir el resultado a grados.
La función asin() en PHP devuelve el arcoseno (seno inverso) de un número — es decir, el ángulo cuyo seno es igual al valor dado. Es la operación matemática inversa de sin(): donde sin() convierte un ángulo en una razón, asin() convierte esa razón de vuelta en un ángulo. El ángulo devuelto se expresa en radianes.
Esta página cubre la sintaxis, el rango de entrada válido, cómo convertir el resultado a grados, casos especiales como entrada fuera de rango, y cómo asin() se relaciona con las demás funciones trigonométricas de PHP.
Sintaxis
asin(float $num): float$num— un float en el rango de-1a1(inclusive). Esto es necesario porque el seno de cualquier ángulo real siempre cae dentro de ese rango.- Valor de retorno — el arcoseno de
$num, en radianes, en el rango de-π/2aπ/2(aproximadamente-1.5708a1.5708). Si$numestá fuera de-1..1, la función devuelveNAN(Not a Number).
Un Ejemplo Básico
Pasamos 0.5 a asin() y devuelve aproximadamente 0.5236 radianes — que es exactamente π / 6, el ángulo cuyo seno es 0.5.
Convertir el Resultado a Grados
Como asin() devuelve radianes, casi siempre se convierte a grados para obtener una salida legible. Usa rad2deg() o multiplica por 180 / pi():
<?php
$angle_in_radians = asin(0.5);
$angle_in_degrees = rad2deg($angle_in_radians);
echo $angle_in_degrees; // 30
?>Así, el ángulo cuyo seno es 0.5 es 30 grados. La conversión inversa — convertir grados a radianes antes de llamar a una función trigonométrica — se realiza con deg2rad().
Valores Comunes
Estos puntos de referencia son útiles para memorizar al trabajar con asin():
<?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°)
?>Manejo de Entrada Fuera de Rango
Si pasas un valor menor que -1 o mayor que 1, el seno de ningún ángulo real podría producirlo, por lo que asin() devuelve NAN. Protégete contra esto cuando la entrada provenga de datos del usuario o de cálculos:
<?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.
?>También puedes detectar el resultado con is_nan() después de llamar a la función.
¿Cuándo Usaría asin()?
asin() aparece cuando necesitas recuperar un ángulo a partir de una razón de seno:
- Geometría y gráficos — encontrar un ángulo de elevación a partir de la razón entre el lado opuesto y la hipotenusa.
- Navegación — calcular latitudes y rumbos en trigonometría esférica.
- Física — resolver ángulos en oscilación, óptica (ley de Snell) y problemas de proyectiles.
Pertenece a la misma familia que acos() (arcocoseno) y atan() (arcotangente). Para la variante hiperbólica, consulta asinh().
Conclusión
La función asin() devuelve el arcoseno de un número como un ángulo en radianes, aceptando entradas de -1 a 1 y devolviendo NAN para cualquier valor fuera de ese rango. Recuerda convertir el resultado a grados con rad2deg() cuando necesites una salida legible, y validar la entrada que pueda caer fuera del dominio válido.