gpt4 book ai didi

python - 平行六面体体积数据的体积切片图

转载 作者:行者123 更新时间:2023-12-01 05:52:01 26 4
gpt4 key购买 nike

我有一个由三个向量定义的平行六面体体积数据:

2.468000 0.000000 0.000000

b -1.234000 2.137351 0.000000

c 0.000000 0.000000 32.000000

我的网格由 40 40 500 个点描述,分别对应轴 a、b、c。正如您所看到的,这三个向量并不相互正交,这会给网格的读取带来很多问题。

我最初的计划是读取原始数据,然后提取几个体积切片,用 sagemath 进行处理,以生成 super 漂亮的图片。遗憾的是,我在 python 文档中查找了类似的内容,发现了几个可用于正交体积的命令(ndgrid、easyviz.slice_),但没有一个命令可用于非相互正交的体积数据。

在 Scitools 包和 numpy 中我发现了以下命令

Numpy提供:

  • mgrid
  • 奥网格
  • 网格

Scitools提供:

  • ndgrid
  • 盒子网格

然后我也在寻找 matplotlib 函数,但它们太多了,我干脆放弃了。

是否有一些友好的程序员可以帮助我找到正确的方法?

最佳答案

你到底在追求什么?

您可以轻松创建形状为 (40, 40, 500, 3) 的数组,其中位置 [a, b, c] 处的项目是 3 个元素保存相应平行六面体网格点的 x、y、z 坐标的数组,如下所示:

a = np.array([2.468000, 0.000000, 0.000000]).reshape(1, 1, 1, 3)
b = np.array([-1.234000, 2.137351, 0.000000]).reshape(1, 1, 1, 3)
c = np.array([0.000000, 0.000000, 32.000000]).reshape(1, 1, 1, 3)
A = np.linspace(0, 1, num=40).reshape(40, 1, 1, 1)
B = np.linspace(0, 1, num=40).reshape(1, 40, 1, 1)
C = np.linspace(0, 1, num=500).reshape(1, 1, 500, 1)
grid = a * A + b * B + c * C

关于python - 平行六面体体积数据的体积切片图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13921629/

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