首页/文章/ 详情

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

1年前浏览1176

在此前文章中介绍了一个可视化的工具包PyVista(PyVista:基于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
最近编辑:1年前
CAE仿真空间
硕士 | 无 欢迎关注“CAE仿真空间”公众号
获赞 107粉丝 818文章 133课程 3
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈