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

WarpVector 基于向量数据的形变

一:主要的知识点

1、说明

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

2、知识点纪要

本段代码主要涉及的有①vtkWarpVector基于向量的形变


二:代码及注释

import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkCommonCore import vtkPoints, vtkDoubleArray from vtkmodules.vtkCommonDataModel import vtkCellArray, vtkLine, vtkPolyData from vtkmodules.vtkFiltersGeneral import vtkWarpVector from vtkmodules.vtkRenderingCore import ( vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) def main(): colors = vtkNamedColors() points = vtkPoints() points.InsertNextPoint(0.0, 0.0, 0.0) points.InsertNextPoint(1.0, 0.0, 0.0) points.InsertNextPoint(2.0, 0.0, 0.0) points.InsertNextPoint(3.0, 0.0, 0.0) points.InsertNextPoint(4.0, 0.0, 0.0) lines = vtkCellArray() line = vtkLine() line.GetPointIds().SetId(0, 0) line.GetPointIds().SetId(1, 1) lines.InsertNextCell(line) line.GetPointIds().SetId(0, 1) line.GetPointIds().SetId(1, 2) lines.InsertNextCell(line) line.GetPointIds().SetId(0, 2) line.GetPointIds().SetId(1, 3) lines.InsertNextCell(line) line.GetPointIds().SetId(0, 3) line.GetPointIds().SetId(1, 4) lines.InsertNextCell(line) warpData = vtkDoubleArray() warpData.SetNumberOfComponents(3) warpData.SetName("warpData") warp = [0.0, 0.0, 0.0] warpData.InsertNextTuple(warp) warp[1] = 0.1 warpData.InsertNextTuple(warp) warp[1] = 0.3 warpData.InsertNextTuple(warp) warp[1] = 0.0 warpData.InsertNextTuple(warp) warp[1] = 0.1 warpData.InsertNextTuple(warp) polydata = vtkPolyData() polydata.SetPoints(points) polydata.SetLines(lines) polydata.GetPointData().AddArray(warpData) polydata.GetPointData().SetActiveVectors(warpData.GetName()) """ vtkWarpVector 是 VTK 里一个非常实用的 形变滤波器 可以根据数据集中每个点的向量值(vector data)来移动点的位置 """ warpVector = vtkWarpVector() warpVector.SetInputData(polydata) warpVector.Update() mapper = vtkPolyDataMapper() mapper.SetInputData(warpVector.GetPolyDataOutput()) actor = vtkActor() actor.SetMapper(mapper) renderer = vtkRenderer() renderer.AddActor(actor) renderer.SetBackground(colors.GetColor3d('cobalt_green')) renderWindow = vtkRenderWindow() renderWindow.AddRenderer(renderer) renderWindow.SetWindowName('WarpVector') renderWindowInteractor = vtkRenderWindowInteractor() renderWindowInteractor.SetRenderWindow(renderWindow) renderWindow.Render() renderWindowInteractor.Start() if __name__ == '__main__': main()
http://www.gsyq.cn/news/130603.html

相关文章:

  • Excalidraw AI生成后端服务依赖关系图
  • 2025年南通管道疏通联系方式汇总:全市专业服务机构官方联系方式与高效服务指引 - 品牌推荐
  • Open-AutoGLM深度解析:为什么顶尖工程师都在用它管理知识?
  • 2025年贵阳管道疏通联系方式汇总: 全市专业服务官方联系通道与高效合作指引 - 品牌推荐
  • CompositePolyDataMapper复合数据集的展示与渲染
  • 2025年深圳管道疏通联系方式汇总:全市专业服务商官方联系渠道与高效合作指引 - 品牌推荐
  • Excalidraw AI学术研究引用规范建议
  • Electron hello world 初体验 - 实践
  • Open-AutoGLM送礼怎么选?3大黄金法则+高分推荐清单速看
  • 事务管理de
  • 【AI笔记神器Open-AutoGLM】:5大核心功能解锁知识管理新范式
  • Excalidraw AI提升市场营销活动策划效率
  • Excalidraw AI协助安全合规体系建设
  • 制作餐厅食材新鲜度检测程序,识别食材外观,判断是否新鲜,保障食品安全。
  • Python有哪些冷门但好用的库?10个隐藏库推荐
  • CAN:STM32 CAN外设2 - 详解
  • day19-Trae开发微信小程序03
  • day18-Trae开发微信小程序02
  • 【高效阅读新范式】:基于Open-AutoGLM的7步书籍精读法
  • 【紧急通知】Open-AutoGLM远程权限漏洞曝光,立即检查你的配置!
  • Excalidraw AI模型更新频率及维护计划
  • Excalidraw AI助力中小企业降本增效案例
  • 揭秘Open-AutoGLM核心技术:如何实现文档自动识别与结构化存储
  • 24、深入探索SharePoint内容类型与Word文档集成
  • 移动应用性能评测指标体系构建
  • 37、SharePoint项目的可配置部署与自定义步骤实现
  • 告别问卷设计焦虑:百考通AI如何让调研变得“聪明”又高效
  • Excalidraw AI功能本地化部署的硬件要求
  • 你的数据分析副驾:百考通AI如何让洞察触手可及
  • Excalidraw AI增强投标方案呈现力