gpt4 book ai didi

python - Numpy - 如何矢量化多个变换矩阵

转载 作者:行者123 更新时间:2023-12-01 08:24:09 25 4
gpt4 key购买 nike

我有一个变换矩阵数组来变换 3D 点。我基本上有大约 62 [4x4] 矩阵。

同样,我有 1 [4x1] 3D 点。

对,现在我正在对每个变换进行交互,并将相应的变换矩阵应用到同一个点。有没有办法可以利用 Numpy 的张量表示来更干净地完成此操作?

最佳答案

你可以做这样的事情

import numpy as np


transf = np.random.randint(1,9,(62,4,4))
points = np.random.randint(0,9,(4,62))

res = np.dot(transf,points)

print(res.shape)
print(res[0][:,0],np.dot(transf[0],points[:,0]))

# (62, 4, 62) -> (numb_transformation, point_coord, numb_of_points)
# [35 13 39 29] [35 13 39 29]

我拿第一点来表明结果是一样的。

这基本上沿着“transf”的 0 轴获取每个矩阵,并将其应用于“点”数组,其中每列都是一个点,这样你就得到了一个形状 (4,n_points)

结果将是一个数组,其中第一个轴是第 n 个矩阵的应用结果,第二个轴是点坐标,第三个轴是点的编号

关于python - Numpy - 如何矢量化多个变换矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54410521/

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