Построение диаграммы Вороного
Для построения диаграммы Вороного служат следующие команды:
voronoi(x.y) — строит диаграмму Вороного для точек с координатами (х,у). Функция voronoi(х,у,TRI) использует триангуляцию TRI;
voronoi (...,' LineSpec') — строит диаграмму с заданным цветом и стилем линий;
[vx.vy] = voronoi (...) — возвращает вершины граней Вороного в векторах vx и vy, так что команда plot(vx,vy,'-' ,х.у,'.') создает диаграмму Вороного.
Пример:
» rand('state'.0):
» x = randd.15): у = randd.15):
» TRI = delaunay(x.y);
» subplotd.2,1)....
» trimesh(TRI,x,y,zeros(s1ze(x))); view(2),...
» axis([0 101]); hold on;
» plot(x.y,'o');
» [vx, vy] = voronoi(x.y.TRI);
» subplot(l,2,2)....
» plot(x,y,'r+',vx,vy,'b-'),...
» axis([0 1 0 1])
Рисунок 17.5 (слева) иллюстрирует построение треугольников Делоне. На рисунке справа изображены знаками «плюс» центры окружностей, проведенных вокруг треугольников Делоне.
Функция [V,C]=voronoin(X) служит для построения диаграмм Вороного n-мерных данных. V — массив граней, С —массив клеток диаграмм. При n=2 вершины граней Вороного возвращаются в порядке смежности, при п>2 — в порядке убывания.
Рис. 17.5.
Связь триангуляции Делоне с диаграммой Вороного