Draw a line between two points on plotted data and compute its length

Hi All,
Suppose we have a set of 2D points:
px = [1, 2, 5];
py = [1, 2, 1.5];
When we plot these points, we get 3 distinct points:
plot(px, py, 'r*')
Is it possible to draw a line connecting any two of those directly on the figure and measure the Euclid distance between them?
Regards
Edit
I don't need to PLOT a line. I need to click at one point and move the mouse to the second point to draw the line and measure the Euclidean distance between them,.

 Accepted Answer

px = [1, 2, 5];
py = [1, 2, 1.5];
x = [px(1) py(1)] ;
y = [px(2) py(2)] ;
z = [px(3) py(3)] ;
plot3(x,y,z,'r')
d = sqrt(diff(x)^2+diff(y)^2+diff(z)^2)

4 Comments

Hi, thank you for your answer. However, as I stated in the question, I want to draw the line directly on the figure. Not plot, but draw. Click at one point and move the mouse to the second point to draw the line.
Read about imline, drawline functions.
Thanks, drawline is exactly what I was searching for.
It could be more useful if you edit the answer and add the drawline there.

Sign in to comment.

More Answers (0)

Categories

Find more on Creating, Deleting, and Querying Graphics Objects 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!