news 2026/5/19 10:35:00

Rainbow读取和渲染 PLOT3D 格式的流体动力学(CFD)仿真数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Rainbow读取和渲染 PLOT3D 格式的流体动力学(CFD)仿真数据

一:主要的知识点

1、说明

本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客

2、知识点纪要

本段代码主要涉及的有①vtkStructuredGridGeometryFilter网格到几何的过滤器


二:代码及注释

from vtkmodules.vtkIOParallel import vtkMultiBlockPLOT3DReader from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkFiltersGeometry import vtkStructuredGridGeometryFilter from vtkmodules.vtkCommonCore import vtkLookupTable from vtkmodules.vtkRenderingCore import vtkPolyDataMapper, vtkActor, vtkRenderer, vtkRenderWindow, vtkRenderWindowInteractor from vtkmodules.vtkFiltersCore import vtkStructuredGridOutlineFilter def main(): xyzFn, qFn = "Data/combxyz.bin", "Data/combq.bin" colors = vtkNamedColors() pl3d = vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(xyzFn) pl3d.SetQFileName(qFn) pl3d.SetScalarFunctionNumber(100) # 使用编号为 100 的数据数组(例如,可能是压力或温度)为提取的平面上色 pl3d.SetVectorFunctionNumber(202) #使用编号为 202 的数据数组(通常是 U, V, $ 速度分量)作为矢量场数据 pl3d.Update() pl3dOutput = pl3d.GetOutput().GetBlock(0) """ vtkStructuredGridGeometryFilter VTK 里一个网格到几何(geometry)转换的过滤器 用于把 vtkStructuredGrid(结构化网格)提取成可以渲染的表面几何数据(vtkPolyData) 它允许你从三维结构化数据中 抽取一个“层面”(比如 i=0 面、j=5 面等), 以便:显示网格表面;可视化内部结构;做切片渲染或剖面可视化 """ plane = vtkStructuredGridGeometryFilter() plane.SetInputData(pl3dOutput) plane.SetExtent(1, 100, 1, 100, 7, 7) lut = vtkLookupTable() lut.SetNumberOfColors(256) lut.SetHueRange(0.0, 0.667) planeMapper = vtkPolyDataMapper() planeMapper.SetLookupTable(lut) plane.SetInputData(pl3dOutput) planeMapper.SetScalarRange(pl3dOutput.GetScalarRange()) planeActor = vtkActor() planeActor.SetMapper(planeMapper) """ vtkStructuredGridOutlineFilter 为一个 vtkStructuredGrid 数据集生成“外框线(outline)”几何模型,用于显示该网格的边界范围 输入:vtkStructuredGrid, 输出:vtkPolyData """ outline = vtkStructuredGridOutlineFilter() outline.SetInputData(pl3dOutput) outlineMapper = vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtkActor() outlineActor.SetMapper(outlineMapper) ren1 = vtkRenderer() renWin = vtkRenderWindow() renWin.AddRenderer(ren1) iren = vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Add the actors to the renderer, set the background and size. # ren1.AddActor(outlineActor) ren1.AddActor(planeActor) ren1.SetBackground(colors.GetColor3d('SlateGray')) ren1.TwoSidedLightingOff() renWin.SetSize(512, 512) renWin.SetWindowName('Rainbow') iren.Initialize() cam1 = ren1.GetActiveCamera() cam1.SetClippingRange(3.95297, 50) cam1.SetFocalPoint(8.88908, 0.595038, 29.3342) cam1.SetPosition(-12.3332, 31.7479, 41.2387) cam1.SetViewUp(0.060772, -0.319905, 0.945498) iren.Start() if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/6 15:34:58

Rotations 物体绕轴旋转

一:主要的知识点 1、说明 本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①物体如何绕轴旋转,②渲染的擦…

作者头像 李华
网站建设 2026/5/2 7:39:54

【C#网络通信协议深度解析】:掌握高性能Socket编程的5大核心技巧

第一章:C#网络通信协议概述在现代软件开发中,C# 作为 .NET 平台的核心语言之一,广泛应用于构建高性能的网络通信应用。其强大的类库支持和异步编程模型,使得开发者能够高效实现基于 TCP、UDP 和 HTTP 等协议的数据传输。核心通信协…

作者头像 李华
网站建设 2026/5/15 14:13:44

ReAct架构深度解析:让智能体“边思考边行动”的实战范式

本文同步更新于公众号:AI开发的后端厨师,本文完整代码开源github:https://github.com/windofbarcelona/all-agentic-architectures-golang/tree/main/03_react 本文同步更新于公众号:AI开发的后端厨师,本文完整代码开源…

作者头像 李华
网站建设 2026/5/17 8:52:52

C# 12拦截器异常全解析,深度解读编译时AOP的致命短板

第一章:C# 12拦截器异常全解析,深度解读编译时AOP的致命短板C# 12 引入的拦截器(Interceptors)特性标志着编译时面向切面编程(AOP)在语言层面的初步尝试。该机制允许开发者在编译阶段将特定方法调用重定向至…

作者头像 李华
网站建设 2026/5/16 16:52:32

从单一残差流,看懂 Prompt 为什么“能工作”

引子:Prompt 真的是“指令”吗?几乎所有人第一次被 Prompt 震到,都是在某个瞬间意识到: 我并没有教模型新知识,它却突然换了一种思考方式。不是模型升级,不是微调,也不是参数变化。 只是多写了几…

作者头像 李华