news 2026/5/3 14:23:03

ColorEdges 动态有向图的动态渲染

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ColorEdges 动态有向图的动态渲染

一:主要的知识点

1、说明

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

2、知识点纪要

本段代码主要涉及的有①有向动态图的创建,②图结构数据的可视化和布局展示


二:代码及注释

import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkCommonCore import vtkIntArray, vtkLookupTable from vtkmodules.vtkCommonDataModel import vtkMutableDirectedGraph from vtkmodules.vtkViewsInfovis import vtkGraphLayoutView from vtkmodules.vtkViewsCore import vtkViewTheme def main(): colors = vtkNamedColors() # 创建一个动态有向图 graph = vtkMutableDirectedGraph() # AddVertex添加节点(顶点) v1 = graph.AddVertex() v2 = graph.AddVertex() v3 = graph.AddVertex() # AddGraphEdge 添加有向边 graph.AddGraphEdge(v1, v2) graph.AddGraphEdge(v2, v3) # 创建颜色数组 edgeColors = vtkIntArray() edgeColors.SetNumberOfValues(1) edgeColors.SetName('Color') edgeColors.InsertNextValue(0) edgeColors.InsertNextValue(1) # 创建颜色查找表 lookupTable = vtkLookupTable() lookupTable.SetNumberOfTableValues(2) lookupTable.SetTableValue(0, colors.GetColor4d("Red")) lookupTable.SetTableValue(1, colors.GetColor4d("Lime")) lookupTable.Build() graph.GetEdgeData().AddArray(edgeColors) """ vtkGraphLayoutView 专门用于图(Graph)结构数据” 的可视化和布局展示 核心功能是:把一个由节点(Vertices)和边(Edges)组成的图结构,自动排布到 2D 或 3D 空间中,并渲染出来供你交互查看 封装了布局(layout),显示(rendering),交互(interaction) """ graphLayoutView = vtkGraphLayoutView() graphLayoutView.AddRepresentationFromInput(graph) # SetLayoutStrategy 设置布局 graphLayoutView.SetLayoutStrategy('Simple 2D') # graphLayoutView.GetLayoutStrategy().SetEdgeWeightField('Graphs') # graphLayoutView.GetLayoutStrategy().SetWeightEdges(1) # 按属性字段映射边颜色 graphLayoutView.SetEdgeColorArrayName('Color') graphLayoutView.SetEdgeLabelVisibility(1) graphLayoutView.ColorEdgesOn() """ vtkViewTheme 用于统一设置一个 View(比如 vtkGraphLayoutView、vtkTreeMapView、vtkScatterPlotMatrixView 等)的 配色、字体、线条粗细、背景等整体视觉主题 """ theme = vtkViewTheme() theme.SetCellLookupTable(lookupTable) graphLayoutView.ApplyViewTheme(theme) graphLayoutView.ResetCamera() graphLayoutView.GetRenderer().GetActiveCamera().Zoom(0.8) graphLayoutView.Render() # graphLayoutView.GetLayoutStrategy().SetRandomSeed(0) graphLayoutView.GetInteractor().Initialize() graphLayoutView.GetInteractor().Start() if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/3 10:03:44

AI重光照技术革命:Qwen-Edit-Relight LoRA让光影编辑效率飙升

AI重光照技术革命:Qwen-Edit-Relight LoRA让光影编辑效率飙升 【免费下载链接】Relight 项目地址: https://ai.gitcode.com/hf_mirrors/dx8152/Relight 技术突破:从手动调整到智能生成 传统图像光影编辑面临巨大挑战:专业摄影师调整…

作者头像 李华
网站建设 2026/4/30 22:07:36

Multisim与SQL数据库集成:操作详解

让Multisim“活”起来:用SQL数据库驱动电路仿真自动化你有没有遇到过这样的场景?一个团队里,三个人做同一个电源模块的仿真,结果却各不相同。排查半天才发现——原来大家用的电容容差不一样,有人用的是10%,…

作者头像 李华
网站建设 2026/4/20 23:29:23

人工智能演讲PPT专业指南:打造高质量技术分享

人工智能演讲PPT专业指南:打造高质量技术分享 【免费下载链接】人工智能演讲PPT普及这一篇就够了 人工智能演讲PPT:普及这一篇就够了欢迎来到本资源页面,这里提供一份精心制作的人工智能(AI)主题PPT,专为演…

作者头像 李华
网站建设 2026/4/23 16:04:56

京东、字节、小米、比亚迪等大厂集体涨薪,释放强烈信号!

大家好,我是播妞。年底大厂福利战真的“卷”到没边了!最近,互联网大厂的“涨薪大战”备受关注,从12月初开始,字节跳动、小米、比亚迪、宁德时代、京东等大厂就陆续宣布了涨薪计划,并且涨薪真的是一家比一家…

作者头像 李华
网站建设 2026/4/22 2:08:30

二进制逆向神器fq工具:零基础快速解析任意文件格式

二进制逆向神器fq工具:零基础快速解析任意文件格式 【免费下载链接】fq jq for binary formats - tool, language and decoders for working with binary and text formats 项目地址: https://gitcode.com/gh_mirrors/fq/fq 你是否曾面对神秘的二进制文件一筹…

作者头像 李华
网站建设 2026/4/24 5:08:00

Spring Authorization Server完整指南:从零搭建企业级授权中心

在当今微服务架构盛行的时代,如何安全高效地管理用户认证与授权成为了每个开发者必须面对的问题。Spring Authorization Server作为一个功能强大的OAuth2授权服务器实现,为开发者提供了一套完整的身份认证解决方案。本文将带你从项目介绍到实际部署&…

作者头像 李华