2026/2/16 9:09:42
网站建设
项目流程
网站建设一般收费,腾讯邮箱注册入口官网,软件项目管理案例分析,个人主页html代码一#xff1a;主要的知识点
1、说明
本文只是教程内容的一小段#xff0c;因博客字数限制#xff0c;故进行拆分。主教程链接#xff1a;vtk教程——逐行解析官网所有Python示例-CSDN博客
2、知识点纪要
本段代码主要涉及的有①vtkHyperTreeGridSource的简介#xff0…一主要的知识点1、说明本文只是教程内容的一小段因博客字数限制故进行拆分。主教程链接vtk教程——逐行解析官网所有Python示例-CSDN博客2、知识点纪要本段代码主要涉及的有①vtkHyperTreeGridSource的简介②超树网格的尺寸设置二代码及注释import vtkmodules.vtkInteractionStyle import vtkmodules.vtkRenderingOpenGL2 from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkFiltersGeneral import vtkShrinkFilter from vtkmodules.vtkFiltersHyperTree import vtkHyperTreeGridToUnstructuredGrid from vtkmodules.vtkFiltersSources import vtkHyperTreeGridSource from vtkmodules.vtkRenderingCore import ( vtkActor, vtkDataSetMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) def main(): colors vtkNamedColors() descriptor RRR .R. .RR ..R ..R .R.|R.......................... \ ........................... ........................... \ .............R............. ....RR.RR........R......... \ .....RRRR.....R.RR......... ........................... \ ........................... \ ...........................|........................... \ ........................... ........................... \ ...RR.RR.......RR.......... ........................... \ RR......................... ........................... \ ........................... ........................... \ ........................... ........................... \ ........................... ........................... \ ............RRR............|........................... \ ........................... .......RR.................. \ ........................... ........................... \ ........................... ........................... \ ........................... ........................... \ ........................... \ ...........................|........................... \ ........................... vtkHyperTreeGridSource 用于 生成测试或示例用vtkHyperTreeGrid 数据对象 的类 在 VTK 中HyperTreeGridHTG 是一种特殊的 自适应层次网格Adaptive Hierarchical Grid 它是一种 稀疏体素树结构octree / quadtree 每个单元cell可以被递归细分 可以在不同区域具有不同的分辨率 常用于表示大规模稀疏数据如 AMR 格式、体绘制中的自适应分辨率 source vtkHyperTreeGridSource() # source.SetMaximumLevel(6) # 报错 source.SetMaxDepth(6) # 设置每棵树的最大细分层级 SetDimensions 设置 超树网格Hyper Tree Grid, HTG 最粗糙级别的基础网格的尺寸 这定义了3D空间中网格的初始划分。它指定了在X方向上有4个单元格在Y方向上有4个单元格在Z方向上有3个单元格 整个 HTG 结构以一个4*4*3 48个**基础单元格Root Cells**的矩阵为起点。后续的细分和结构变化都是基于这48个单元格进行的 source.SetDimensions(4, 4, 3) # SetGridScale 设置每个方向上每个单元格的宽度是多少单位 source.SetGridScale(1.5, 1.0, 0.7) # SetBranchFactor设置超树网格的分支因子Branch Factor # 即当一个单元格被细分时它会分裂成的子单元格数量 source.SetBranchFactor(4) # SetDescriptor 设置一个 ASCII 描述符字符串用于定义 HTG 的拓扑结构 source.SetDescriptor(descriptor) source.Update() vtkHyperTreeGridToUnstructuredGrid 将vtkHyperTreeGridSource数据转换成通用的网格格式 htg2ug vtkHyperTreeGridToUnstructuredGrid() htg2ug.SetInputConnection(source.GetOutputPort()) htg2ug.Update() shrink vtkShrinkFilter() shrink.SetInputConnection(htg2ug.GetOutputPort()) shrink.SetShrinkFactor(.8) mapper vtkDataSetMapper() mapper.SetInputConnection(shrink.GetOutputPort()) mapper.ScalarVisibilityOff() actor vtkActor() actor.SetMapper(mapper) actor.GetProperty().SetDiffuseColor(colors.GetColor3d(Burlywood)) # Create the RenderWindow, Renderer and Interactor renderer vtkRenderer() renderWindow vtkRenderWindow() renderWindow.AddRenderer(renderer) interactor vtkRenderWindowInteractor() interactor.SetRenderWindow(renderWindow) renderer.SetBackground(colors.GetColor3d(SlateGray)) renderer.AddActor(actor) renderer.ResetCamera() renderer.GetActiveCamera().Azimuth(150) renderer.GetActiveCamera().Elevation(30) renderer.ResetCameraClippingRange() renderWindow.SetSize(640, 480) renderWindow.Render() renderWindow.SetWindowName(HyperTreeGridSource) if __name__ __main__: main()