0
我通過PYTHON腳本讀取了格式爲vtk的unstructuredGrid。我想抵消這個UGrid的每一點。我的意思是我有一個x,y和z偏移量,我想將其應用於UGrid,以便我可以獲得兩個不同網格的相同原點。由於座標是元組,所以我不能直接分配這個偏移量。任何建議welcolmed。VTK UnstructuredGrid偏移量座標
THX,
阿爾諾
我通過PYTHON腳本讀取了格式爲vtk的unstructuredGrid。我想抵消這個UGrid的每一點。我的意思是我有一個x,y和z偏移量,我想將其應用於UGrid,以便我可以獲得兩個不同網格的相同原點。由於座標是元組,所以我不能直接分配這個偏移量。任何建議welcolmed。VTK UnstructuredGrid偏移量座標
THX,
阿爾諾
我用的往往是下面的函數讀取一個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]))
最初,我用它來旋轉和剪切網格,但是應用偏移更容易。
剛剛讀過一個vtk文件,想要在再次寫入文件之前抵消這些點,還是讀取要直接插入到vtk管道中的UG數據?對於後者,您可以使用vtkTransformFilter(例如,修改以下http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/TransformFilter) – Jakob
是的。事實上,我想在寫入文件之前先抵消這些要點!任何想法 ? – ArnaudT
那麼,如果你有一個ascii vtk文件,你可以簡單地逐行讀取文件,並在再次寫入文件之前抵消這些點。這應該沒問題。 – Jakob