gpt4 book ai didi

python - 如何通过 matplotlib 绘制四面体网格?

转载 作者:太空狗 更新时间:2023-10-30 00:59:27 25 4
gpt4 key购买 nike

我想用matplotlib绘制一个四面体网格,下面是一个简单的四面体网格:

xyz = np.array([
[-1,-1,-1],
[ 1,-1,-1],
[ 1, 1,-1],
[-1, 1,-1],
[-1,-1, 1],
[ 1,-1, 1],
[ 1, 1, 1],
[-1, 1, 1]], dtype=np.float)

tets = np.array([
[0,1,2,6],
[0,5,1,6],
[0,4,5,6],
[0,7,4,6],
[0,3,7,6],
[0,2,3,6]], dtype=np.int)

当然,在实际应用中,一个网格中的四面体数量可以很大。我在谷歌中找不到任何有用的帮助信息。那么,使用 matplotlib 绘制四面体网格的更好方法是什么?

此外,我可以获得网格的所有三角形面。

tri = np.array([
[0, 2, 1],
[0, 1, 5],
[0, 6, 1],
[0, 3, 2],
[0, 2, 6],
[0, 6, 3],
[0, 7, 3],
[0, 5, 4],
[0, 6, 4],
[0, 4, 7],
[0, 6, 5],
[0, 6, 7],
[1, 2, 6],
[5, 1, 6],
[2, 3, 6],
[3, 7, 6],
[4, 5, 6],
[7, 4, 6]], dtype=np.int)

最佳答案

matplotlib 可能不是完成这项任务的错误工具。 3D 绘图很难,例如 ParaView尝试。您可以使用 meshio (我的一个项目)将您的网格写入适当的数据类型:

import meshio
meshio.write('out.vtu', xyz, {'tetra': tets})

enter image description here

关于python - 如何通过 matplotlib 绘制四面体网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41404096/

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