用Python计算和显示凸面体
凸形物体是指没有内角大于180度的物体。壳是物体的外部部分。
因此,凸面壳意味着凸面物体形状周围的边界。本教程将教你在Python中计算和显示一组随机点的凸面壳。
在Python中计算和显示凸面体
一组点的凸面体是由一组中的所有点组成的最小的凸面多边形的边界。
让我们看一个点集的凸壳的例子。
给出这些点:
凸壳是:
下面是一个在Python中显示随机点的凸壳的简单实现。
导入所需的模块:
from scipy.spatial import ConvexHull
import matplotlib.pyplot as plt
import numpy as np
在二维中使用随机点:
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中生成一组随机点并显示一个凸面体。我们希望这个教程对你有帮助。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。