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 :

Algorithmes basés sur des abaques


Sujet :

Algorithmes et structures de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 439
    Points : 161
    Points
    161
    Par défaut Algorithmes basés sur des abaques
    Bonjour,

    J'ai traité ce sujet dans le forum conception, mais je pense que sa place est plus ici:

    Je souhaite développer une application qui remplace la méthode graphique utilisant des abaques aéronautiques.

    Ci joint, les abaques en question:

    http://www.toofiles.com/fr/oip/docum...f/abaques.html

    Si un spécialiste de ce type de problème peut m'aider, je lui en serai très reconnaissant.

    Cordialement
    Pierre

  2. #2
    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
    et mes réponses ne te satisfont pas ??

    Qu'est-ce que tu ne comprend pas ?
    "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

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 439
    Points : 161
    Points
    161
    Par défaut
    Bonjour,

    Il n'y a pas de problème par rapport à tes réponses.
    Seulement, je ne vois pas comment les appliquer aux autres abaques (Attached)

    Merci de ton aide
    Pierre

  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
    eh bien comme je l'ai dit :

    pour tous les diagrammes ayant des droites, il est facile de les reproduire.
    Pour les autres c'est plus complexe, mais la plupart étant des graphiques liant hauteur, température, et pression, ils sont classques en météo, et il y a les équations physiques pour les reproduire.

    Il y a 2 questions de fond avant de démarrer :

    • veux-tu les reproduire sur un graphique équivalent (par exemple 3 ou 4 graphiques sur la même page tel que c'est présenté) ou si ils doivent être indépendants.

    • veux-tu juste les reproduire tels quels ou avoir les équations théoriques y menant ? (c'est à dire possèder des équations "de dessin" ou bien des équations physiques ?)
    "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 habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 439
    Points : 161
    Points
    161
    Par défaut
    En fait, ma recherche est de pouvoir traiter les exemples résolus graphiquement grâce à ces abaques sous forme d'une suite d'algorithmes qui permettent d'obtenir les mêmes résultats "informatiquement".

    Cordialement
    Pierre

  6. #6
    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
    donc une reproduction pure du papier, c'est bien ça ?

    Sans se formaliser que ce soit "approximatif" et non théorique, c'est bien ça ?



    PS: pour info, voici par exemple des axes de météo tracés d'après les équations théoriques (évidemment, c'est un peu plus compliqué que des équations de droites) : c'est un "téphigramme", permettant aux météorologues de voir d'un seul coup d'oeil, d'après par exemple un ballon-sonde ou la sortie d'un modèle numérique en vertical, si il y aura des orages, à quelle hauteur est le plafond, etc etc.. (7 axes !!!!)
    Images attachées Images attachées  
    "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

  7. #7
    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
    j'ajouterais que à mon avis le plus simple et efficace est vraiment de reprendre les graphiques tels qu'ils sont, c'est à dire créer des "pages" reproduisant telles quelles les pages, avec de 1 à 4-5 graphqiues par pages, avec le quadrillage tel qu'il est... Donc avec des "pages" carrées ou rectangulaires, telles qu'elles sont, subdivisées en "unités" telles qu'elles le sont.


    Comme je l'ai mentionné plus haut, le tracé de la plupart de ces graphiques sera quasi-instantané, les seules "astuces" de programmation consistant à délimiter les zones dans lesquelles le curseur sera actif, ce qui est relativement aisé en se basant sur le quadrillage actuel papier.. Ensuite ce sera simplement des interpolations linéaires pour déduire les bons paramètres pour le bon graphique..
    "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

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 439
    Points : 161
    Points
    161
    Par défaut
    Merci de ces précisions.

    En fait, j'avais imaginé une application (VB ou Delphi) dont l'interface permettrait de saisir les données suivantes:

    - Aéroport et piste utilisé (je possède une base données avec tout les éléments, dont la pente, l'altitude, l'orientation, la longueur réelle, les obstacles avec hauteur et distance du seuil.)
    - Température.
    - Vent (Direction et vitesse.)
    - Pression atmosphérique.

    En retour du traitement, l'application éditerait un document écran et papier (dit "carton de décollage") avec:

    - Masse maxi. décollage.
    - V1 piste sèche et V1 piste mouillée.(Vitesse à laquelle l'avion ne peut plus s'arrêter avant le bout de piste et au-delà de laquelle il doit décoller)
    - Vr (Vitesses de rotation A laquelle le pilote tire sur le manche pour faire décoller l'avion)
    - V2 (Vitesse à laquelle l'avion peut voler en sécurité)
    -Théta 2 (Angle d'assiette minimum pour monter avec 3 moteurs sur 4)

    Il existe des applications professionnelles qui font cela chez Air France.
    Je souhaiterais réaliser celle ci pour les passionnés de simulation aéronautique dont je fais partie.

    Les seules données dont je dispose sont ces abaques qui permettent de réaliser cette tâche graphiquement (long et fastidieux).

    Merci des idées que tu pourra me donner

    Cordialement
    Pierre

  9. #9
    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
    bon, le problème s'éclaire


    Alors le fond n'est guère différent, à part sur le tracé. Disons que j'avais compris que tu voulais les reproduire, et donc là je comprend mieux.


    Mais la "modélisation" des graphiques est similaire : pour chaque diagramme contenant des droites, il faut comme je l'avais indiqué dans l'autre discussion tirer les paramètres et donc avoir des "courbes en mémoire", par exemple dans l'exemple que j'avais utilisé les 3 cas définissant les 3 axes (pente, point 0, max), etc etc pour chaque graphique dans l'ordre... Et pour ceux étant plus "alambiqués", même chose (sans doute avec plus de paramètres et/ou de fonctions complexes).

    Ensuite, pour chacune de ces courbes (chaque graphique) il faudra une fonction d'interpolation qui en entrée a une valeur et en sortie ressoirt l'interpolation correspondante pour la valeur "de sortie" du graphique.

    Ensuite, tu fabriqueras une fonction avec en entrée les paramètres que l'utilisateur rentrera et en sortie ce que tu veux sortir. (la fonction d'appel globale)

    Ensuite, dans cette fonction, seront appelées dans l'ordre donné par les abaques les routines d'interpolation pour chaque graphique, qui en entrée auront la valeur (pour la première les valeurs entrées, pour la seconde sans doute les mêmes plus le résultat de la précédente, etc etc), et en sortie l'interpolation faite d'après les "courbes en mémoire".
    "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

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 439
    Points : 161
    Points
    161
    Par défaut
    Merci de ta patience.

    Je vais essayer de creuser dans le sens de ton raisonnement.

    Cordialement
    Pierre

  11. #11
    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
    je reprend juste, pour te donner un exemple de ce que je pense, l'exemple que j'avais donné dans l'autre discussion.

    J'étais arrivé à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    trace axe ( vent )
    {
    si vent < 0
       pente = - 80 / (80 - Vent/2)
    sinon
       pente = - 80 / (80 + Vent*3/20)
     
    y = pente * x
     
    si y >= -80
       OK
    }
    Comme visiblement d'après le sens de la flèche menant à ce graphique et l'échelle du graphique précédent le point d'entrée est le y de la distance de l'obstacle en mètre, qu'on va avoir besoin du vent, et qu'on veut déduire x en sortie pour en tirer l'entrée du graphe suivant, on aura :

    une fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    double graphique_vent ( vent, y )
    {
    si vent < 0
       pente = - 80 / (80 - Vent/2)
    sinon
       pente = - 80 / (80 + Vent*3/20)
     
    x = y / pente
     
    return x ;
    }
    (ici y est de 0 à 80 puique les graphiques ont la même échelle).


    Maintenant, ce y lui-même est fonction du x du point du graphique au dessus et de la distance à l'obstacle.

    On aura donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    double graphique_distance ( x, distance )
    {
     equation à déterminer d'après le papier
     
     return y ;
    }
    Mais le x est lui-même fonction de la masse et du y du graphique précédent (le premier).

    On aura alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    double graphique_masse ( y, masse )
    {
      équation à déterminer comme je l'ai fait pour l'autre graphique (ce sont des droites)
     
       return x ;
    }
    et enfin ce y vient du premier graphique, qui est dépendant de la température et de l'altitude de l'aéroport.

    On aura alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    double graphique_altitude ( temperature, altitude )
    {
      équation à déterminer
     
      return y ;
    }


    Et par conséquent, un algo pour aller de ce qu'on connait au départ jusqu'à la sortie de l'abaque (c'est à dire exécuter tout l'abaque) sera (je ne précise pas la dernière étape : la fonction graphique_pente) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    double Abaque_Obstacle ( temperature, altitude, masse, 
                             vent, distance_obstacle, pente_piste ) 
    {
      double x, y ;
     
      y = graphique_altitude ( temperature, altitude )
     
      x = graphique_masse ( y, masse )
     
      y = graphique_distance ( x, distance_obstacle )
     
      x = graphique_vent ( y, vent )
     
      y = graphique_pente ( x, pente_piste )
     
      y = y * 5
     
      return y ;
    }

    (le 5 à la fin est que si on a pris un carreau pour 10, comme 2 carreaux font 100 sur la dernière barre, ce n'est qu'une échelle de conversion)

    Avec ce principe, tu auras une fonction comme ça pour chaque abaque qui t'intéresse, et donc tu pourras en déduire tous les paramètres nécessaires en entrée, et ensuite l'enchaînement logique et les paramètres de sortie, avec un "petit" programme simple, et découpé suivant les étapes décrites dans les abaques.

    Et par conséquent tu pourras avoir une fonction globale, prenant en entrée l'ensemble des paramètres nécessaires, et ressortant l'ensemble des paramètres calculés, sur le style exposé ci-dessus, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    calcul_global ( temperature, altitude, masse, vent , distance, pente, ....,
                    hauteur_obstacle, .... )
    {
     
       hauteur_obstacle = Abaque_Obstacle ( temperature, altitude, masse, 
                                            vent, distance, pente )
     
       ....
    }
    paramètres d'entrée : temperature, altitude, masse, vent, distance, pente, ..
    paramètres de sortie : hauteur_obstacle, ..
    "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

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 439
    Points : 161
    Points
    161
    Par défaut
    Tout ceci me semble beaucoup plus clair.

    Ma dernière question serait: comment déterminer les équations pour les courbes non droites?

    Cordialement
    Pierre

  13. #13
    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
    Je ne vais pas faire tout le boulot à ta place mais comme je l'avais dit dans l'autre discussion, 2 approches :

    • la théorique : retrouver (bouquins, internet, documents que tu ou des anciens collègues ou passionés ont, d'AF ou d'ailleurs) les équations. Par exemple, pour le premier graphique de l'abaque "obstacle", il faut d'abord connaître le modèle utilisé - sans doute celui dit "atmosphère standard". De là, on déduit P = f(T). Puis, en appliquant les équations, tirer la hauteur hydrostatique de P hh=g(P).. Ensuite appliquer le modèle pour tirer la hauteur ASL de la hauteur hydrostatique.

    • la pratique : pour chaque diagramme où il y a des courbes, faire (par exemple par un moindre carrés) des estimations des coefficients avec un polynôme de degré compatible avec la courbure. et en déduire une fonction comme celles citées plus haut, qui prendra en entrée la valeur utilisée et le x ou y du diagramme précédent.



    En ce qui concerne les équations de météo, il y a un excellent bouquin (assez petit) de Iribarnes & Goldson qui est la référence. Sinon tu dois avoir des indications dans les papiers d'AF, ou en cherchant en peu autour.

    L'approche "pratique" est plus aisée, néanmoins il faudra avoir des bons coefficients de corrélation pour chaque diagramme... Mais par exemple une telle approche, avec le diagramme des pentes de l'abaque "hauteur obstacle", peut sans doute être approximée par 2 faisceaux de droites de pentes de signes contraires partant d'un point à peu près à (20,20) : la ligne pour 2 degrés asc semble partir de 0,0 et d'abord aller vers le point (30,33), puis être grossièrement parallèle à l'axe 0 (ou diminuer du point (30,33) vers le point (73,75). De même la ligne pour 2 degrés desc semble partir de (0,0) et d'abord aller vers le point (15, 13), puis diminuer linéairement jusqu'au point (73,72) . Par contre les débuts de ces courbes semblent plus "creusés", et devraient donc correspondre à des polynômes du 2nd degré , du style y=ax2+B. Et vu que ça ne joue que sur une petite partie du diagramme, dans un premier temps une approximation linéaire sera correcte je pense.

    Par exemple aussi pour le premier diagramme, chaque ligne peut être découpée comme 2 droites et une zone transitoire au milieu. Une version "graphique" peut être de trouver les pentes de la partie gauche, les pentes de la partie droite, et d'approximer la zone transitoire par un spline cubique : tu détermines les points d'arrêt de chaque côté : pour la gauche sans doute à peu près T= 10 - 4*h/8000 (la courbe la plus en haut a l'air de partir de environ T=4), pour la droite à peu près T = 25 + 3*h/8000 (la courbe d'en haut à l'air d'être droite à partir de environ 28). Tu calcules les pentes , ou plutôt come j'ai fait pour le diagramme du vent tu détermines la fonction décrivant la pente en fonction de T, pour les 2 côtés. Et ensuite au milieu un spline.

    C'est "bête et méchant", mais ça devrait fonctionner..
    "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

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 439
    Points : 161
    Points
    161
    Par défaut
    OK, merci de ton aide et de ta patience.

    Je vais désormais me débrouiller seul (mais avec tes précieux conseils).

    Je repasserai pour t'informer de mes recherches.

    Encore merci pour tout

    Très cordialement
    Pierre

Discussions similaires

  1. [Toutes versions] Tutoriel - Créer un tableau de statistiques dynamique
    Par User dans le forum Access
    Réponses: 11
    Dernier message: 29/10/2015, 09h45
  2. MOSS 2007 : graphes basés sur des listes / biblio
    Par jibileg dans le forum SharePoint
    Réponses: 1
    Dernier message: 17/03/2009, 08h16
  3. [Forms 6i] Ecrans basés sur des vues
    Par macben dans le forum Oracle
    Réponses: 3
    Dernier message: 11/01/2006, 16h53

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