我是一个新手,并试图在Python 2.7.2与Numpy的东西没有按预期工作,所以想检查是否有什么基本的东西,我是误解。使用索引的Numpy循环
我正在计算三角形(trinormals)的值,然后使用三角形索引(trivertexidx)数组更新三角形(vertnormals)的每个点的值。作为一个循环,我计算:
for itri in range(ntriangles) :
vertnormals[(trivertidx[itri,0]),:] += trinormals[itri,:]
vertnormals[(trivertidx[itri,1]),:] += trinormals[itri,:]
vertnormals[(trivertidx[itri,2]),:] += trinormals[itri,:]
由于这是我认为它可以修改成一个有点慢:
vertnormals[(trivertidx[:,0]),:] += trinormals[:,:]
vertnormals[(trivertidx[:,1]),:] += trinormals[:,:]
vertnormals[(trivertidx[:,2]),:] += trinormals[:,:]
然而,这并没有给相同的结果。是否有另一种更简单的方法来编写循环?任何指针赞赏。请注意这里的意图是为vertiant中的每个条目获取单个值,然后对结果进行归一化。
抱歉没有发现这个答案(不知道如何回到它)。很好的解决方案,并完美运作 – user1942439