当前位置: 首页 > news >正文

ConnectivityFilter数据集中分离的区域或连通分量

一:主要的知识点

1、说明

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

2、知识点纪要

本段代码主要涉及的有①vtkDelaunay3D模型生成,②模型连通性分析


二:代码及注释

import vtkmodules.vtkRenderingOpenGL2 from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkFiltersCore import vtkAppendFilter, vtkConnectivityFilter, vtkDelaunay3D from vtkmodules.vtkFiltersSources import vtkSphereSource from vtkmodules.vtkRenderingCore import ( vtkActor, vtkDataSetMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) def main(): colors = vtkNamedColors() sphereSource1 = vtkSphereSource() sphereSource1.Update() """ vtkDelaunay3D 用于执行 三维 Delaunay 三角剖分(或称为三维 Delaunay 网格划分)的一个类 主要作用是:根据给定的点集,生成一个 Delaunay 三维网格,即将这些点组织成一个由三角形、四面体等构成的多面体网格 这里的作用类似于用另外一种数据形式去表示这个球体 """ delaunay1 = vtkDelaunay3D() # delaunay1.SetInputData(sphereSource1.GetOutput()) delaunay1.SetInputConnection(sphereSource1.GetOutputPort()) delaunay1.Update() sphereSource2 = vtkSphereSource() sphereSource2.SetCenter(5, 0, 0) delaunay2 = vtkDelaunay3D() # delaunay2.SetInputData(sphereSource2.GetOutput()) delaunay2.SetInputConnection(sphereSource2.GetOutputPort()) delaunay2.Update() appendFilter = vtkAppendFilter() appendFilter.AddInputConnection(delaunay1.GetOutputPort()) appendFilter.AddInputConnection(delaunay2.GetOutputPort()) appendFilter.Update() """ vtkConnectivityFilter 拓扑连通性分析过滤器 根据几何或拓扑连通性,把输入数据 划分成若干个连通区域(connected regions),并且可以提取其中的一个或多个区域 """ connectivityFilter = vtkConnectivityFilter() connectivityFilter.SetInputConnection(appendFilter.GetOutputPort()) """ SetExtractionModeToAllRegions 提取所有的连通域 """ connectivityFilter.SetExtractionModeToAllRegions() """ ColorRegionsOn 给不同的连通区域分配不同的 RegionId 标量值 并把它作为输出数据中的一个数组附加到每个单元(Cell)的属性上 """ connectivityFilter.ColorRegionsOn() connectivityFilter.Update() mapper = vtkDataSetMapper() mapper.SetInputConnection(connectivityFilter.GetOutputPort()) mapper.Update() actor = vtkActor() actor.SetMapper(mapper) renderer = vtkRenderer() renderer.AddActor(actor) renWindow = vtkRenderWindow() renWindow.AddRenderer(renderer) iren = vtkRenderWindowInteractor() iren.SetRenderWindow(renWindow) iren.Initialize() renWindow.Render() renWindow.SetWindowName('ConnectivityFilter') renderer.SetBackground(colors.GetColor3d('deep_ochre')) renderer.GetActiveCamera().Zoom(0.9) renWindow.Render() iren.Start() if __name__ == '__main__': main()
http://www.cnnetsun.cn/news/119671.html

相关文章:

  • AI 编程的“90% 陷阱”:为什么你生成代码 1 分钟,修 Bug 却要 1 小时?
  • 终极免费抽奖神器:Magpie-LuckyDraw全平台部署指南
  • 技术人才职业发展:从工具思维到价值创造的成长阶梯
  • 百度贴吧用户脚本终极指南:告别繁琐操作,体验贴吧新境界
  • 等待节点-–-behaviac
  • Nginx性能优化实战:从基础配置到高级调优的完整指南
  • ThingsGateway:开源智能设备管理平台的终极指南
  • KolodaView开源项目贡献指南
  • 5‘-Thiol Modifier C6 S-S Amidite,5‘-硫醇修饰剂 C6 双硫键核苷酸酰胺化试剂
  • Python:SOLID 面向对象设计原则
  • 专业级鼠标性能测试工具:从数据采集到精准分析的全链路解析
  • Magpie-LuckyDraw:5分钟上手的多平台炫酷抽奖系统终极指南
  • 魔兽争霸III现代化修复工具:全面解决兼容性问题的终极指南
  • 数字内容获取革命:智能绕过付费墙的完整解决方案
  • 256台H100服务器算力中心的带外管理网络建设方案
  • 深入理解指针(7)
  • 从卷 Java 到冲网安!计算机人 2025 自救路线:附 40-150 万安全岗 + 技能衔接清单
  • python大数据的基于k-means算法的校园美食推荐系统_j4eg7g7z--论文
  • MouseTester专业指南:3步完成鼠标性能精准诊断
  • [鸿蒙2025领航者闯关]图标资源统一管理
  • 区分__proto__和prototype
  • 西门子PLC地址知识点
  • EmotiVoice开源项目依赖项管理最佳实践
  • 如何彻底解决腾讯游戏卡顿问题:sguard_limit资源限制器完整指南
  • MiniGPT-4终极优化指南:5个简单技巧实现3倍推理加速
  • 鼠标性能测试终极指南:从新手到专家的完整解决方案
  • 终极指南:如何用pbxproj轻松玩转Xcode项目文件
  • 移动端AI部署革命:Paddle-Lite如何让深度学习模型在手机上流畅运行
  • 类型安全强化学习实战:从Gymnasium类型提示到项目稳健性提升
  • OBS直播教程:OBS多路推流插件如何下载?如何安装?怎么用?