news 2026/3/7 14:42:12

SGrid 创建和可视化一个带有矢量数据(Vector Data)的 3D 结构化网格

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SGrid 创建和可视化一个带有矢量数据(Vector Data)的 3D 结构化网格

一:主要的知识点

1、说明

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

2、知识点纪要

本段代码主要涉及的有①vtkHedgeHog将数据关联到网格上的顶点


二:代码及注释

import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonCore import vtkDoubleArray, vtkMath, vtkPoints from vtkmodules.vtkCommonDataModel import vtkStructuredGrid from vtkmodules.vtkCommonColor import vtkNamedColors import math from vtkmodules.vtkFiltersCore import vtkHedgeHog from vtkmodules.vtkRenderingCore import ( vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) def main(): colors = vtkNamedColors() rMin = 0.5 rMax = 1.0 dims = [13, 11, 11] sgrid = vtkStructuredGrid() sgrid.SetDimensions(dims) vectors = vtkDoubleArray() vectors.SetNumberOfComponents(3) vectors.SetNumberOfTuples(dims[0] * dims[1] * dims[2]) points = vtkPoints() points.Allocate(dims[0] * dims[1] * dims[2]) # 计算了网格中点的总数,分配了空间 deltaZ = 2.0 / (dims[2] - 1) deltaRad = (rMax - rMin) / (dims[1] - 1) x = [0.0] * 3 v = [0.0] * 3 for k in range(0, dims[2]): x[2] = -1.0 + k * deltaZ kOffset = k * dims[0] * dims[1] for j in range(0, dims[1]): radius = rMin + j * deltaRad jOffset = j * dims[0] for i in range(0, dims[0]): theta = i * vtkMath.RadiansFromDegrees(15.0) x[0] = radius * math.cos(theta) x[1] = radius * math.sin(theta) v[0] = -x[1] v[1] = x[0] offset = i + jOffset + kOffset points.InsertPoint(offset, x) vectors.InsertTuple(offset, v) sgrid.SetPoints(points) """ SetVectors 将计算出的 3D 矢量数据场(vectors)作为属性,绑定到结构化网格(sgrid)的每一个点上 点数据 (Point Data):这些属性与几何体上的点一一对应。常见的点数据包括: 标量 (Scalars):如温度、压力(单个数值)。 矢量 (Vectors):如速度、力(三个分量 V ) 张量 (Tensors):用于应力分析等 """ sgrid.GetPointData().SetVectors(vectors) """ vtkHedgeHog 将数据集(如结构化网格、非结构化网格等)上每个点关联的矢量数据, 转化成一系列可渲染的 3D 箭头或直线,从而直观地展示矢量场的方向和强度 """ hedgehog = vtkHedgeHog() hedgehog.SetInputData(sgrid) """ SetScaleFactor 用于控制生成的箭头相对于原始矢量大小的缩放比例 如果矢量值很小,可能需要设置一个较大的 factor 来使箭头清晰可见 如果矢量值很大,可能需要设置一个较小的 factor 来防止箭头互相重叠或溢出屏幕 """ hedgehog.SetScaleFactor(0.1) # 绘制的箭头长度=原始矢量的大小×0.1 sgridMapper = vtkPolyDataMapper() sgridMapper.SetInputConnection(hedgehog.GetOutputPort()) sgridActor = vtkActor() sgridActor.SetMapper(sgridMapper) sgridActor.GetProperty().SetColor(colors.GetColor3d('Gold')) # Create the usual rendering stuff renderer = vtkRenderer() renWin = vtkRenderWindow() renWin.AddRenderer(renderer) renWin.SetWindowName('SGrid') iren = vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) renderer.AddActor(sgridActor) renderer.SetBackground(colors.GetColor3d('MidnightBlue')) renderer.ResetCamera() renderer.GetActiveCamera().Elevation(60.0) renderer.GetActiveCamera().Azimuth(30.0) renderer.GetActiveCamera().Dolly(1.0) renWin.SetSize(640, 480) # Interact with the data. renWin.Render() iren.Start() if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/27 16:55:06

python+vue美特超市进销存管理系统_91crh

目录 已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 已开发项目效果实现截图 同行可拿货,招校园代理 pythonvue美特超市进销存管理系统_91crh 开发技术路线…

作者头像 李华
网站建设 2026/3/4 18:55:50

AI论文写作工具Top9:开题报告生成与降重功能详细测评

AI写论文平台排名:9个实测,开题报告论文降重都好用工具对比排名表格工具名称核心功能突出优势Aibiye降AIGC率适配高校规则,AI痕迹弱化Aicheck论文降重速度快,保留专业术语Askpaper论文降重逻辑完整性好秘塔写作猫智能降重结合语法…

作者头像 李华
网站建设 2026/3/2 13:22:13

9个AI论文辅助平台深度测评,开题报告生成和降重功能强大

AI写论文平台排名:9个实测,开题报告论文降重都好用 工具对比排名表格 工具名称 核心功能 突出优势 Aibiye 降AIGC率 适配高校规则,AI痕迹弱化 Aicheck 论文降重 速度快,保留专业术语 Askpaper 论文降重 逻辑完整性好 …

作者头像 李华
网站建设 2026/3/6 20:04:54

nvcr.io 登录方法

docker login nvcr.io用户是固定的,不是某个人的用户Username: $oauthtoken Password: NGC_API_KEY密码是NGC_API_KEY申请NGC_API_KEY方法:访问正确的位置:登录 NVIDIA NGC 官网。https://catalog.ngc.nvidia.com/进入个人设置:点…

作者头像 李华
网站建设 2026/3/5 7:04:07

2025最新!专科生毕业论文必备9大AI论文平台测评

2025最新!专科生毕业论文必备9大AI论文平台测评 2025年专科生毕业论文写作工具测评:为什么需要这份榜单? 随着人工智能技术的不断进步,越来越多的专科生开始借助AI论文平台来提升写作效率和论文质量。然而,面对市场上琳…

作者头像 李华
网站建设 2026/2/26 19:10:52

AI辅助论文写作平台排名:9款工具实测,开题到降重全覆盖

AI写论文平台排名:9个实测,开题报告论文降重都好用工具对比排名表格工具名称核心功能突出优势Aibiye降AIGC率适配高校规则,AI痕迹弱化Aicheck论文降重速度快,保留专业术语Askpaper论文降重逻辑完整性好秘塔写作猫智能降重结合语法…

作者头像 李华