ASIN |
ArcSinus |
|---|---|
| Oracle Database SQL | Oracle 8i (8.1.5) ou supérieure |
Syntaxe
| ASin(Nombre) |
Paramètres
| Nom | Description |
|---|---|
| Nombre | Ce paramètre permet d'indiquer l'expression contenant le nombre à traiter |
Description
Cette fonction trigonométrique retourne l'«ArcSinus».
Algorithme
|
MODULE ABS(valeur) SI valeur < 0 ALORS RETOURNE - valeur SINON RETOURNE valeur FIN SI MODULE SQRT(X) SI X = 0.0 ALORS RETOURNE 0.0 SINON M ← 1.0 XN ← X BOUCLE FAIRE TANT QUE XN ≥ 2.0 XN ← 0.25 x XN M ← 2.0 x M FIN BOUCLE FAIRE TANT QUE BOUCLE FAIRE TANT QUE XN < 0.5 XN ← 4.0 x XN M ← 0.5 x M FIN BOUCLE FAIRE TANT QUE A ← XN B ← 1.0 - XN BOUCLE REPETER A ← A x (1.0 + 0.5 x B) B ← 0.25 x (3.0 + B) x B x B FIN BOUCLE JUSQU'A B ← 1.0E - 15 RETOURNE A x M FIN SI MODULE ARCTAN(X) A ← 1.0 / SQRT(1.0 + (X x X)) B ← 1.0 BOUCLE POUR N ← 1 JUSQU'A 11 A ← (A + B) / 2.0 B ← SQRT(A x B) FIN BOUCLE POUR RETOURNE X / (SQRT(1.0 + (X x X)) x A) MODULE ASIN(a) PI ← 3.141592653589793 SI ABS(a) = 1.0 ALORS RETOURNE PI / 2.0 SINON RETOURNE ARCTAN(a / SQRT(1 - a*a)) FIN SI |
Remarques
- Retourne l'angle dont le sinus vaut le nombre donné : La fonction ASIN(nombre) calcule l'arc sinus d'un nombre, c'est-à-dire l'angle dont le sinus est égal au paramètre fourni. Il s'agit de l'inverse mathématique de la fonction SIN.
- Le paramètre doit obligatoirement être compris entre -1 et 1 : Le domaine de validité de ASIN est strictement limité à l'intervalle [-1 ; 1]. Si le nombre fourni est en dehors de cette plage, Oracle génère une erreur de domaine mathématique (ORA-3049).
- Le résultat est exprimé en radians : Comme toutes les fonctions trigonométriques en SQL Oracle, ASIN retourne un résultat en radians, et non en degrés. Le résultat est compris entre -π/2 et +π/2, soit environ entre -1.57 et +1.57.
- Fonction utile dans les calculs trigonométriques inverses : ASIN est utilisée lorsqu'on connaît une valeur de sinus (exemple rapport d'opposée sur l'hypoténuse) et qu'on souhaite retrouver l'angle correspondant. C'est fréquent en géométrie, physique, navigation ou modélisation spatiale.
- Souvent utilisée avec SQRT, POWER ou d'autres fonctions trigonométriques : Dans les calculs complexes, on combine ASIN avec SQRT ou COS, notamment dans le cadre de formules de distances sur la sphère (loi des haversines), ou de calculs d'angles en géométrie vectorielle.
- Fonction mathématique déterministe : ASIN est pure et déterministe : à une même entrée, elle renvoie toujours le même résultat, indépendamment du contexte SQL. Cela permet de l'utiliser en toute sécurité dans des vues, des index ou des expressions calculées.
- Non disponible dans les très anciennes versions d'Oracle : La fonction ASIN est disponible à partir d'Oracle 8i. Dans des environnements très anciens ou restreints, il peut être nécessaire de la simuler avec des méthodes géométriques ou du PL/SQL personnalisé.
- Peut être utilisée dans des clauses SELECT, WHERE, ou ORDER BY : On peut intégrer ASIN dans n'importe quelle expression SQL : pour filtrer, trier, ou calculer dynamiquement des valeurs trigonométriques à partir de données numériques, par exemple dans un système de positionnement ou de cartographie.
Exemple
Voici un exemple montrant l'Arc Cosinus de 0,5 :
- SELECT asin(0.5) FROM DUAL;
on obtiendra le résultat suivant :
| ASIN(0.5) |
| ,52359877559829887307710723054658381405 |
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Vendredi, le 15 mai 2015