Plot points with minimal distance
2 次查看(过去 30 天)
显示 更早的评论
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 :)
回答(1 个)
Shadaab Siddiqie
2020-8-26
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!