Построение диаграммы Вороного
Для построения диаграммы Вороного служат следующие команды:
- voronoi(x.y) – строит диаграмму Вороного для точек с координатами (х,у). Функция voronoi(х,у,TRI) использует триангуляцию TRI;
- voronoi (…,' LineSpec') – строит диаграмму с заданным цветом и стилем линий;
- [vx.vy] = voronoi (…) – возвращает вершины граней Вороного в векторах vx и vy, так что команда plot(vx,vy,'-',х.у,'.') создает диаграмму Вороного.
Пример:
>
>
rand(
'state'
.
0
):
>
>
x
=
randd.
15
): y
=
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 вершины граней Вороного возвращаются в порядке смежности, при n>2 – в порядке убывания.
Рис. 17.5. Связь триангуляции Делоне с диаграммой Вороного