Annonce

Réduire
Aucune annonce.

Calcul de trigonométrie sphérique : demande d'aide

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • #16
    Salut

    Une proposition voisine :

    Avion := A = (latA, lonA)
    Balise := B = (latB, lonB)
    Route souhaitée vers balise := Rs

    [Toutes les fonctions trigo ci-dessous s'entendent en radians, mais latitudes, longitudes et courses sont exprimées en degrés]

    1) Route vraie entre A et B :
    ------------------------------------
    Rv = atan2((lonB - lonA) * pi / 180, log(tan(pi / 4 + latB * pi / 360) / tan(pi / 4 + latA * pi / 360))) * 180.
    Si Rv négatif, ajouter 360 à Rv (uniquement pour satisfaire la convention qu'une route s'exprime entre 0 et 360)

    [on aperçoit cette formule dans le deuxième lien donné par secmast, dans la rubrique Rhumb lines/ Bearing]

    2) Avion à gauche ou à droite de la route souhaitée ? :
    --------------------------------------------------------------------
    Si Rv < Rs : trop à droite ; si Rv > Rs : trop à gauche (mnémo : d "plus petit" que g dans alphabet, donc si route calculée plus petite que souhaitée -> d, sinon g)

    3) Distance le long de route vraie entre A et B :
    ------------------------------------------------------------
    d = |latD - latA| * 60Mn / |cos( Rv * pi / 180)| [formule numériquement instable si Rv très proche de 90 ou de 270, dans ce cas la remplacer par 60Mn * |lonA - lonB| * cos(latA * pi / 180)]

    C'est d'ailleurs une des définitions équivalentes d'une ligne de rumb : le gain en latitude y est proportionnel à la distance parcourue.

    4) Ecart à la route souhaitée :
    --------------------------------------
    Pour des tronçons de quelques centaines de Nm au plus et des écarts de routes raisonnables une bonne approximation de l'écart (et qui peut se faire de tête) est donnée par :
    erreur de route * distance / 60, soit |Rv - Rs| * d / 60.

    ----

    Dans ta calculette en ligne tu évalues la distance A à B comme une distance le long d'un grand cercle, hors à course constante les trajectoires ne sont pas des grands cercles mais des lignes de rumb (de fait aucune des formules ci-dessus n'est de la trigonométrie sphérique, elles sont liées à la projection de Mercator). Pour de faibles distances les deux seront proches à quelques Nm près, donc si tu veux garder cette formule (idem pour le calcul de la route vraie) plutôt que celles en 1) + 3) ci-dessus tu peux sans trop de risque. Par contre pour l'écart et le côté gauche/droite je ne sais pas quel calcul tu as fait exactement mais j'ai l'impression qu'il doit y avoir plus qu'une erreur d'approximation (pour un avion à Grenoble voulant se rendre à Paris par une route au 360 elle indique qu'on serait trop à gauche).
    Avec 2) - 4) tu peux le faire de tête (d'ailleurs le navigateur du Tupolev ne devait pas avoir droit à PhP ).
    Dernière modification par Oscar Pilote, 17 avril 2019, 00h22.
    Linux Debian sid - Intel i7 4Ghz - 16Gb RAM - Nvidia GTX 970
    Ortho4XP v130 : Dépôt github (mises à jour au fil de l'eau (avant la période de sécheresse)), ou Version clés en main sous Windows.

    Commentaire


    • #17
      Salut

      Merci pour la réponse.

      Je planche dessus .....................................

      Pour la détermination gauche/droite je compare le cap des routes AB et XB, faut que je creuse.
      Pour le calcul de la distance de l'écart c'est de la trigo plane.

      Hervé
      La lecture des manuels, tutos, docs ... libère le pilote de la machine :-)
      X -plane 11 Win 11 Pro Gigabyte Z690 I7 12700K /64DDR5 5600Mhz RTX 3090 24Go

      Commentaire


      • #18
        Envoyé par Oscar Pilote Voir le message
        ..//..

        3) Distance le long de route vraie entre A et B :
        ------------------------------------------------------------
        d = |latD - latA| * 60Mn / |cos( Rv * pi / 180)| [formule numériquement instable si Rv très proche de 90 ou de 270, dans ce cas la remplacer par 60Mn * |lonA - lonB| * cos(latA * pi / 180)]

        C'est d'ailleurs une des définitions équivalentes d'une ligne de rumb : le gain en latitude y est proportionnel à la distance parcourue.

        4) Ecart à la route souhaitée :
        --------------------------------------
        Pour des tronçons de quelques centaines de Nm au plus et des écarts de routes raisonnables une bonne approximation de l'écart (et qui peut se faire de tête) est donnée par :
        erreur de route * distance / 60, soit |Rv - Rs| * d / 60.
        Bonjour Oscar

        Une donnée de plus concernant la résolution de mon problème d'écart.

        Sans dénigrer cette formation (au contraire) j'ai suivie une formation agricole qui n'avait pas au programme les mêmes amusement que les 1er et terminales "standard".
        Concernant la programmation et les maths je suis un genre de "fait toi toi même".

        Bref

        Cette formule d = |latD - latA| * 60Mn / |cos( Rv * pi / 180)| c'est du produit scalaire ?

        Merci

        Hervé
        La lecture des manuels, tutos, docs ... libère le pilote de la machine :-)
        X -plane 11 Win 11 Pro Gigabyte Z690 I7 12700K /64DDR5 5600Mhz RTX 3090 24Go

        Commentaire


        • #19
          Bonjour Hervé,
          Envoyé par djetdail Voir le message
          Cette formule d = |latD - latA| * 60Mn / |cos( Rv * pi / 180)| c'est du produit scalaire ?
          Oui, c'est exactement cela ! Un degré de latitude c'est (par définition) 60Mn donc si on suivait un méridien la distance serait juste |latD - latA|*60Mn. Mais quand on parcourt une route avec un angle constant
          par rapport aux méridiens, la composante "sud-nord" de notre vitesse n'est plus égale mais seulement proportionnelle à notre vitesse absolue, et le facteur de proportionnalité est précisément égal au produit scalaire d'un
          vecteur unité suivant notre vitesse vraie avec un vecteur unité dirigé vers le nord (ce qui est aussi égal au cosinus de l'angle entre les deux vecteurs, comme dans la formule ci-dessus).

          L'Auvergne est réputée pour son terrain fertile, on n'y fait pas pousser que du blé tendre formaté ;-)
          Bons amusements.
          Linux Debian sid - Intel i7 4Ghz - 16Gb RAM - Nvidia GTX 970
          Ortho4XP v130 : Dépôt github (mises à jour au fil de l'eau (avant la période de sécheresse)), ou Version clés en main sous Windows.

          Commentaire


          • #20
            Salut Oscar

            Merci pour l'explication.

            Je re planche.



            Concernant les terres fertiles de l'Auvergne qui a d'ailleurs été récemment rattachée à la région Rhônes Aples par l'édit de Hollande, je ne les connais pas.

            Je cultive ... mon savoir sur les terres du Vivarais autrefois appelées Helvie, qui étaient peuplées de Celtes.

            Le changement de nom est dû à l'arrivée de Chrétiens dans la région et de l'établissement de chefs Chrétiens (appelé évêque) à Viviers.

            Bref, la culture de ce que tu sous entends a débuté en juillet 1968, cela a été les prémices de l'agriculture dite biologique, en effet la qualité primait sur la quantité :-)

            Tous un tas de techniques ont été mises au point, elles sont encore utilisées aujourd'hui.

            Puis Pierre, pas l’apôtre mais Rabhi, est venu nous distiller son savoir.


            Allez fume pas trop .... du cerveau.


            Hervé
            La lecture des manuels, tutos, docs ... libère le pilote de la machine :-)
            X -plane 11 Win 11 Pro Gigabyte Z690 I7 12700K /64DDR5 5600Mhz RTX 3090 24Go

            Commentaire


            • #21
              Salut

              Je suis meilleur en histoire régionale qu'en mathématique supérieure au niveau du BEPC.

              Je n'arrive pas à "php-iser" le scalaire ... je vais donc à la pèche.

              Hervé
              La lecture des manuels, tutos, docs ... libère le pilote de la machine :-)
              X -plane 11 Win 11 Pro Gigabyte Z690 I7 12700K /64DDR5 5600Mhz RTX 3090 24Go

              Commentaire


              • #22
                Salut,

                Si tu parles de la formule deux posts plus haut elle provient bien d'un produit scalaire mais les * qu'elle contient sont des multiplications usuelles entre 2 nombres réels, et les |.| sont des valeurs absolues. Je ne connais pas bien la syntaxe php mais ça doit donner qqch comme
                d = abs(latA-latB)*60/abs(cos(degtorad(Rv)))
                puis
                ecart_approx = d * abs(Rv-Rs) / 60

                Votre dévouée ablette.
                Linux Debian sid - Intel i7 4Ghz - 16Gb RAM - Nvidia GTX 970
                Ortho4XP v130 : Dépôt github (mises à jour au fil de l'eau (avant la période de sécheresse)), ou Version clés en main sous Windows.

                Commentaire


                • #23
                  D'après mes souvenirs, en php c'est le signe $ qui définit une variable

                  donc, d'après la formule de l'ablette (), les variables sont :
                  d
                  latA
                  latB
                  Rv
                  ecart_approx
                  Rs

                  devant les quelles il faut placer le signe $

                  la formule php-isée devient donc :

                  $d = abs($latA-$latB)*60/abs(cos(degtorad($Rv)))
                  puis
                  $ecart_approx = $d * abs($Rv-$Rs) / 60

                  étant entendu que toutes ces variables sont définies avant la formule () comme ceci :

                  $d= parametre ;
                  $latA= parametre ;
                  $latB = parametre ;
                  $Rv = parametre ;
                  $Rs = parametre ;

                  Ne pas oublier le point virgule en tant que séparateur d'instructions
                  si ça peut aider
                  Réseaux CAVOK
                  iMac ie5 2020 - SSD 2 To - 128 Go RAM 16 Go VRAM - Big Sur- X52- Palo Flight Pro -XP 12.xx
                  Tutos complets [depuis 2004] X-Plane v8->v12 - VFR-IFR- Helico-Hydro-Meteo -Navigation - Réseaux (swift) , Little Navmap - WED 2.5-Ortho4XP 1.30 (+BigSur), etc.( >1 820 000 visites) - http://xplanefr.com
                  Je cogite, j'ergote, mais j'assume.

                  Commentaire


                  • #24
                    Salut

                    J'avoue avoir un peu laissé l'ouvrage sur l'établi, mon cerveau a été occupé à d'autre "routine".

                    Je mets ma blouse et me remets à l'ouvrage à mon retour de Corse .... plouf

                    Cliquez sur l'image pour la voir en taille réelle 

Nom : 		hamac.jpg 
Affichages :	1 
Taille :		35,4 Ko 
ID : 			467155
                    La lecture des manuels, tutos, docs ... libère le pilote de la machine :-)
                    X -plane 11 Win 11 Pro Gigabyte Z690 I7 12700K /64DDR5 5600Mhz RTX 3090 24Go

                    Commentaire

                    Chargement...
                    X