PyVista 是一个功能强大的 Python 库,专为科学计算中的 3D 可视化设计
📅 2026/7/16 4:58:49
👁️ 次浏览
PyVista 是一个功能强大的 Python 库专为科学计算中的 3D 可视化设计基于 VTKVisualization Toolkit构建但提供了更简洁、Pythonic 的 API。它广泛应用于地球科学、流体力学、结构力学、医学成像、计算几何等领域支持网格PolyData,UnstructuredGrid,StructuredGrid、标量/矢量场、等值面、切片、流线、光照渲染、交互式窗口如 Qt、Jupyter 支持以及高质量静态导出PNG、PDF、HTML、GLB 等。核心特性包括✅ 快速加载/生成各类网格支持.vtk,.vtu,.stl,.obj,.ply,.xdmf等格式✅ 标量/矢量场映射与着色add_mesh(..., scalars..., cmapviridis, clim[min,max])✅ 内置滤波器slice(),contour(),glyph(),warp_by_scalar(),extract_surface()等✅ 支持多视图、子图Plotter.subplot()、动画Plotter.add_callback()或Plotter.write_animation()✅ Jupyter 中原生支持交互式 3D 渲染需pyvista.set_jupyter_backend(panel/trame/ipygany✅ GPU 加速渲染通过pyvista.OFF_SCREEN Trueexport_vtkjs实现 Web 可视化示例绘制一个带标量场的球面并添加切片importpyvistaaspv spherepv.Sphere(theta_resolution60,phi_resolution60)sphere[scalars]sphere.points[:,2]# z 坐标作为标量plotterpv.Plotter()plotter.add_mesh(sphere,scalarsscalars,cmapcoolwarm,show_edgesFalse)plotter.add_mesh(sphere.slice(z),colorred,opacity0.7)plotter.show()在 PyVista 中加载和可视化 OpenFOAM 或 ANSYS Fluent 的 CFD 结果如.vtu、.foam、.cas.h5.dat.h5等格式非常直接因为 PyVista 原生支持 VTK 格式包括并行 VTU、PVTU、XDMF而 OpenFOAM 和 Fluent新版 Fluent 2021R2均可导出标准 VTK 兼容格式。✅推荐工作流如下1️⃣ OpenFOAM 数据.foam或.vtu/.pvtu方法 A直接加载.foam目录需 OpenFOAM 安装或foamToVTK预处理PyVista 本身不原生解析.foam原始目录但可借助pyvista.read()读取其导出的 VTK 文件# 终端中先用 OpenFOAM 工具导出推荐foamToVTK-case/path/to/case-timelatestTime-ascii# 或省略 -ascii 得二进制更高效然后 Python 中加载importpyvistaaspv# 加载单时间步的 .vtu 文件如 postProcessing/foamToVTK/0/U.vtumeshpv.get_reader(U.vtu).read()# 自动识别标量/矢量字段# 或直接读取若为单文件# mesh pv.read(U.vtu)print(mesh.point_data.keys())# 查看可用字段如 U速度矢量、p压力方法 B使用pyvista.read()直接读.pvtu并行 OpenFOAM 输出meshpv.read(case.0001.pvtu)# 自动合并所有 rank 的分片2️⃣ ANSYS Fluent 数据Fluent 支持导出为VTK.vtm/.vtu或HDF5.h5格式需启用File → Export → Solution Data✅导出为 VTK推荐在 Fluent GUI 中File → Export → Solution Data → Format: VTK→ 选择变量Velocity, Pressure, Turbulence…→ 导出为fluent_result.vtm多块结构或fluent_result_*.vtu分块。PyVista 加载# 加载 VTMVTK MultiBlock文件multi_blockpv.read(fluent_result.vtm)# 合并为单一网格若需统一处理combinedmulti_block.combine()# 或遍历各块分别可视化fori,blockinenumerate(multi_block):ifhasattr(block,point_data)andvelocityinblock.point_data:plotter.add_mesh(block,scalarsvelocity,vector_plotTrue)⚠️HDF5.h5注意Fluent 默认 HDF5 不符合 VTK 标准不能直接pv.read()。需先用 Fluent 内置导出为 VTK或借助ansys-fluent-reader第三方库解析后转 PyVista 网格。3️⃣ 可视化典型 CFD 场示例importpyvistaaspv# 加载 Fluent 导出的 vtm 或 OpenFOAM 的 vtumeshpv.read(result.vtm).combine()# 合并多块# 显示压力场标量plotterpv.Plotter()plotter.add_mesh(mesh,scalarspressure,cmapplasma,show_edgesFalse)# 添加速度矢量glyphifvelocityinmesh.point_data:arrowsmesh.glyph(orientvelocity,scalevelocity,factor0.01)plotter.add_mesh(arrows,colorwhite,opacity0.8)# 添加切片观察内部流动slice_zmesh.slice(normalz,origin(0,0,0.5))plotter.add_mesh(slice_z,scalarsvelocity,cmapturbo,opacity0.7)plotter.show()提示大型网格建议启用pv.set_jupyter_backend(trame)或OFF_SCREENTrue避免 GUI 卡顿使用mesh.decimate(0.9)或mesh.extract_surface()降低面数提升性能时间序列数据可用pv.read(case_*.vtu)glob批量读取配合Plotter.open_movie()制作动画。
1. 从零开始理解C结构体:它到底是什么,以及为什么你需要它如果你刚开始学习C,在掌握了int、float、char这些基本数据类型之后,很快就会遇到一个瓶颈:现实世界的数据很少是孤零零存在的。比如,你想在程序里描…
📅 2026/7/16 4:58:49
1. 项目概述:从加密音频到开放格式的转换如果你是一个音乐爱好者,或者经常从QQ音乐上下载歌曲到本地播放器、车载音响或者没有网络的环境里听,那你大概率遇到过一种情况:从QQ音乐客户端下载的歌曲,在电脑上看着是.flac…
📅 2026/7/16 4:57:48
1. 项目概述:为什么是Playwright?如果你正在用Python做自动化,无论是为了测试网页、批量处理数据,还是想模拟用户操作来抓取一些动态内容,那你大概率已经听说过Selenium。但今天要聊的Playwright,在我看来&…
📅 2026/7/16 4:57:48
上周三深夜两点,我盯着后台那根几乎贴地飞行的流量曲线,手里那杯冷透的美式咖啡早就结了一层膜。客户老张急得在电话里吼,说隔壁同行明明没投广告,搜索排名却稳如泰山,而自己的店铺在地图上连个影子都摸不着。这场景太熟悉了,过去三年,我见过太多老板在SEO和地图标注上踩…
📅 2026/7/16 5:50:21
本文关键词:ai搜索优化geo优化培训说实话,最近这行里想搞本地流量的人,眼珠子都红了。以前咱们做本地推广,靠的是发发传单、搞搞地推,或者在百度地图里花点钱把店标弄亮堂点。现在倒好,风向变了,大家都盯着那个所谓的“AI搜索优化”和“geo优化”。听着挺玄乎,好像按几…
📅 2026/7/16 5:47:15
1. 项目概述:为什么要在C里折腾HDLC?如果你在嵌入式、工业通信或者一些老牌通信设备公司的代码里翻过,大概率会碰到HDLC(高级数据链路控制)协议。乍一看,这协议名字里带个“高级”,但其实是上个…
📅 2026/7/16 5:45:50
这次我们来聊聊PCB设计工程师这个岗位到底需要掌握哪些技能,哪些内容可以暂时放一放。对于刚入行的工程师来说,最头疼的就是不知道学习重点在哪里,担心学了一堆用不上的东西,反而错过了核心技能。PCB设计工程师主要负责电路板的设…
📅 2026/7/16 5:45:50
目录
引言一、 国际主流模型 1. OpenAI GPT 系列2. Anthropic Claude 系列3. Google Gemini 系列4. Meta Llama 系列5. xAI Grok 系列6. 其他值得关注的国际模型 二、 国内主流模型 1. 百度 文心大模型2. 阿里 通义千问3. 腾讯 混元大模型4. 字节跳动 豆包大模型 / 扣子5. 智谱…
📅 2026/7/16 5:45:50
1. 为什么需要while和do..while循环?在日常编程中,我们经常遇到需要重复执行某段代码的场景。比如读取用户输入直到输入合法、处理文件中的每一行数据、或者游戏中的主循环。这时候,循环结构就派上用场了。Java提供了三种主要的循环结构&…
📅 2026/7/16 5:45:50
1. 项目概述:为什么用遗传算法解5皇后问题,而不是直接回溯?我带过十几届算法课,也给不少初创团队做过AI架构咨询。每次讲到组合优化问题,学生和工程师的第一反应永远是“写个回溯试试”。这没错——55棋盘上找所有合法…
📅 2026/7/16 0:00:02
前几天调试一个简单的电源模块,用到了5.1V稳压管。电路接好,上电测试,万用表一量——输出居然只有4.7V。第一反应是稳压管坏了,换了一个新的,结果还是4.7V。这让我想起很多初学者都会遇到的困惑:明明标称5.…
📅 2026/7/16 0:00:02
1. 项目概述与核心价值 在高速数字系统、通信设备乃至精密测量仪器中,一个稳定、纯净且可精确调控的时钟信号,往往是整个系统稳定运行的“心跳”。无论是确保数据在光纤中无误传输,还是让ADC/DAC芯片精准采样,亦或是让多块FPGA板卡…
📅 2026/7/16 0:00:02
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/15 22:51:06
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/15 19:03:10
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/15 14:09:20
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/15 22:46:06
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/16 4:59:31
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/15 22:51:03