用python写一段用matplotlib画出的长方体导出保存成obj文件的代码
时间: 2023-03-09 15:50:31 浏览: 161
以下是一段可以用来实现上述功能的Python代码:import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
import numpy as np# 定义长方体的 8 个顶点
verts = [
[0, 0, 0],
[1, 0, 0],
[1, 1, 0],
[0, 1, 0],
[0, 0, 1],
[1, 0, 1],
[1, 1, 1],
[0, 1, 1]
]# 定义长方体的 6 个面
faces = [[0, 1, 2, 3],
[4, 5, 6, 7],
[0, 1, 5, 4],
[2, 3, 7, 6],
[1, 2, 6, 5],
[0, 3, 7, 4]]# 用 matplotlib 画出长方体
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
cube = Poly3DCollection(verts[faces], linewidths=1, edgecolors='b')
cube.set_facecolor('b')
ax.add_collection3d(cube)
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax.set_zlim(0, 1)
plt.show()# 导出 obj 文件
with open("cube.obj", "w") as f:
for v in verts:
f.write("v "+str(v[0])+" "+str(v[1])+" "+str(v[2])+"\n")
for fc in faces:
f.write("f "+str(fc[0]+1)+" "+str(fc[1]+1)+" "+str(fc[2]+1)+" "+str(fc[3]+1)+"\n")
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)