Пространственные алгоритмы и структуры данных (scipy.spatial)#
Пространственные преобразования#
Они содержатся в scipy.spatial.transform подмодуль.
Запросы ближайшего соседа#
Метрики расстояния#
Метрики расстояния содержатся в scipy.spatial.distance подмодуль.
Триангуляция Делоне, выпуклые оболочки и диаграммы Вороного#
|
Триангуляция Делоне в N измерениях. |
|
Выпуклые оболочки в N измерениях. |
|
Диаграммы Вороного в N измерениях. |
|
Диаграммы Вороного на поверхности сферы. |
|
Пересечения полупространств в N измерениях. |
Вспомогательные функции для построения графиков#
|
Построить заданную триангуляцию Делоне в 2-D |
|
Построить заданную диаграмму выпуклой оболочки в 2-D |
|
Построить заданную диаграмму Вороного в 2-D |
Смотрите также
Симплексное представление#
Симплексы (треугольники, тетраэдры и т.д.), появляющиеся в триангуляции Делоне (N-мерные симплексы), гранях выпуклой оболочки и гребнях диаграммы Вороного (N-1-мерные симплексы), представлены по следующей схеме:
tess = Delaunay(points)
hull = ConvexHull(points)
voro = Voronoi(points)
# coordinates of the jth vertex of the ith simplex
tess.points[tess.simplices[i, j], :] # tessellation element
hull.points[hull.simplices[i, j], :] # convex hull facet
voro.vertices[voro.ridge_vertices[i, j], :] # ridge between Voronoi cells
Для триангуляций Делоне и выпуклых оболочек, структура
соседства симплексов удовлетворяет условию:
tess.neighbors[i,j] является соседним симплексом для i-го
симплекса, противоположным j-вершина. Это -1 в случае отсутствия соседа.
Грани симплексов выпуклой оболочки также определяют уравнение гиперплоскости:
(hull.equations[i,:-1] * coord).sum() + hull.equations[i,-1] == 0
Аналогичные уравнения гиперплоскостей для триангуляции Делоне соответствуют граням выпуклой оболочки на соответствующей N+1-мерной параболоиде.
Объекты триангуляции Делоне предлагают метод для нахождения симплекса, содержащего заданную точку, и вычисления барицентрических координат.
Функции#
|
Найти симплексы, содержащие заданные точки. |
|
Вычислить матрицу расстояний. |
|
Вычислить расстояние L**p между двумя массивами. |
|
Вычислить p-ю степень расстояния L**p между двумя массивами. |
|
Анализ Прокруста, тест на подобие двух наборов данных. |
|
Геометрическая сферическая линейная интерполяция. |
Предупреждения / Ошибки, используемые в scipy.spatial#
Возникает, когда Qhull сталкивается с ошибкой, например, геометрической вырожденностью, когда опции для разрешения не включены. |