首页/文章/ 详情

基于VTK和Numpy的三维数据分析和可视化库

3小时前浏览2

在此前文章中介绍了一个可视化的工具包PyVistaPyVista:基于Python的开源可视化工具包),留言中有粉丝朋友提到 vedo,本文借着这位朋友的留言和大家做一个详细分享。 

首先,共同之处是它们都基于vtk进行了封装,便于快速学习和使用。不同之处,PyVista更多的优势在于处理网格数据(如有限元分析、计算流体动力学等工程领域),另外,像气象、地理信息等学科领域大型数据的可视化方面也更适用。vedo则对医学图像、点云和几何形状的可视化更具优势,交互性好,而且更加轻量化,第三方的依赖库相对少一些。

 

下面针对vedo的特点和功能做个介绍

1. 多边形网格与点云处理

示例库:提供覆盖广泛功能的大量可运行示例网格导入:支持VTK、STL、Wavefront OBJ、3DS、Dolfin-XML、Neutral、GMSH、OFF、PCD(点云)等格式网格导出:支持以ASCII/二进制格式导出至VTK、STL、OBJ、PLY等分析工具:移动最小二乘法(MLS)、网格变形等可视化与编辑几何计算网格优化点-面操作图元生成:球体、箭头、立方体、圆环、椭球体等德劳内三角剖分:支持2D/3D网格路径规划:沿网格边搜索点对点最短路径交互控件:为场景与对象添加滑块/按钮张量可视化

......

2. 点云分析

移动最小二乘法(MLS):2D/3D/4D点云平滑空间拟合:直线/平面/球体/椭球体拟合离群点检测:点分布中的异常点识别点云抽稀:生成均匀分布的点云

3. 体积数据与四面体网格

体积数据导入2D图像导入:PNG/JPEG/BMP等值面提取体积渲染复合渲染最大强度投影(MIP)

......

4. 2D/3D绘图与直方图

3D文本渲染坐标轴定制:全参数化轴样式环形图:饼图/甜甜圈图散点图:2D/3D散点可视化直方图系统

......

5. 生态集成

Qt框架:深度集成Qt5科学计算:支持FEniCS/Dolfin平台(PDE/FEM解可视化)库互操作性:与trimesh/pyvista/pymeshlab交互Web导出:导出3D场景并嵌入网页Jupyter支持

一些应用案例展示



pip install vedovedo https://vedo.embl.es/examples/data/panther.stl.gz














import numpy as npfrom vedo import*
# Create a scalar field: the distance from point (15,15,15)X, Y, Z = np.mgrid[:30,:30,:30]scalar_field =((X-15)**2+(Y-15)**2+(Z-15)**2)/225
# Create the Volume from the numpy objectvol =Volume(scalar_field)
# Generate the surface that contains all voxels in range [1,2]lego = vol.legosurface(1,2).cmap("afmhot_r").add_scalarbar()
show(lego, axes=True)

使用移动最小二乘法(MLS)的一种变体算法将点云投影为平滑曲面。在第二个窗口中,我们以颜色刻度(左)或尺寸刻度(右)显示每个点的估计误差。

点云在网格上的 Voronoi 镶嵌(或 Voronoi 细分)


来源:CAE仿真空间
RADIOSS静力学振动非线性拓扑优化MATLABpythonUM渲染气象曲面Altair
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-06-21
最近编辑:3小时前
CAE仿真空间
硕士 |欢迎关注“CAE仿真空间”公众号
获赞 103粉丝 798文章 97课程 3
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈