2016-05-26 10 views
2

私は、VerticesとFacesデータを持つMeshlabによって生成されたOBJファイルを持っています。 MATLABで iは別の1アレイ(5937x3)と面(11870x3)データの頂点データと「」パッチ「」関数を使用し、結果は以下です:Plot3d in Python

Simplified version of the code 

[V,F] = read_vertices_and_faces_from_obj_file(filename); 

patch('Vertices',V,'Faces',F,'FaceColor','r','LineStyle','-') 

axis equal 

Result

問題ですどうすればPythonでそれを行うことができますか? Matlabのような簡単な方法がありますか?

本当にありがとうございます。

答えて

2

matplotlibライブラリのmplot3d toolkitを利用することをおすすめします。

同様の質問が尋ねられましたhere。おそらく、この質問から抜粋したわずかに編集されたコードがあなたを助けるでしょう。

コード:

from mpl_toolkits.mplot3d import Axes3D 
from mpl_toolkits.mplot3d.art3d import Poly3DCollection 
import matplotlib.pyplot as plt 

fig = plt.figure() 
ax = Axes3D(fig) 
# Specify 4 vertices 
x = [0,1,1,0] # Specify x-coordinates of vertices 
y = [0,0,1,1] # Specify y-coordinates of vertices 
z = [0,1,0,1] # Specify z-coordinates of vertices 
verts = [zip(x, y, z)] # [(0,0,0), (1,0,1), (1,1,0), (0,1,1)] 
tri = Poly3DCollection(verts) # Create polygons by connecting all of the vertices you have specified 
tri.set_color(colors.rgb2hex(sp.rand(3))) # Give the faces random colors 
tri.set_edgecolor('k') # Color the edges of every polygon black 
ax.add_collection3d(tri) # Connect polygon collection to the 3D axis 
plt.show() 
+0

感謝!!私はそれを試みます。 –