Voronoi#
- класс scipy.spatial.Voronoi(точки, furthest_site=False, инкрементальных=False, qhull_options=None)#
Диаграммы Вороного в N измерениях.
Добавлено в версии 0.12.0.
- Параметры:
- точкиndarray из float, форма (npoints, ndim)
Координаты точек для построения диаграммы Вороного
- furthest_sitebool, необязательно
Вычислять ли диаграмму Вороного для наиболее удаленных сайтов. По умолчанию: False
- инкрементальныхbool, необязательно
Разрешить добавление новых точек инкрементально. Это требует некоторых дополнительных ресурсов.
- qhull_optionsstr, optional
Дополнительные опции для передачи в Qhull. См. руководство Qhull для подробностей. (По умолчанию: «Qbb Qc Qz Qx» для ndim > 4 и «Qbb Qc Qz» в противном случае. Инкрементальный режим опускает «Qz».)
- Атрибуты:
- точкиndarray типа double, форма (npoints, ndim)
Координаты входных точек.
- вершиныndarray типа double, форма (nvertices, ndim)
Координаты вершин Вороного.
- ridge_pointsndarray целых чисел, форма
(nridges, 2) Индексы точек, между которыми лежит каждый гребень Вороного.
- ridge_verticesсписок списков целых чисел, форма
(nridges, *) Индексы вершин Вороного, образующих каждый гребень диаграммы Вороного.
- областисписок списков целых чисел, форма
(nregions, *) Индексы вершин Вороного, образующих каждую область Вороного. -1 указывает на вершину вне диаграммы Вороного. Когда была указана опция qhull "Qz", пустой подсписок представляет область Вороного для точки в бесконечности, которая была добавлена внутренне.
- point_regionмассив целых чисел, форма (npoints)
Индекс региона Вороного для каждой входной точки. Если опция qhull "Qc" не была указана, список будет содержать -1 для точек, не связанных с регионом Вороного. Если опция qhull "Qz" была указана, элементов будет на один меньше, чем количество регионов, потому что внутренне добавляется дополнительная точка в бесконечности для облегчения вычислений.
- furthest_site
True, если это была триангуляция по наиболее удалённым точкам, и False, если нет.
Добавлено в версии 1.4.0.
Методы
add_points(points[, restart])Обработать набор дополнительных новых точек.
close()Завершить инкрементную обработку.
- Вызывает:
- QhullError
Возникает, когда Qhull сталкивается с ошибкой, например, геометрической вырожденностью, когда опции для разрешения не включены.
- ValueError
Возникает, если на вход подается несовместимый массив.
Примечания
Диаграмма Вороного вычисляется с использованием Библиотека Qhull.
Примеры
Диаграмма Вороного для набора точек:
>>> import numpy as np >>> points = np.array([[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], ... [2, 0], [2, 1], [2, 2]]) >>> from scipy.spatial import Voronoi, voronoi_plot_2d >>> vor = Voronoi(points)
Построить график:
>>> import matplotlib.pyplot as plt >>> fig = voronoi_plot_2d(vor) >>> plt.show()
Вершины Вороного:
>>> vor.vertices array([[0.5, 0.5], [0.5, 1.5], [1.5, 0.5], [1.5, 1.5]])
Существует единственная конечная область Вороного и четыре конечных ребра Вороного:
>>> vor.regions [[], [-1, 0], [-1, 1], [1, -1, 0], [3, -1, 2], [-1, 3], [-1, 2], [0, 1, 3, 2], [2, -1, 0], [3, -1, 1]] >>> vor.ridge_vertices [[-1, 0], [-1, 0], [-1, 1], [-1, 1], [0, 1], [-1, 3], [-1, 2], [2, 3], [-1, 3], [-1, 2], [1, 3], [0, 2]]
Гребни перпендикулярны между линиями, проведенными между следующими входными точками:
>>> vor.ridge_points array([[0, 3], [0, 1], [2, 5], [2, 1], [1, 4], [7, 8], [7, 6], [7, 4], [8, 5], [6, 3], [4, 5], [4, 3]], dtype=int32)