news 2026/2/21 15:15:49

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/2/17 2:20:45

新版MD、UE5.6 服装同步、模拟

目录 新版MD、UE5.6 服装同步、模拟 fab中搜索插件: 新版MD、UE5.6 服装同步、模拟 https://search.bilibili.com/all?keywordmd%E8%A1%A3%E6%9C%8D%E5%88%B6%E4%BD%9C&from_sourcewebtop_search&spm_id_from333.1007&search_source5&page2&…

作者头像 李华
网站建设 2026/2/20 23:52:34

集成AI后,Excalidraw如何实现智能图形生成

集成AI后,Excalidraw如何实现智能图形生成 在一场远程技术评审会议中,产品经理刚提出“我们需要一个微服务架构的草图”,还没等工程师打开绘图工具,屏幕上已经出现了一份结构清晰、风格统一的手绘图表——节点排列合理&#xff0c…

作者头像 李华
网站建设 2026/2/11 15:40:41

因果知识图谱增强大模型重构生命历程风险路径和慢病防控新范式:从妊娠期糖尿病到痴呆症的研究突破

摘要本研究开发了一种知识图谱增强的大语言模型框架,通过整合流行病学文献证据,成功重构了从妊娠期糖尿病到痴呆症的生命历程风险路径。研究识别出108个潜在中介变量,为早期疾病预防和队列研究设计提供了新的方法论支持。链接https://t.zsxq.…

作者头像 李华
网站建设 2026/2/21 5:05:32

Excalidraw AI与人工绘图的成本效益对比

Excalidraw AI与人工绘图的成本效益对比 在一场紧张的技术评审会上,产品经理刚描述完新功能逻辑,工程师便在白板上敲下一句话:“画一个包含用户认证、权限校验和日志记录的微服务架构图。”几秒后,一张结构清晰的手绘风格图表跃然…

作者头像 李华
网站建设 2026/2/17 13:35:38

12、网络基础:广域网与互联网接入技术解析

网络基础:广域网与互联网接入技术解析 1. IP 路由基础问题解答 在网络基础中,有一些关于 IP 相关的基础问题值得我们深入探讨: | 问题编号 | 正确答案及解释 | 错误答案及解释 | | ---- | ---- | ---- | | 1 | D. 将前两个 1 对应的 128 和 64 相加得到 192。 | A:128…

作者头像 李华
网站建设 2026/2/21 18:30:11

Open-AutoGLM应用实战(从零搭建高效文档管理平台)

第一章:Open-AutoGLM文档扫描归档概述Open-AutoGLM 是一个基于开源大语言模型的智能文档处理系统,专注于自动化完成纸质或电子文档的扫描、识别、分类与归档。该系统融合了OCR技术、自然语言理解与知识图谱构建能力,能够高效处理多格式文件输…

作者头像 李华