IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Soustraction d'angle en degres


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 61
    Points : 41
    Points
    41
    Par défaut Soustraction d'angle en degres
    Salut à tous,

    je travaile sur des données d'une girouette, et je souhaite controler ses données .

    Mes données sont les angles du vent entre 0 et 360°.
    Mon soucis c'est que dans mon controle de donnée je suis amené à calculer

    donnée_actuelle - donnée_précédent

    Hors pour un exemple ou je me trouve à 10° actuellement alors que j'etais à 350 à l'instant d'avant je vais me retrouver à 20-350=-330 alors qu'en réalitée ma girouette n'a parcourue que 30°.

    Quelqu'un à une méthode simple pour calculer ca comme il faut?

    Merci

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!

    Il n'y a pas de solution "parfaite" à ton problème. Considérons l'exemple suivant:
    • donnée précédente: 90 degrés
    • donnée suivante: 270 degrés

    Le résultat est-il 180 degrés ou -180 degrés? Tu ne sais pas dans quelle sens ta girouette a tourné.

    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Regarde du coté des statistiques angulaires.
    Par exemple, la moyenne se fait en calculant la moyenne des sinus/cosinus.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Sasuke1234 Voir le message
    Quelqu'un à une méthode simple pour calculer ca comme il faut?
    Que ce soit 0-360 ou 0-180 (ou 0-PI ou 0-2PI) , il y a problème de discontinuité..

    Ces calculs sont simplement à expliciter, avec leurs conditions... Ou, comme le dit ToTo13, à éviter... On n'a pas le choix..
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  5. #5
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par FR119492 Voir le message
    Salut!

    Il n'y a pas de solution "parfaite" à ton problème. Considérons l'exemple suivant:
    • donnée précédente: 90 degrés
    • donnée suivante: 270 degrés

    Le résultat est-il 180 degrés ou -180 degrés? Tu ne sais pas dans quelle sens ta girouette a tourné.

    Jean-Marc Blanc
    Et si par choix je prendrai toujours le positif en priorité

  6. #6
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Mais finalement je peux tout simplement faire

    val=abs(dir_actuelle - direc_prec)
    if val>180
    val=val-180
    end


    et j'obtiens bien ce que je veux non?

  7. #7
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Citation Envoyé par Sasuke1234 Voir le message
    Mais finalement je peux tout simplement faire

    val=abs(dir_actuelle - direc_prec)
    if val>180
    val=val-180
    end

    et j'obtiens bien ce que je veux non?
    Non, pas encore: en prenant la valeur absolue tu perds le sens de variation de l'angle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    val = dir_actuelle - direc_prec
    if val>180
         val = val - 360
         return
    if val<-180
         val = val + 360
    end

  8. #8
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    cool merci, simple en faite, pourquoi vouloir tout ramener au math et statistique angulaire???

  9. #9
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Citation Envoyé par Sasuke1234 Voir le message
    cool merci, simple en faite, pourquoi vouloir tout ramener au math et statistique angulaire???
    Pour avoir un calcul de moyenne juste et simple...
    Je fais cela pour des moyennes d'angles (dans des matrices statistiques), ça fonctionne très bien.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par ToTo13 Voir le message
    (dans des matrices statistiques), ça fonctionne très bien.
    Sans doute.. Mais le test indiqué est quand même simple, et exact... Pourquoi faire compliqué quand on peut faire simple
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Angle en Degrés
    Par star971 dans le forum Android
    Réponses: 0
    Dernier message: 06/05/2014, 16h42
  2. Affichage angles en degrés
    Par LOOOMM dans le forum Excel
    Réponses: 3
    Dernier message: 22/08/2011, 07h33
  3. Angle: Format de Cellule Degre
    Par Didou007 dans le forum Excel
    Réponses: 2
    Dernier message: 20/08/2011, 18h37
  4. Signe d'un angle orienté en degrés entre 2 vecteurs 3d
    Par Djakisback dans le forum Mathématiques
    Réponses: 10
    Dernier message: 29/12/2010, 10h30
  5. angle entre 2 segments
    Par tane dans le forum Mathématiques
    Réponses: 4
    Dernier message: 25/09/2002, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo