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

WarpTo 对 3D 几何体进行形变(Warping操作,使其顶点朝着一个指定的空间点移动

一:主要的知识点

1、说明

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

2、知识点纪要

本段代码主要涉及的有①几何模型的变形vtkWarpTo


二:代码及注释

import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkFiltersCore import vtkTubeFilter from vtkmodules.vtkFiltersSources import vtkLineSource from vtkmodules.vtkFiltersGeneral import vtkWarpTo from vtkmodules.vtkRenderingCore import ( vtkActor, vtkDataSetMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) def main(): colors = vtkNamedColors() lineSource = vtkLineSource() lineSource.SetPoint1(0, 0, 0) lineSource.SetPoint2(0, 1, 0) lineSource.SetResolution(20) lineSource.Update() tubeFilter = vtkTubeFilter() tubeFilter.SetInputConnection(lineSource.GetOutputPort()) tubeFilter.SetRadius(0.01) # 设置生成的圆柱体/管子的横截面半径是0.01个单位长度 tubeFilter.SetNumberOfSides(50) tubeFilter.Update() """ vtkWarpTo 是vtk中一个几何变换的过滤器 它可以把输入的点云或模型**“拉向”一个指定的点或方向**,相当于对整个几何体做收缩、伸展或弯曲形变 它可以模拟一种“磁性吸引”或“拉伸到目标点”的效果 主要有两种模式: ①它可以模拟一种“磁性吸引”或“拉伸到目标点”的效果 ②沿着指定方向移动(DirectionMode) """ warpTo = vtkWarpTo() warpTo.SetInputConnection(tubeFilter.GetOutputPort()) warpTo.SetPosition(10, 1, 0) # 指定“目标点”的坐标(即你要拉向的点) warpTo.SetScaleFactor(5) # 设置形变强度,值越大,拉得越“狠” warpTo.AbsoluteOn() # 位移相对于数据集的原点进行,所有的点都会向同一个方向偏移 #warpTo.AbsoluteOff() # 位移相对于该点的当前位置进行计算,会导致每个点偏移到不同的方向 mapper = vtkDataSetMapper() mapper.SetInputConnection(warpTo.GetOutputPort()) mapper.ScalarVisibilityOff() actor = vtkActor() actor.SetMapper(mapper) actor.GetProperty().SetColor(colors.GetColor3d('Gold')) renderer = vtkRenderer() renderWindow = vtkRenderWindow() renderWindow.AddRenderer(renderer) renderWindowInteractor = vtkRenderWindowInteractor() renderWindowInteractor.SetRenderWindow(renderWindow) renderer.SetBackground(colors.GetColor3d('Green')) renderer.AddActor(actor) renderWindow.SetWindowName('WarpTo') renderWindow.Render() renderWindowInteractor.Initialize() renderWindowInteractor.Start() if __name__ == '__main__': main()
http://www.gsyq.cn/news/130607.html

相关文章:

  • 2025年无锡管道疏通联系方式汇总:全市专业服务机构官方联系方式与高效合作指引 - 品牌推荐
  • WarpVector 基于向量数据的形变
  • 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功能本地化部署的硬件要求