如何使用ParaView可视化工具来绘制点云数据的3D点云图像(亲测好用)

如何使用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中加载数据

  1. 打开ParaView: 打开ParaView应用程序。

  2. 加载CSV文件

    • 点击 File -> Open,选择生成的CSV文件(例如point_cloud_0.csv)。
    • 在弹出的对话框中,选择Delimited Text Reader,点击 Apply
  3. 配置数据格式

    • Properties面板中,确保Have Headers被选中,然后点击 Apply
    • ParaView会将CSV文件中的数据读取为一个表格。
  4. 将表格数据转换为点云

    • 点击 Table To Points 图标(可以在ParaView顶部工具栏中找到)或者通过 Filters -> Alphabetical -> Table To Points
    • Properties面板中,设置 X ColumnxY ColumnyZ Columnz,然后点击 Apply
  5. 可视化点云数据

    • 现在,你可以在视图中看到点云。如果你有多个时间步的数据,可以重复上述步骤加载并可视化不同的时间步。

四、可视化属性数据

如果你想可视化点的属性(例如T, u, v, w, p),可以使用ParaView的Color By功能:

  1. 选择点云数据: 在Pipeline Browser中选择点云数据(例如TableToPoints1)。

  2. 设置颜色: 在Properties面板中,找到Coloring选项,选择你想要的属性(例如u1)。

  3. 应用颜色映射: 点击 Apply

看样子比较耗主存,本电脑128GB,右下角显示用了14.5GB,该数据大小为3.9GB。

至此,成功结束!

相关推荐

  1. laspy + open3d 实现.las

    2024-07-10 03:18:03       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 03:18:03       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 03:18:03       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 03:18:03       90 阅读
  4. Python语言-面向对象

    2024-07-10 03:18:03       98 阅读

热门阅读

  1. C#——StringBuilder和string的区别与用法

    2024-07-10 03:18:03       24 阅读
  2. 《面向对象分析与设计》学习笔记1

    2024-07-10 03:18:03       28 阅读
  3. 人工智能与云计算

    2024-07-10 03:18:03       22 阅读
  4. 等保测评——云计算扩展项(云安全风险)

    2024-07-10 03:18:03       24 阅读
  5. iOS 开发者的 Flutter 入门课

    2024-07-10 03:18:03       29 阅读
  6. 认识同源策略

    2024-07-10 03:18:03       23 阅读
  7. LCD EMC 辐射 测试随想

    2024-07-10 03:18:03       27 阅读
  8. C# Halcon目标检测算法

    2024-07-10 03:18:03       31 阅读