Clear Filters
Clear Filters

Plot points with minimal distance

2 views (last 30 days)
Richard Hojstric
Richard Hojstric on 1 Oct 2019
Answered: Shadaab Siddiqie on 26 Aug 2020
Hello friends, please a i need i make 1000x1000 place and plot three points with color on this place. But distance between points must be minimal 400metres.
Thank you :)
  4 Comments
Richard Hojstric
Richard Hojstric on 1 Oct 2019
So, i need to do :
In Matlab, render an area of ​​1000 x 1000metres. In this area plot 3 points random (i think), with some color. Distance between this poitns should be minimum 400m.
And of the end display its x and y coordinates to each point.
I think it a simple but i have matlab last year :D
Something like on picture but i need it 1000x1000 area and with distance :)
test.png
Thanks.
Richard Hojstric
Richard Hojstric on 1 Oct 2019
But this three points can be set permanently not random :) its easier. But how set distance ?

Sign in to comment.

Answers (1)

Shadaab Siddiqie
Shadaab Siddiqie on 26 Aug 2020
From my understanding you want to plot 3 random points, each at a distance of at least 400units form other 2 points, in a plot of 1000x1000 units. You could select first point randomly. Then for second point you can keep selecting a point randomly until the condition satisfies. Similarly, do it for the third point.
% randomly choose point1
point1 = [randi(1000),randi(1000)];
% choose point2 such that distance between point1 and point2 is greater than 400
point2 = [randi(1000),randi(1000)];
while pdist([point1;point2],"euclidean")<=400
point2 = [randi(1000),randi(1000)];
end
% choose point3 such that distance between point3 and point1 is greater than 400 and
% distance between point3 and point2 is greater than 400
point3 = [randi(1000),randi(1000)];
while pdist([point1;point3],"euclidean")<=400 || pdist([point2;point3],"euclidean")<=400
point3 = [randi(1000),randi(1000)];
end
%plot the points
hold on
plot([point1(1) point2(1) point3(1)],[point1(2) point2(2) point3(2)],'.b',"Marker","o");
xlim([0 1000])
ylim([0 1000])
Hope this helps.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!