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

Interfaces Graphiques Discussion :

[polar] Changer l'orientation et superposition de points


Sujet :

Interfaces Graphiques

  1. #1
    Membre à l'essai
    Femme Profil pro
    Ingénieure en apprentissage
    Inscrit en
    Décembre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieure en apprentissage
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 23
    Points : 15
    Points
    15
    Par défaut [polar] Changer l'orientation et superposition de points
    Bonjour à tous !

    J'apprends beaucoup de chose avec ce site, merci ! C'est à mon tour de poser une question ...

    Je construit une interface graphique me permettant d'analyser graphiquement un fichier CSV assez lourd.
    J'ai dors et déjà construit cette interface, elle est fonctionnelle. Voilà à quoi elle ressemble:
    Nom : Capture.PNG
Affichages : 469
Taille : 174,5 Ko

    Comme vous pouvez le voir (si vous connaissez), il s'agit d’analyser les performances d'un bateau. J'ai en tout 13 variables (vitesse, cap, tangage, force dans la voile etc...) qui sont des vecteurs d'environ 13 000 lignes.

    Voici donc deux questions qui portent sur l'affichage en graphe polaire:

    1/ J'aimerai pouvoir "déplacer" ma polaire de telle sorte à être "angle au vent" (0°= face au vent) plutôt qu’être au cap GPS comme c'est le cas. Ici, mon vent vient du 330, et j'aimerai qu'il soit au niveau du zéro. J'ai ajouté une boite de dialogue pour récupérer cette information (TWA: True Wind Angle) mais je ne connais pas la commande pour translater ma polaire. Voila ce que j'écrit pour le moment:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    trp= polar(a,b,'.') %a et b sont les valeurs sélectionnées dans les menus déroulants
    view(90,-90) %Place le diagramme avec zéro en haut et sens horaire
    set(trp)
    Je pense que je n'ai pas totalement compris la commande "view" meme avec l'aide MatLab, pourrait on m'expliquer ?

    2/ J'ai codé une recherche d'un maximum, mais je ne sais pas comment le superposer avec mes premiers points. Le voici:
    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
     
    % On récupère le maximum de la sélection du menu 2
    MAXb=single(max(b));
     
    % Recherche l'indice de la première occurrence du max
    indicemaxb= (find(b==MAXb,1)); 
     
    % On cherche l'élément de a correspondant en radian si c'est le cap
    if x==6
        MAXa= deg2rad(single(a(indicemaxb)));
    else
        MAXa= single(a(indicemaxb));
    end
     
    trpmax= polar(MAXa,MAXb,'or');
    view(90,-90)
    set(trpmax)
    Donc pour l'instant, j'affiche mes points de manière séparée de mon point max en rouge.
    Or, je voudrai pouvoir le mettre sur la même polaire pour repérer facilement le point lors de l'analyse. J'ai essayé le "plot" sans succès ...


    Je vous remercie d'avance pour vos réponses !

    PS: J'ai construit tout le code avec l'aide de MatLab et ce site, de manière plus précise grâce à "Jerome Briot", si tu me lis, merci beaucoup !

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 315
    Points : 52 945
    Points
    52 945
    Par défaut
    Citation Envoyé par MarionSCN Voir le message
    1/ J'aimerai pouvoir "déplacer" ma polaire de telle sorte à être "angle au vent" (0°= face au vent) plutôt qu’être au cap GPS comme c'est le cas. Ici, mon vent vient du 330, et j'aimerai qu'il soit au niveau du zéro.
    Comme ceci ?


    Citation Envoyé par MarionSCN Voir le message
    2/ J'ai codé une recherche d'un maximum, mais je ne sais pas comment le superposer avec mes premiers points.
    Comme ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    polar(a,b)
    hold on
    plot(MAXb*cos(MAXa), MAXb*sin(MAXa), 'b*')
    Tu comprendras mieux si tu ais apparaitre l'objet Axes qui "se cache" derrière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    figure
    polar(...,...)
    axis on

  3. #3
    Membre à l'essai
    Femme Profil pro
    Ingénieure en apprentissage
    Inscrit en
    Décembre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieure en apprentissage
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Salut ! Merci de ta réponse !

    Pour le fait de tourner la polaire, j'ai réussi en modifiant un à un les termes car "a" et "b" sont des vecteurs colonnes de 13 000 lignes. Mais du coup c'était bien ça, merci.
    J'ai même mis une box pour entrer le cap relevé et modifier tout automatiquement.

    Pour garder mon max sur ma polaire, ça marche aussi, j'ai juste dû modifier de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    polar(a,b,'.')
    grid
    view(90,-90)
    hold on
    plot(MAXb*cos(MAXa), MAXb*sin(MAXa), 'r*')
    view(90,-90)
    hold off
    Sinon, je perdais l'orientation de ma polaire.

    Cela "interférait" avec ma courbe cartésienne, j'ai essayé "hold off" à la fin de l’exécution de mon bouton Tracer Polaire et ça marche

    Merci de ton aide !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/01/2008, 10h15
  2. [CRXI] Changer l'orientation de page
    Par Pascal_62 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 23/08/2007, 10h50
  3. Changer l'orientation d'un TEXT CONTROL.
    Par parp1 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 24/07/2007, 11h30
  4. [debutant]changer l'orientation d'un jtextarea
    Par 7rouz dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 06/06/2007, 16h26
  5. Réponses: 2
    Dernier message: 30/03/2007, 13h17

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