Partage
  • Partager sur Facebook
  • Partager sur Twitter

Atan2

    16 octobre 2020 à 17:24:25

    Salut,
    Sur Excel, j'ai cette formule qui fonctionne bien
    =DEGRES( ATAN2( COS(AT27);SIN(AT27)*COS(W26) ) )
    J'essaie de la réaliser en visual mais cela ne fonctionne pas
    =(180 / Math.PI) * Math.Atan2(Math.Cos(AT27), Math.Sin(AT27) * Math.Cos(W26))

    Si vous pouvez m'aider, ce serait très sympa.
    • Partager sur Facebook
    • Partager sur Twitter
      16 octobre 2020 à 17:53:44

      C'est sensé être quoi "AT27 ou "W26" en .NET (et pas "en Excel") ?

      Message d'erreur et code source, SVP.

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        16 octobre 2020 à 19:21:16

        Ce sont les valeurs, j'aurai pu mettre AT27=50 par exemple. Ce qui pose problème c'est la formule elle même.
        • Partager sur Facebook
        • Partager sur Twitter
          16 octobre 2020 à 19:46:30

          Comme Math.Cos et Math.Sin veulent des angles en radian, votre "AT27=50", ça sent la boulette, parce que 50 radiants, c'est pas commun.

          https://docs.microsoft.com/fr-fr/dotnet/api/system.math.cos?view=netcore-3.1

          ...

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
            16 octobre 2020 à 20:02:23

            Voici la formule Excel avec les valeurs
            =DEGRES(ATAN2(COS(5,62);SIN(5,62)*COS(0,4)))
            ce qui donne -35,74
            Maintenant en VB.Net
            =(180 / Math.PI) * (Math.Atan2(Math.Cos(5.62), Math.Sin(5.62) * Math.Cos(0.4)))
            ça donne 125,73
            • Partager sur Facebook
            • Partager sur Twitter
              17 octobre 2020 à 11:10:27

              J'ai la solution
              Dim AA As Double = (180 / Math.PI) * (Math.Atan2(Math.Sin(5,62) * Math.Cos(0,4), Math.Cos(5,62)))

              C'était juste une inversion de données
              (x,y) sur Excel et (y,x) en VB.Net

              • Partager sur Facebook
              • Partager sur Twitter
                19 octobre 2020 à 10:43:41

                Effectivement, Excel semble ne pas utiliser la norme de fait.

                Bon à savoir, merci :

                https://stackoverflow.com/questions/1045630/why-are-the-arguments-to-atan2-y-x-rather-than-x-y

                https://en.wikipedia.org/wiki/Atan2

                • Partager sur Facebook
                • Partager sur Twitter
                Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

                Atan2

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown