voronoi

Диаграмма Вороного

Примечание

Qhull-специфичные опции больше не поддерживаются. Удалите аргумент OPTIONS из всех экземпляров в вашем коде, которые передают его voronoi.

Примечание

Поведение h = voronoi(...) изменилось. Новое поведение возвращает вектор двух указателей линии на графике; одно представление точек и другое представление ребер Voronoi.

Синтаксис

voronoi(x,y)
voronoi(x,y,TRI)
voronoi(dt)
voronoi(AX,...)
voronoi(...,'LineSpec')
h = voronoi(...)
[vx,vy] = voronoi(...)

Описание

voronoi(x,y) строит ограниченные ячейки Диаграммы Вороного для точек x, y. Строки к бесконечности аппроксимированы с произвольно удаленной конечной точкой.

voronoi(x,y,TRI) использует триангуляцию TRI вместо того, чтобы вычислить внутренне.

voronoi(dt) использует Триангуляцию Делоне dt вместо того, чтобы вычислить его.

voronoi(AX,...) графики в AX вместо gca.

voronoi(...,'LineSpec') строит схему с цветным и заданным стилем линии.

h = voronoi(...) возвращает h, который является вектором двух указателей линии на графике. Каждый представляет точки, и другой представляет ребра Voronoi.

[vx,vy] = voronoi(...) возвращает конечные вершины ребер Voronoi в vx и vy.

Примечание

Для топологии Диаграммы Вороного, т.е. вершин для каждой ячейки Voronoi, voronoin использования.

[v,c] = voronoin([x(:) y(:)])

Визуализация

Используйте один из этих методов, чтобы построить Диаграмму Вороного:

  • Если вы не обеспечиваете выходного аргумента, voronoi строит схему.

  • Чтобы получить больше контроля над цветом, стиль линии и другие свойства фигуры, используют синтаксис [vx,vy] = voronoi(...). Этот синтаксис возвращает вершины конечных ребер Voronoi, которые можно затем построить с функцией plot.

  • Чтобы заполнить ячейки с цветом, используйте voronoin с n = 2, чтобы получить индексы каждой ячейки, и затем использовать patch и другие функции построения графика, чтобы сгенерировать фигуру. Обратите внимание на то, что patch не заполняет неограниченные ячейки с цветом.

Примеры

свернуть все

Этот код использует функцию voronoi, чтобы построить Диаграмму Вороного для 10 случайным образом сгенерированных точек.

x = gallery('uniformdata',[1 10],0);
y = gallery('uniformdata',[1 10],1);
voronoi(x,y)

Этот код использует вершины конечных ребер Voronoi, чтобы построить Диаграмму Вороного для тех же 10 точек, используемых в предыдущем примере.

x = gallery('uniformdata',[1 10],0);
y = gallery('uniformdata',[1 10],1); 
[vx,vy] = voronoi(x,y);
plot(x,y,'r+',vx,vy,'b-')
axis equal

Обратите внимание на то, что можно добавить следующий код, чтобы показать фигура в предыдущем примере.

xlim([min(x) max(x)])
ylim([min(y) max(y)])

Этот код использует voronoin и patch, чтобы заполнить ограниченные ячейки той же Диаграммы Вороного с цветом.

x = gallery('uniformdata',[10 2],5);
[v,c] = voronoin(x); 
for i = 1:length(c) 
if all(c{i}~=1)   % If at least one of the indices is 1, 
                  % then it is an open region and we can't 
                  % patch that.
patch(v(c{i},1),v(c{i},2),i); % use color i.
end
end

Больше о

свернуть все

Полигон Voronoi

Считайте набор компланарных точек P. Для каждой точки Px в наборе P можно провести границу, заключающую все промежуточные точки, лежащие ближе P x, чем к другим точкам в наборе P. Такой контур называется полигоном Voronoi.

Диаграмма Вороного

Набор всех полигонов Voronoi для данного набора точки называется Диаграммой Вороного.

Расширенные возможности

Смотрите также

| | | | |

Представлено до R2006a