exponenta event banner

voronoin

Диаграмма Вороного N-D

Описание

пример

[v,c] = voronoin(P) возвращает вершины Вороного v и ячейки Вороного c диаграммы Вороного для точек N-D в матрице P.

[v,c] = voronoin(P,opts) также задает параметры Qhull, используемые для вычисления диаграммы Вороного.

Примеры

свернуть все

Создайте матрицу из 2-D точек и вычислите вершины Вороного и ячейки диаграммы.

P = [0.5 0; 0 0.5; -0.5 -0.5; -0.2 -0.1; -0.1 0.1; 0.1 -0.1; 0.1 0.1]
P = 7×2

    0.5000         0
         0    0.5000
   -0.5000   -0.5000
   -0.2000   -0.1000
   -0.1000    0.1000
    0.1000   -0.1000
    0.1000    0.1000

[v,c] = voronoin(P)
v = 10×2

       Inf       Inf
    0.7000   -1.6500
   -0.0500   -0.0500
   -0.0500   -0.5250
   -1.4500    0.6500
   -1.7500    0.7500
         0    0.2875
    0.3833    0.3833
    0.2875         0
         0         0

c=7×1 cell array
    {[   9 2 1 8]}
    {[ 8 1 6 5 7]}
    {[   6 1 2 4]}
    {[   6 4 3 5]}
    {[  10 3 5 7]}
    {[10 3 4 2 9]}
    {[  10 7 8 9]}

Входные аргументы

свернуть все

Точки, заданные как матрица, столбцы которой содержат координаты соответствующего размера. Например, чтобы определить набор точек 2-D, поместите координаты X в первый столбец P и соответствующие координаты y во втором столбце.

Параметры Qhull, заданные как массив ячеек символьных векторов, указывающих, какие алгоритмы Qhull использовать. Список опций см. в разделе http://www.qhull.org/html/qh-optq.htm.

По умолчанию opts имеет значение {'Qbb'} для 2- и 3-мерного ввода. Для 4-мерного ввода и выше, opts имеет значение {'Qbb','Qx'}.

Выходные аргументы

свернуть все

Вершины Вороного, возвращаемые в виде матрицы с тем же количеством столбцов, что и входные. Каждая строка содержит координаты точки N-D на диаграмме Вороного, причем первая строка содержит Inf значения. Ряд из Inf значения представляют неограниченную ячейку.

Индексы, возвращаемые в виде массива ячеек. Каждый элемент c содержит индексы строк вершин Вороного v которые составляют клетку Вороного.

Подробнее

свернуть все

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

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

Совет

  • Можно построить график отдельных ограниченных ячеек N-D диаграммы Вороного. Для этого используйте convhulln функция для вычисления вершин фасетов, составляющих ячейку Вороного. Затем используйте patch или другие функции печати для создания фигуры.

Алгоритмы

voronoin основан на Qhull [1]. Дополнительные сведения см. в разделе http://www.qhull.org/.

Ссылки

[1] Барбер, К. Б., Д. П. Добкин и Х. Т. Хухданпаа, «Алгоритм Квикхолла для выпуклых корпусов», ACM Transactions on Mathematical Software, том 22, № 4, декабрь 1996, с. 469-483.

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

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