2017-09-04 117 views
0

我有一個.vtu文件,代表我通過vtkXMLUnstructuredGridReader讀取的網格。然後我創建一個numpy數組(nbOfPoints x 3),其中存儲網格頂點座標,我將其稱爲meshArray。 我也有一個列數組(nOfPoints x 1),我將調用brightnessArray,它表示我想要分配給meshArray的頂點的某個屬性;所以每個頂點對應一個標量值。例如:對元素meshArray [0]將對應brightnessArray [0]等。 我該怎麼做?使用python將自定義屬性添加到vtkXMLUnstructuredGrid

然後可以在網格的頂點內插值以獲得爲了在paraview中將其可視化而設置的屬性的平滑變化?

謝謝。 西蒙

+0

你的問題還不清楚。你能準確地知道你的輸入和輸出是什麼嗎? –

+0

我的輸入是vtu網格和一個數組。網格具有一定數量的節點(nbOfPoints),並且該數組長度相同。網格是一個XMLUnstructuredGrid。每個節點都可以包含某個屬性的信息。例如,速度場可以由分配給網格節點的標量值表示。所需的輸出是一個新的網格,具有與原始網格相同的點,數組值已分配到該網格。換句話說,我想任意地爲網格分配一個新的標量字段。 這很難解釋,對不起。我希望這次我更清楚。 謝謝。 – semions

+0

更清晰。這應該可以通過python可編程過濾器來實現。數組存儲在哪裏? –

回答

0

以下是你需要做的:

  1. 編寫Python編程源代碼作爲一個vtkUnstructuredGrid閱讀您numpy的數據。 下面是可編程源的幾個例子: https://www.paraview.org/Wiki/ParaView/Simple_ParaView_3_Python_Filters https://www.paraview.org/Wiki/Python_Programmable_Filter

  2. 閱讀您的.vtu數據集

  3. 使用在你的Python編程源輸出「Ressample與數據集」過濾器並選擇您的數據集作爲「源「

大功告成。

最難的部分是編寫程序集源腳本。

相關問題