如何使用ParaView来绘制点云数据。以下是如何将你的数据导入ParaView并进行可视化的步骤
一、准备数据
首先,你需要将你的数据转换为ParaView可以读取的格式。ParaView支持多种文件格式,其中最常见的是.vtk
和.csv
格式。为了简单起见,这里我们将数据转换为.csv文件。
假设你有以下数据:
-
Heatsink_Output_XYZ.npy:形状为(19517, 3),表示19517个点的3D坐标。
-
Heatsink_Output_Function.npy:形状为(1000, 19517, 5),表示1000个时间步的点云数据,每个点有5个属性T, u, v, w, p。
二、将数据转换为CSV格式
首先,我们将xyz
数据和input_point_cloud
数据保存为CSV文件。我们会将每个时间步的数据保存为一个单独的CSV文件。
import numpy as np
from tqdm import tqdm
# 加载数据
xyz = np.load("Heatsink_Output_XYZ.npy") # shape: (19517, 3)
input_point_cloud = np.load("Heatsink_Output_Function.npy") # shape: (1000, 19517, 5)
# 将每个时间步的数据保存为一个CSV文件
for t in tqdm(range(input_point_cloud.shape[0]), desc="Saving CSV files"):
data = np.hstack((xyz, input_point_cloud[t]))
np.savetxt(f"./csv/point_cloud_{t}.csv", data, delimiter=",", header="x,y,z,T, u, v, w, p", comments='')
print("CSV文件已生成")
得到的数据格式如下:
也就是1000个时间步数据对应的1000个CSV文件,每个文件里面有19517个点的坐标及该点的值,也就是坐标3列+值value5列 = 合并后的8列有效信息。
三、在ParaView中加载数据
-
打开ParaView: 打开ParaView应用程序。
-
加载CSV文件:
- 点击
File
->Open
,选择生成的CSV文件(例如point_cloud_0.csv
)。 - 在弹出的对话框中,选择
Delimited Text Reader
,点击Apply
。
- 点击
-
配置数据格式:
- 在
Properties
面板中,确保Have Headers
被选中,然后点击Apply
。 - ParaView会将CSV文件中的数据读取为一个表格。
- 在
-
将表格数据转换为点云:
- 点击
Table To Points
图标(可以在ParaView顶部工具栏中找到)或者通过Filters
->Alphabetical
->Table To Points
。 - 在
Properties
面板中,设置X Column
为x
,Y Column
为y
,Z Column
为z
,然后点击Apply
。
- 点击
-
可视化点云数据:
- 现在,你可以在视图中看到点云。如果你有多个时间步的数据,可以重复上述步骤加载并可视化不同的时间步。
四、可视化属性数据
如果你想可视化点的属性(例如T, u, v, w, p),可以使用ParaView的Color By
功能:
-
选择点云数据: 在Pipeline Browser中选择点云数据(例如
TableToPoints1
)。 -
设置颜色: 在
Properties
面板中,找到Coloring
选项,选择你想要的属性(例如u1
)。 -
应用颜色映射: 点击
Apply
。
看样子比较耗主存,本电脑128GB,右下角显示用了14.5GB,该数据大小为3.9GB。
至此,成功结束!