我尝试生成随机凸多面体。我生成一组随机的三维坐标,然后找到它们的凸包(到目前为止还不错)。在
然后我想我应该用Delaunay三角剖分来给我一个凸壳的三角剖分。这就是我的基本理解开始显现的地方!在
这是密码import numpy as np
from scipy.spatial import ConvexHull
from scipy.spatial import Delaunay
import matplotlib as mpl
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Generate random points & convex hull
points = np.random.rand(20,3)
hull = ConvexHull(points)
fig = plt.figure()
ax = fig.gca(projection = '3d')
# Plot hull's vertices
for vert in hull.vertices:
ax.scatter(points[vert,0], points[vert,1], zs=points[vert,2])#, 'ro')
# Calculate Delaunay triangulation & plot
tri = Delaunay(points[hull.vertices])
for simplex in tri.simplices:
vert1 = [points[simplex[0],0], points[simplex[0],1],