SciPy 空间

17 Mar 2025 | 阅读 2 分钟

通过使用 Qhull 库,scipy.spatial 包可以计算一组点的三角剖分、Voronoi 图和凸包。 同样,它包含 KDTree 实现,用于最近邻点查询和各种度量中的距离计算实用程序。

  • Delaunay 三角剖分

在数学和计算几何中,Delaunay 三角剖分定义了三角形的三个点创建一个顶点,当这些顶点接触圆的路径时。

圆的中心由三个点或三角形的半径决定。 让我们考虑以下示例

输出

SciPy Spatial

共面点

共面点是存在于同一平面中的三个或更多个点。 平面是平坦的表面,可以在所有方向上无限扩展。 让我们考虑以下示例

输出

[[4 0 3]]

在上面的输出中,点 4 不包含在三角剖分中; 它存在于三角形 0 和顶点 3 附近。

凸包

在数学中,欧几里德平面或欧几里德空间中点集 X 的凸包或凸包络。 它是包含 X 的最小凸集。让我们考虑以下示例

输出

SciPy Spatial

Scipy cdist

SciPy 提供了 spatial.distance.cdist,用于计算两组输入集合中每对集合之间的距离。 以下是调用约定

1. Y = cdist(XA, XB, 'euclidean')

它使用欧几里得距离(2-范数)作为点之间的距离度量来计算 m 个点之间的距离。 这些点在矩阵 X 中组织为 m 个 n 维行向量。

2. Y = cdist(XA, XB, 'minkowski', p=2.)

它使用 Minkowski 距离 ||u?v||p (p-范数) 计算距离,其中 p?1。

3. Y = cdist(XA, XB, 'cityblock')

它计算点之间的城市街区或曼哈顿距离。


下一个主题SciPy ODR