Skip to content

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

mingun edited this page Jun 18, 2014 · 2 revisions

ВикиСправка по APIГеометрияДиаграмма Вороного
English | Русский

Компоновки Вороного особенно полезны для невидимых интерактивных регионов, как демонстрируется в примере Нате Вака (Nate Vack) выбор области по регионам Вороного. Смотрите статью Тови Гроссмана (Tovi Grossman) по всплывающим курсорам (bubble cursors) в качестве похожей концепции.

# d3.geom.voronoi()

Создаёт компоновку Вороного с функциями доступа по умолчанию.

# voronoi(data)

Возвращает массив многоугольников, по одному на каждую входную вершину в указаном массиве data. Если какие-нибудь вершины совпадают или имеют NaN в качестве одной из своих позиций, поведение этого метода будет не определено: скорее всего будут возвращены неверные многоугольники! Вы должны отфильтровать неверные вершины и объединить совпадающие вершины перед вычислением тесселяции.

# voronoi.x([x])

Если указан параметр x, устанавливает функцию доступа к координате x. Если параметр x не указан, возвращает текущую функцию доступа к координате x, которая по умолчанию установлена в:

function(d) { return d[0]; }

# voronoi.y([y])

Если указан параметр y, устанавливает функцию доступа к координате y. Если параметр y не указан, возвращает текущую функцию доступа к координате y, которая по умолчанию установлена в:

function(d) { return d[1]; }

# voronoi.clipExtent([extent])

Если указан параметр extent, устанавливает размеры отсечения компоновки Вороного в указанные границы и возвращает компоновку. Границы extent указываются массивом [​[x0, y0], [x1, y1]​], где x0 указывает левую сторону размера, y0 указывает верх, x1 указывает правую сторону и y1 указывает низ. Если параметр extent равен null, отсечение не будет применяться. Если параметр extent не указан, возвращает текущие размеры отсечения, которые по умолчанию установлены в null.

Смотрите этот пример. Использование размеров отсечения строго рекомендуется, поскольку необрезанные многоугольники могут иметь огромные координаты, которые не будут корректно отображаться.

В качестве альтернативы вы также можете использовать собственное отсечение без указания размеров, либо в SVG, либо путём пост-обработки через polygon.clip.

# voronoi.links(data)

Возвращает триангуляцию Делоне указанного массива данных data как массив связей. Каждая связь имеет следующие атрибуты:

  • source — исходный узел (элемент в массиве data).
  • target — целевой узел (элемент в массиве data).

Пример удерживаемых силами штатов Америки использует массив таких связей для создания графа направленных сил.

# voronoi.triangles(data)

Возвращает триангуляцию Делоне указанного массива data в виде массива треугольников. Каждый треугольник является трёхэлементным массивом, содержащим элементы из data.

Clone this wiki locally