VTK非结构化网格偏移坐标



我通过PYTHON脚本读取了一个格式为vtk的非结构化网格。我想抵消这个UGrid的每一点。我的意思是,我有一个x、y和z偏移,我想将其应用于UGrid,这样我就可以获得两个不同网格的相同原点。我不能直接指定这个偏移量,因为坐标是元组。欢迎任何建议。

Thx,

Arnaud

我经常使用以下函数来读取ascii vtk文件,处理点并将其再次写入新文件。

def offsetVTK(infilename, outfilename, offset):
    outfil = open(outfilename,'w')
    with open(infilename,'r') as infil:
        lin = 1
        while lin:
            lin = infil.readline()
            if lin.lower().startswith('points'):
                numpt = int(lin.split()[1])
                outfil.write(lin)
                for i in xrange(numpt):
                    outfil.write('{0[0]} {0[1]} {0[2]}n'.format(
                       np.array(infil.readline().split(),dtype=float) + offset))
            else:
                outfil.write(lin)
    outfil.close()
offsetVTK('ray.vtk','ray_off.vtk', np.array([100,0,0]))

最初,我使用它来旋转和剪切网格,但应用偏移更容易。

最新更新