空间算法和数据结构 (scipy.spatial )

空间变换

这些内容包含在 scipy.spatial.transform 子模块。

最近邻查询

KDTree \(数据[, leafsize, compact_nodes, ...] )

KD-tree用于快速最近邻查找。

cKDTree \(数据[, leafsize, compact_nodes, ...] )

用于快速最近邻查找的KD-树

Rectangle \(最大值,分钟)

HyperRectangle类。

距离度量包含在 scipy.spatial.distance 子模块。

Delaunay三角剖分、凸壳和Voronoi图

Delaunay \(积分[, furthest_site, ...] )

N维的Delaunay细分。

ConvexHull \(积分[, incremental, qhull_options] )

N维的凸壳。

Voronoi \(积分[, furthest_site, ...] )

N维的Voronoi图。

SphericalVoronoi \(积分[, radius, center, ...] )

球面上的Voronoi图。

HalfspaceIntersection \(半空格,内部_点)

N维的半空间交点。

打印辅助对象

delaunay_plot_2d \(三个[, ax] )

在二维中绘制给定的Delaunay三角剖分

convex_hull_plot_2d \(船体[, ax] )

用二维绘制给定的凸壳图

voronoi_plot_2d \(VOR[, ax] )

用二维绘制给定的Voronoi图

参见

Tutorial

单纯形表示

简单(三角形、四面体等)出现在Delaunay细分(N-D简单)、凸面和Voronoi脊(N-1-D简单)中的方案如下:

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

对于Delaunay三角剖分和凸壳,简单的邻域结构满足条件: tess.neighbors[i,j] 是第i个单纯形的相邻单纯形,与 j -顶点。如果没有邻居,则为-1。

凸包镶嵌面还定义了超平面方程式:

(hull.equations[i,:-1] * coord).sum() + hull.equations[i,-1] == 0

类似的Delaunay三角剖分的超平面方程对应于相应的N+1维抛物面上的凸壳面片。

Delaunay三角剖分对象提供了一种定位包含给定点的单形的方法,并提供了重心坐标计算。

功能

tsearch \(tri,xi)

找出包含给定点的简图。

distance_matrix \(X,y[, p, threshold] )

计算距离矩阵。

minkowski_distance \(X,y[, p] )

计算两个数组之间的L**p距离。

minkowski_distance_p \(X,y[, p] )

计算两个阵列之间L**p距离的第p次方。

procrustes \(数据1,数据2)

Procrstes分析,两个数据集的相似性检验。

geometric_slerp \(开始,结束,t[, tol] )

几何球面线性插值。