Ich muss eine 3D-Punktwolke (Anzahl der Punkte: N) plotten, dann eine konvexe Hülle (eigentlich ein Polyeder mit N Ecken) von den Punkten. Ich habe ein Skript in Python mit scipy.spatial ConvexHull für Plot 8 Punkte und einen Würfel, die Zeichnung der Punktwolke ist in Ordnung, aber der Würfel ist nicht in Ordnung, weil der Code setzt zwei Zeilen über die diagonale Fläche des Würfels zusätzlich zu den Kantenlinien. Ich verstehe nicht, warum Linien über Gesichter geplottet werden.3D konvexe Hülle von Punktwolke
Das Skript:
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()
Ergebnis des Skripts:
Wie kann ich meine Frage bearbeiten? Ich habe "Hi All" aus der ersten Zeile vergessen, und wenn ich auf "Bearbeiten" klicke und die Änderungen speichern möchte, passiert nichts. – Feri