banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Thu 08 November 2007 11:42

Miss T.
Participant assidu
Lieu: En pleine amazonie...
Date d'inscription: 17 Oct 2005
Messages: 294

Faisons un peu de trigo...

Bonjour à tous,

J'essaie de calculer l'angle entre 2 points et tous les points d'un MNT. Pour celà, je calcule les longueurs puis j'utilise le théorême d'Al Kashi (qui est en gros le théorême de Pythagore appliquable à tous les triangles, même non rectangles) (c'est loin tout ça, hein?)

Ce qui me donne: (je vous ai joint un jpg explicatif)
Calcul des longueurs avec la formule L = racine carrée de [(Xa - Xb)² + (Ya - Yb)²]

Code:

Update MNT 
  Set Long_a = ( ((Xb - Xmnt)^2) + ((Yb - Ymnt)^2))^0.5 /1000 , 
      Long_b = ( ((Xa - Xmnt)^2) + ((Ya - Ymnt)^2))^0.5 /1000 , 
      Long_c = ( ((Xb - Xa)^2) + ((Yb - Ya)^2))^0.5 /1000

Calcul de l'angle Angle_Sensib (avec conversion radians ==> degrés) avec Al Kashi AngleC = arcCos((a²+b²-c²)/2ab)

Code:

Update MNT 
   Set angle_Sensib = aCos((Long_a ^2 + Long_b ^2 - Long_c ^2) / (2 * Long_a * Long_b) * 180 / Pi

Jusqu'ici, vous ne voyez pas le problème?
Normalement, je devrais avoir, par exemple, pour tous points du MNT entre les points A et B, un angle d'environ 180°, non? Je devrais avoir une symétrie des angles par rapport à l'axe au milieu de A et B.
Donc je ne comprend pas pourquoi j'obtiens le résultat suivant (voir jpg joint).

Quelqu'un peut m'expliquer le pourquoi du comment? J'avoue que ma trigo est TRES TRES lointaine...
Merci d'avance...


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Thu 08 November 2007 11:51

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Faisons un peu de trigo...

Pas de réponse mon neurone trigo est en panne, mais en revanche, une info à toutes fins utiles : nous avons mis à votre dispo un outil pour écrire des formules de math en LaTeX : des précisions ici.

Ca demande de bricoler un peu mais ca donne des jolis résultats wink

Robin.

Hors ligne

 

#3 Thu 08 November 2007 12:47

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Faisons un peu de trigo...

Bonjour
Loin de moi l'idée de contester Al Kashi ... la formule est sûrement juste. Mais le résultat n'est-il pas directement en radians ??
- si oui: Set angle_Sensib = aCos((Long_a ^2 + Long_b ^2 - Long_c ^2) / (2 * Long_a * Long_b))
- si non: Set angle_Sensib = aCos((Long_a ^2 + Long_b ^2 - Long_c ^2) / (2 * Long_a * Long_b)) * 180 / Pi
Dans les deux cas il y a (à mon sens) un problème de parenthèse dans votre formule originale
Pour les longueurs: pourquoi diviser tout par 1000 ??
Un petit Set CoordSys Table ma_table, suivi d'un Set Distance Units "m" seraient judicieux à placer avant tout

Hors ligne

 

#4 Thu 08 November 2007 13:54

Miss T.
Participant assidu
Lieu: En pleine amazonie...
Date d'inscription: 17 Oct 2005
Messages: 294

Re: Faisons un peu de trigo...

Mais le résultat n'est-il pas directement en radians ??


Si. Mais le fait de faire *180 / pi le transforme en degres. Ce qui est plus lisible pour mes neurones formatés à l'européenne...

Dans les deux cas il y a (à mon sens) un problème de parenthèse dans votre formule originale


Oups, c'est une erreur de recopiage/simplifiage lors de la rédaction du message pour le forum...

Pour les longueurs: pourquoi diviser tout par 1000 ??


Parce que j'ai besoin que ces données soient en km pour la suite des traitements.

J'avoue quand même que j'ai parfois du mal avec les degres/radians et cos/acos/sin et autres maths barbares...

Robin ==> La solution Latex ne fait que mettre en forme des formules maths, non?

Hors ligne

 

#5 Thu 08 November 2007 14:15

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Faisons un peu de trigo...

Miss T. a écrit:

... j'ai besoin que ces données soient en km pour la suite des traitements...


Dans ce cas, j'insiste, commencer par Set CoordSys Table ma_table, suivi d'un Set Distance Units "km" ne peut que faire du bien !

Hors ligne

 

#6 Fri 09 November 2007 08:41

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Faisons un peu de trigo...

Robin ==> La solution Latex ne fait que mettre en forme des formules maths, non?


oui smile Ca permet d'écrire des formules complexes que le texte seul ne pourrait pas reproduire efficacement et/ou difficilement.

Mais en fait je me dis que ce que tu as besoin c'est de formules qui vont dans Mapinfo, donc ce n'est pas forcément pratique dans ce cas précis. En revanche, pour des sujets comme celui-ci, ca peut commencer à devenir utile wink

Hors ligne

 

Pied de page des forums

Powered by FluxBB