我想把x,y和z在特定范围内的所有坐标组合直接转换为vtk.polyData公司或者vtk点. 我的第一个方法是使用itertools.product,但我认为这会有一个非常糟糕的运行时。因此,我使用vtk找到了另一种方法,不管怎样,我在下一部分的程序中都需要它。在
第一次进近itertools.product
import numpy as np
import itertools
import vtk
x1=[10,11,12....310]
y1=[10,11,12....310]
z1=[0,1,2....65]
points1 = vtk.vtkPoints()
for coords in itertools.product(x1,y1,z1):
points1.InsertNextPoint(coords)
boxPolyData1 = vtk.vtkPolyData()
boxPolyData1.SetPoints(points1)
我目前对vtk的方法:
^{pr2}$但他把我的Python撞倒了。有人有主意吗?在
谨致问候!在
将这些} 或^{} 堆叠在列中,然后将它们作为输入馈送给
coords
与^{num_array
,如下-或者,要直接获得
^{pr2}$out_data
,请-另一种使用
initialization
替换np.mgrid
创建的3D
数组的方法如下-演示
create_mgrid_array
-运行时测试
方法-
时间安排和验证-
13x+
在循环的基础上,用所提出的矢量化方法来加速!在相关问题 更多 >
编程相关推荐