Est-ce que quelqu'un peut m'expliquer ou me montrer comment créer un polygone filaire 3D en utilisant des commandes de tracé de lignes 2D en Python? Je sais que j'ai besoin d'un ensemble de sommets et les relier pour être des lignes 2D et ensuite les tracer. Je ne suis pas complètement sûr de savoir comment le faire.Comment créer une maison filaire 3D dans PYTHON à l'aide de commandes de tracé de lignes 2D?
0
A
Répondre
1
Basé sur l'excellent answer pour diverses formes 3D, vous pouvez faire quelque chose comme,
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
from itertools import product, combinations
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.set_aspect("equal")
# draw cube
r = [-1, 1]
points = list(product(r, r, r))
#Add roof
points.append([0., 1.5, -1.])
points.append([0., 1.5, 1.])
#Convert to array
points = np.array(points)
#Plot
ax.scatter(points[:,0], points[:,1], points[:,2])
for s, e in combinations(points, 2):
#All diagonals will be greater than 2
if np.sum(np.abs(s-e)) <= 2:
ax.plot3D(*zip(s, e), color="k")
plt.show()
qui ressemble alors à cela,
+0
Bien, mais pourquoi le toit est-il sur le flanc? Ou est-ce le résultat d'une construction légère après un ouragan? ;-) – ImportanceOfBeingErnest
Bienvenue sur stackoverflow. Vous voudriez probablement lire [demander] car vous étiez assez chanceux que quelqu'un ait pris le temps de répondre à votre question, ce qui n'est pas conforme aux directives. La prochaine fois que vous poserez la question, il serait bon d'inclure une description claire du problème à partir de laquelle vous comprenez clairement ce que vous avez essayé et à quel moment vous rencontrez le problème. – ImportanceOfBeingErnest