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 пунктов случайно. После этого мне нужно удалить ненужные вершины. Но как мне пометить случайные точки? Как показано на рисунке. У меня есть все, кроме отмеченных точек.
Изображение