【发布时间】:2018-09-17 12:26:52
【问题描述】:
我有一个平面的 3 个维度的基础:(u, v)。
我想获得这个基础的所有线性组合,以基本遍历我的整个平面:
对于 [0, 512[ 中的 i 和 [0, 512[ 中的 j,获取所有 (i * u + j * v)。
我需要这个速度很快,所以 for 循环并不是一个真正的选择。如何使用 numpy 广播做到这一点?
看了https://docs.scipy.org/doc/numpy-1.13.0/user/basics.broadcasting.html,我的印象是不可能做到...
试过了:
# This is an orthonormal basis but there is no guarantee it is
u = np.array([1, 0, 0])
v = np.array([0, 1, 0])
tmp = np.arange(512)
factors = itertools.combinations(tmp, 2)
pixels = factors[0] * u + factors[1] + v
但显然它不起作用。
这个问题有解决办法吗?如果是,那怎么办?
【问题讨论】: