Plot points with minimal distance
2 views (last 30 days)
Show older comments
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
Answers (1)
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.
0 Comments
See Also
Categories
Find more on 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!