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.

Примечание

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

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

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

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

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

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

  • Чтобы заполнить ячейки с цветом, используйте voronoin с n = 2, чтобы получить индексы каждой ячейки, и затем использовать patch и другие функции plot, чтобы сгенерировать фигуру. Обратите внимание на то, что 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. Для каждого Пкс точки в наборе P, можно провести границу, заключающую все промежуточные точки, лежащие ближе Пкс, чем к другим точкам в наборе P. Такой контур называется полигоном Voronoi.

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

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

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

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

Была ли эта тема полезной?