Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème: Récupération d'angle

Un peu rouillé :confus:

    1 septembre 2011 à 10:37:39

    Bonjour à tous !

    Je bosse actuellement sur un projet en javascript et je dois réaliser un genre de boussole. Cette boussole ne doit pas indiquer le nord mais une position enregistrée au préalable.

    Afin que ma boussole affiche la bonne direction, j'ai pensé à calculer l'angle en ° entre le nord, moi meme et la position enregistrée, j'ai fait un petit schéma pour que vous compreniez mon probleme :
    Image utilisateur

    Et pour ceux qui ont envie d'un petit énoncé pour faciliter la résolution:
    Sachant que nous sommes dans un repère évoluant entre -180 et 180 en abscisses et entre 90 et -90 en ordonnées, on note C un point fixe pouvant être au départ n'importe ou dans le repère.
    On note B un point ayant une position variable et A un point dont vous choisissez les ordonnées (qui sont forcément > à la position en ordonnées de B) et qui a une valeur en abscisse égale au point B.
    Trouvez une façon de déterminer l'angle ABC compris entre 0 et 360° quelque soit la position des points.
    On notera que l'angle à trouver est bien celui obtus dessiné dans le cas représenté sur l'image ci-dessus. Si C était à droite de A et B, l'angle à déterminé aurait été aigu.

    En espérant avoir été clair et que vous pourrez me donner un coup de pouce ;)

    Merci !
    • Partager sur Facebook
    • Partager sur Twitter
      1 septembre 2011 à 11:00:51

      Dans le triangle <math>\(ABC\)</math>, tu connais les longueurs <math>\(AB=|y-y^{'}|\)</math> et<math>\(AB=|x-x^{'}|\)</math>. Tu peux facilement retrouver la distance <math>\(BC\)</math> si tu as les coordonnées de <math>\(B\)</math> et de <math>\(C\)</math>.

      De là un petit Al-Kashi devrait te permettre de trouver l'angle intérieur. Ensuite si <math>\(x^{'}>x\)</math> alors <math>\(\widehat{ABC}\)</math> est égal à 360 moins l'angle intérieur sinon il est égal à l'angle intérieur.

      (à vérifier)
      • Partager sur Facebook
      • Partager sur Twitter
        1 septembre 2011 à 11:02:14

        Bonjour.
        Si j'ai bien compris, tu cherches simplement à calculer un angle dans un triangle, mais que connais-tu exactement?
        Si tu connais les coordonnées de chaque point, ou les longueurs de chaque côté, alors ton problème est assez simple et peut se résoudre en calculant :
        <math>\(\cos(\overrightarrow{BC},\overrightarrow{BA})=\frac{\overrightarrow{BC}.\overrightarrow{BA}}{||\overrightarrow{BC}||\times||\overrightarrow{BA}||}\)</math>
        <math>\(\sin(\overrightarrow{BC},\overrightarrow{BA})=\frac{\text{det}(\overrightarrow{BC},\overrightarrow{BA})}{||\overrightarrow{BC}||\times||\overrightarrow{BA}||}\)</math>
        Où <math>\(.\)</math> désigne le produit scalaire de deux vecteurs, et <math>\(\text{det}\)</math> leur déterminant. Une fois que tu connais le cosinus et le sinus de l'angle que tu cherche, tu peux en déduire l'angle, à partir d'une fonction du genre arcsinus, arccosinus, ou arctangente.
        • Partager sur Facebook
        • Partager sur Twitter
          1 septembre 2011 à 15:59:01

          Tu peux pas tout simplement utiliser la fonction <math>\(arctan(\frac{|x' - x|}{|y - y'|})\)</math> ?
          • Partager sur Facebook
          • Partager sur Twitter
            1 septembre 2011 à 16:59:45

            Cette partie de mon projet est en pause pour le moment, j'ai pris note de vos posts et vous remercie :D

            J'up dès que je me suis remis au boulot là-dessus :)
            • Partager sur Facebook
            • Partager sur Twitter

            Problème: Récupération d'angle

            × 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