Matlab) Маркируйте случайные точки на построенном графике (voronoi) - PullRequest
1 голос
/ 21 апреля 2020
clc
clear all

xn = rand(20,1) * 200;  
yn = rand(20,1) * 100;  
Start = [0 0];  
End = [200 100];
[vx, vy] = voronoi(xn, yn); 
idx = ((vx(1,:)< Start(1,1)) | vx(2,:)< Start(1,1) | vx(1,:)> End(1,1) | vx(2,:)> End(1,1) | (vy(1,:)< Start(1,2)) | vy(2,:)< Start(1,2) | vy(1,:)> End(1,2) | vy(2,:)> End(1,2));
newx = vx;
newx(:,idx)=[];
newy = vy;
newy(:,idx)=[];

figure(1);
plot(xn, yn, 'b.', 'markersize', 10);
hold on;
xlabel('X direction(m)');
ylabel('Y direction(m)');
axis([0 200 0 100])


figure(2);
plot(xn,yn,'b.','markersize', 10);
hold on;
plot(vx ,vy, 'g-');
xlabel('X direction(m)');
ylabel('Y direction(m)');
axis([0 200 0 100])


figure(3);
plot(newx, newy, 'b.', 'markersize', 10);
hold on;
plot(newx, newy, 'g-');
xlabel('X direction(m)');check
ylabel('Y direction(m)');
title('Problem Space with vertices');
axis([0 200 0 100])

У меня есть этот код здесь для диаграммы вороной. Мне нужно распределить 20 пунктов случайно. После этого мне нужно удалить ненужные вершины. Но как мне пометить случайные точки? Как показано на рисунке. У меня есть все, кроме отмеченных точек.

Изображение

...