迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中计算和显示凸包

作者:迹忆客 最近更新:2023/06/16 浏览次数:

凸物体是内角不大于 180 度的物体。 外壳是物体的外部部分。

因此,凸包是指围绕凸物体形状的边界。 本教程将教您在 Python 中计算和显示一组随机点的凸包。


在 Python 中计算并显示一个凸包

一组点的凸包是由一组中的所有点组成的最小凸多边形的边界。

让我们看一个由一组点组成的凸包的例子。

鉴于以下几点:

给定的一组随机点

凸包为:

随机点的凸包

下面是在Python中显示一个随机点的凸包的简单实现。

导入所需的模块:

from scipy.spatial import ConvexHull
import matplotlib.pyplot as plt
import numpy as np

在 2-D 中使用随机点:

points = np.random.randint(0, 10, size=(15, 2))

对于凸包,我们有:

hull = ConvexHull(points)

现在,让我们绘制点和凸包。

fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(10, 3))

for ax in (ax1, ax2):
    ax.plot(points[:, 0], points[:, 1], '.', color='k')
    if ax == ax1:
        ax.set_title('Given points')
    else:
        ax.set_title('Convex hull')
        for simplex in hull.simplices:
            ax.plot(points[simplex, 0], points[simplex, 1], 'c')
        ax.plot(points[hull.vertices, 0], points[hull.vertices, 1], 'o', mec='r', color='none', lw=1, markersize=10)
    ax.set_xticks(range(10))
    ax.set_yticks(range(10))
plt.show()

输出:

显示随机点的凸包

现在你应该知道如何在 Python 中生成一组随机点并显示一个凸包。 我们希望您觉得本教程对您有所帮助。

上一篇:Python 密码哈希

下一篇:Python 模拟导入

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便