Tôi cần vẽ một đám mây điểm 3D (số điểm: N), sau đó một lồi lồi (thực ra là một đa diện với N đỉnh) từ các điểm. Tôi đã thực hiện một kịch bản trong python với scipy.spatial ConvexHull cho âm mưu 8 điểm và vẽ một khối lập phương, cốt truyện của đám mây điểm là ok, nhưng khối lập phương là không ok, bởi vì mã đặt hai dòng đi qua mặt chéo của khối lập phương ngoài các đường viền. Tôi không hiểu tại sao âm mưu đường ngang qua mặt.Thân lồi 3D từ đám mây điểm
Kịch bản:
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from scipy.spatial import ConvexHull
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
points= np.array([[0,0,0],
[4,0,0],
[4,4,0],
[0,4,0],
[0,0,4],
[4,0,4],
[4,4,4],
[0,4,4]])
hull=ConvexHull(points)
edges= zip(*points)
for i in hull.simplices:
plt.plot(points[i,0], points[i,1], points[i,2], 'r-')
ax.plot(edges[0],edges[1],edges[2],'bo')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
ax.set_xlim3d(-5,5)
ax.set_ylim3d(-5,5)
ax.set_zlim3d(-5,5)
plt.show()
quả của kịch bản:
Tôi có thể chỉnh sửa câu hỏi của mình bằng cách nào? Tôi quên "Hi All", từ hàng đầu tiên, và nếu tôi nhấp vào "chỉnh sửa" và tôi muốn lưu các thay đổi, không có gì xảy ra. – Feri