gpt4 book ai didi

python - 制作一个线框多边形

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:04 24 4
gpt4 key购买 nike

我想制作一些图表来帮助我正在辅导的一些微积分学生更好地可视化他们正在计算的体积。例如,一个问题是求三棱锥的体积。

下面是一些生成金字塔各边的工作代码,但您无法分辨一侧在哪里结束,另一侧从哪里开始。我怎样才能把它变成线框,使实体更容易识别?或者,我如何为表面着色不同的颜色以使图形更明显?

具体来说,我不明白如何制作三角形网格。或者,我想制作连接到每个点的线就足够了。

import numpy as np
import matplotlib.pyplot as plot
from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.mplot3d.art3d import Poly3DCollection

fig = plot.figure()
ax = Axes3D(fig)

A=[0,0,0]
B=[1,1,0]
C=[0,1,1]
D=[0,1,0]

verts=[[A,B,C],
[A,B,D],
[A,D,C],
[B,C,D]]

ax.add_collection3d(Poly3DCollection(verts))
ax.view_init(azim=-45)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
plot.show()

结果图:

triangular pyramid visualization

最佳答案

如果要显示形状的边缘,可以指定 line width创建Poly3DCollection

Poly3DCollection(verts, lw=2)

enter image description here

另外,指定一些 face transparency可能有助于可视化

Poly3DCollection(verts, facecolor=(0,0,1,0.2), linewidth=2, edgecolor=(0,0,0))

enter image description here

您还可以使用facecolors属性为每个面指定不同的颜色

Poly3DCollection(verts, lw=2, facecolors=['r', 'g', 'b', 'k'])

enter image description here

关于python - 制作一个线框多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41916030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com