Bonjour,
J'ai un soucis avec une interface gui.
Je voudrais : * tracer une courbe dans un objet axes, puis
* permettre à l'utilisateur de sélectionner un point de cette courbe avec la souris
* cela à l'aide d'un axe parallèle à l'axe des ordonnées qu'on pourrait déplacer
* Et donc sélectionner l'intersection entre ma courbe init et l'axe 'de saisie'.
Je ne c'est pas si cela est possible, dites moi si vous avez des idéés s'il vous plait.
Pour l'instant je n'ai réussi qu'à sélectionner une partie de ma courbe avec un rectangle (par la fonction rbbox, je n'ai pas les librairies nécessaires pour utiliser roipoly et imcrop).
Je met la partie du code qui marche (mais qui fait pas entièrement ce que je veux)
Voilà,
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 handles(5)=axes('position',[0.05 0.05 0.7 0.8]'); hold on plot(1:0.1:10,-2.*[1:0.1:10]+23) plot(10:0.1:16,-0.1.*[10:0.1:16]+4) plot(16:0.1:22,3.*[16:0.1:22]-45.6) hold off k = waitforbuttonpress; point1 = get(gca,'CurrentPoint'); % button down detected finalRect = rbbox; % return figure units point2 = get(gca,'CurrentPoint'); % button up detected point1 = point1(1,1:2); % extract x and y point2 = point2(1,1:2); p1 = min(point1,point2); % calculate locations offset = abs(point1-point2); % and dimensions x = [p1(1) p1(1)+offset(1) p1(1)+offset(1) p1(1) p1(1)]; y = [p1(2) p1(2) p1(2)+offset(2) p1(2)+offset(2) p1(2)]; hold on axis manual plot(x,y,'k','linewidth',2)
Merci par avance,
Bonne journée,
Mary
Partager