2024-09-26 17:59:56 发布
网友
我有三个数据通道。通道表示x、y和z坐标。例如,点的x位置存储在通道1中,y位置存储在通道2中,等等
我想对这些通道中表示的每个点执行变换。也就是说,我想用变换矩阵乘以每个u,v位置的x,y和z。当然,我可以手动遍历每个u,v位置并提取位置数据。我觉得这不是最有效的方法。你知道吗
我的问题是,转换点集合(位置数据存储在对应于每个维度的通道中)的最有效方法是什么?你知道吗
你所描述的只是矩阵乘法:
raw = numpy.array([ [1, 10, 100], [2, 20, 200], [3, 30, 300], [4, 40, 400] ]) transformation = numpy.matrix([ [1, 0, 0], [0, 0, 1], [0, -1, 0] ]) transformed = raw * transformation
也许您的数据比这个M-datapoints-by-3“channels”示例的维度更高?不清楚你所说的u和v是什么意思,但它们似乎暗示你的问题可能是更高维度的。如果是这样的话,您可以研究^{}和^{},它们允许将矩阵乘法泛化到更高的维度,或者您可以将raw设置为实际原始数据的view,然后reshape降到M-by-3(最后通过将transformed重塑回您想要的方式来撤消)。你知道吗
u
v
raw
view
reshape
transformed
你所描述的只是矩阵乘法:
也许您的数据比这个M-datapoints-by-3“channels”示例的维度更高?不清楚你所说的} 和^{} ,它们允许将矩阵乘法泛化到更高的维度,或者您可以将
u
和v
是什么意思,但它们似乎暗示你的问题可能是更高维度的。如果是这样的话,您可以研究^{raw
设置为实际原始数据的view
,然后reshape
降到M-by-3(最后通过将transformed
重塑回您想要的方式来撤消)。你知道吗相关问题 更多 >
编程相关推荐