-
Notifications
You must be signed in to change notification settings - Fork 1
RU Диаграмма Вороного
Вики ▸ Справка по 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.