news 2026/10/7 11:26:13

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

作者头像

张小明

前端开发工程师

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

Excalidraw AI绘制前端微前端架构图

Excalidraw AI 绘制前端微前端架构图 在大型前端项目日益复杂的今天,一个常见的场景是:架构师在会议中描述“我们将主应用通过 Module Federation 加载三个子应用,分别是订单、用户和商品中心”,话音刚落,产品经理皱眉…

作者头像 李华
网站建设 2026/10/7 0:36:38

Excalidraw手绘风格图表让技术文档更生动

Excalidraw:让技术图表“活”起来的开源白板利器 在一次远程架构评审会上,团队成员正对着屏幕皱眉——PPT里的系统图线条笔直、配色规整,却总让人觉得“像在看年报”。有人提议:“要不我们直接画?”于是大家打开一个链…

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

FactoryIO 自动化仿真:PLC 学习的绝佳入门模型

FactoryIO自动视觉分拣+加工中心+物料装配+立体库入库仿真,统一结构化编程程序做成标准模板框架,PLC学习最佳模型 使用简单的梯形图与SCL语言编写,通俗易懂,写有详细注释,起到抛砖引…

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

9 个降AI率工具,专科生也能轻松应对

9 个降AI率工具,专科生也能轻松应对 AI降重工具:专科生也能轻松应对论文难题 在当前高校教育中,越来越多的学生开始接触到AI写作工具,这虽然提高了写作效率,但也带来了AIGC率过高的问题。尤其对于专科生而言&#xff0…

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

【专家亲授】Open-AutoGLM高可用架构设计与生产环境调优秘籍

第一章:Open-AutoGLM高可用架构设计与生产环境调优概述在大规模语言模型服务部署中,Open-AutoGLM 的高可用架构设计是保障系统稳定性与响应性能的核心。该架构通过多副本部署、动态负载均衡与自动故障转移机制,确保在节点宕机或流量激增时仍能…

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

Open-AutoGLM 快捷键配置完全手册,AI开发者的必备生存技能

第一章:Open-AutoGLM 快捷键配置的核心价值快捷键配置在 Open-AutoGLM 中不仅是效率工具,更是提升交互流畅性的核心机制。通过合理设定键盘指令,用户能够在无需鼠标干预的情况下完成模型调用、上下文切换与结果导出等关键操作,显著…

作者头像 李华