news 2026/6/10 18:15:54

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 15:17:56

姚顺雨正式加入腾讯,担任首席AI科学家

Datawhale分享 最新:姚顺雨,来源:机器之心不久之前,OpenAI 著名研究者、清华校友、著名博客《AI 下半场》的作者姚顺雨加入腾讯的消息传得沸沸扬扬,点燃了 AI 社区。今日,靴子落地。刚刚,腾讯升…

作者头像 李华
网站建设 2026/6/9 21:20:00

我是如何从技术经理被干回大头兵的?!

见字如面,我是军哥!职场上,从技术岗走向管理岗,是很多程序员的梦想。但这条路到底有多难?今天这位读者的故事,或许会让你重新思考‘晋升’背后的代价。今天要分享是我的一个程序员读者的真实故事&#xff0…

作者头像 李华
网站建设 2026/6/10 10:45:56

5大付费墙绕过技术深度解析:Bypass Paywalls Clean终极使用指南

5大付费墙绕过技术深度解析:Bypass Paywalls Clean终极使用指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 你是否曾经遇到过这样的情况:看到一篇很有价值…

作者头像 李华
网站建设 2026/6/10 0:57:49

东方博宜OJ 1222:经典递归问题 —— 汉诺塔

【题目来源】 https://oj.czos.cn/p/1222 【题目描述】 汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着 64 个圆的金片,最大的一个在底下,其余一个…

作者头像 李华
网站建设 2026/6/10 10:44:25

2025终极词库转换指南:一键搞定跨平台输入法迁移

2025终极词库转换指南:一键搞定跨平台输入法迁移 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 还在为更换输入法时无法迁移个性化词库而烦恼吗&#xf…

作者头像 李华
网站建设 2026/6/10 10:44:00

硬件寄存器映射(位域结构体)

一、位域结构体GPIO_Reg的核心作用 该定义是将8 位寄存器拆分为独立的位段(output_en占 bit0、irq_en占 bit1、reserved占 bit2~bit7),目的是简化寄存器的位操作—— 无需手动编写位掩码(如#define OUTPUT_EN (1<<0)),直接通过结构体成员访问寄存器的特定位,让代…

作者头像 李华