2017-10-02 4 views
0

Pythonで2D線描画コマンドを使用して3Dワイヤフレームポリゴンハウスを作成する方法を教えてください。私は頂点のセットが必要であり、それらを2次元線に接続してプロットすることを知っています。私はそれを行う方法を完全には分かりません。2D線描画コマンドを使用してPYTHONで3Dワイヤフレームハウスを作成するにはどうすればよいですか?

+0

はStackOverflowのへようこそ。誰かがあなたの質問に答えるのに時間がかかったことは、あなたが運が良かったので、あなたはおそらく[ask]を読んでみたいと思います。次回は、あなたが試したことが明らかになっている問題の明確な説明と問題が発生した時点を明記することをお勧めします。 – ImportanceOfBeingErnest

答えて

1

様々な3D形状のための優れたanswerに基づいて、あなたはこのようなもののように、

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() 

を行うことができ、

enter image description here

+0

ニース、なぜ屋根はサイドウォールにありますか?それとも、これはハリケーンの後の軽量建設の結果ですか? ;-) – ImportanceOfBeingErnest

関連する問題