Free hand drawing in Matlab with output is XY coordinate of trajectory.
19 views (last 30 days)
Show older comments
How i can free draw any trajcetory with the output is the XY coordinate of trajectory like in the picture. I just try to find in the answer in form but did no find any answers satisfiing the requirement. Tks you for any answer. ![2.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/195009/2.png)
![2.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/195009/2.png)
0 Comments
Accepted Answer
Adam Danz
on 14 Nov 2018
Edited: Adam Danz
on 14 Nov 2018
This might be what you're looking for. ginput() allows you to click on a graph as many times as you'd like and it returns a 2-column matrix of x,y coordnates where you clicked.
Demo 1
Run this, click around the axes, press Enter to see where you clicked. xy will be the coordinate of your clicks.
figure
xy = ginput(); % now click as many coordinates as you'd like then press Enter when finished.
plot(xy(:,1), xy(:,2), 'bo', 'MarkerSize', 8, 'MarkerFaceColor', 'b');
Demo 2
This version plots as you click instead of plotting at the end. Press Enter to stop. xy will be the coordinate of your most recent click.
figure
axh = axes;
hold(axh, 'on')
xy = [0,0];
while ~isempty(xy)
xy = ginput(1);
if ~isempty(xy)
plot(axh, xy(1), xy(2), 'bo', 'MarkerSize', 8, 'MarkerFaceColor', 'b');
end
end
More Answers (1)
Peter Seibold
on 29 Aug 2023
Another demo that stores the xy values:
disp('click inside figure')
disp('hit "return" button to finish')
figure(1)
clf
axh = axes;
hold(axh, 'on')
xlim([0,2])% change the limits to your requirements
ylim([0,1])% change the limits to your requirements
grid on
xyTemp = [0,0];
xy=xyTemp;
k=0;
while ~isempty(xyTemp)
xyTemp = ginput(1);
if ~isempty(xyTemp)
plot(axh, xyTemp(1), xyTemp(2), 'bo', 'MarkerSize', 6, 'MarkerFaceColor', 'b');
k=k+1;
xy(k,:)=xyTemp;
end
end
hold(axh, 'off')
figure(2)
plot(xy(:,1),xy(:,2),'.-b')
grid on
disp('finished')
disp('Previous to a second run you may resize the figure to your requirements')
0 Comments
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!