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

MATLAB Discussion :

Interaction figure et modification de courbe


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Interaction figure et modification de courbe
    Bonjour,

    Je souhaiterais savoir s'il est possible de modifier un ou plusieurs points d'une figure en sélectionnant la courbe désirée?.

    De même, est-il possible de modifier le vecteur des données de la courbe et actualiser le tracé?

    Le tout serait géré par une interface Matlab.

    Configuration :
    Matlab R2011a
    Windows 7

    Merci d'avance pour vos réponses.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Voici un exemple permettant de déplacer avec la souris les points d'une courbe :
    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
    20
    21
    22
    23
    24
    25
    26
    function exemple
    x = 1:10;
    y = rand(1,10);
    handlePlot = plot(x, y, 'r-o',...
        'ButtonDownFcn', @buttonDownFcn); % Exécution de buttonDownFcn() à chaque clic sur la courbe
    title('Cliquez-déplacez les points de la courbe')
    idx = [];
     
        function buttonDownFcn(~, ~)
            pos = get(gca, 'CurrentPoint');                           % Position de la souris
            [~,idx] = min( abs(pos(1,1)-x)+abs(pos(1,2)-y) );         % Indice du point le plus proche de la souris
            set(gcf, 'WindowButtonMotionFcn', @windowButtonMotionFcn) % On suit les mouvements de la souris
            set(gcf, 'WindowButtonUpFcn', @windowButtonUpFcn)         % On repère lorsque l'utlisateur relache le bouton
        end
        function windowButtonMotionFcn(~, ~)
            pos = get(gca, 'CurrentPoint');         % Position de la souris
            x(idx) = pos(1,1);                      % Mise à jour de l'abscisse du point
            y(idx) = pos(1,2);                      % Mise à jour de l'ordonnée du point
            set(handlePlot, 'XData', x, 'YData', y) % Mise à jour du tracé
        end
        function windowButtonUpFcn(~, ~)
                                                  % Le bouton a été relâché... 
            set(gcf, 'WindowButtonMotionFcn', '') % On ne suit plus les mouvements de la souris
            set(gcf, 'WindowButtonUpFcn', '')     % Ni le relâchement du bouton
        end
    end

Discussions similaires

  1. [WD-2007] Citer une figure, avec modification automatique des champs
    Par moi14000 dans le forum Word
    Réponses: 6
    Dernier message: 11/09/2014, 10h02
  2. Modification couleur courbe
    Par Masie dans le forum Webi
    Réponses: 2
    Dernier message: 22/06/2010, 16h16
  3. Réponses: 3
    Dernier message: 23/07/2007, 10h51
  4. Réponses: 1
    Dernier message: 02/11/2006, 09h25
  5. Réponses: 5
    Dernier message: 05/05/2006, 14h48

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