VTK中获取STL模型点的坐标以及对其进行变换

本文介绍了VTK如何获取STL模型的顶点坐标,并探讨了VTK中的变换操作,包括vtkActor.SetPosition()对场景中演员的影响。通过示例代码展示了如何使用filter对原始数据进行平移变换,并解释了VTK的惰性计算策略以及Update()方法的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  VTK是一个基于面向对象的开源三维绘图软件包,和其它的的三维绘图引擎如OSG、OGRE不同之处在于,VTK可视化对象主要是各种数据,更加注重对数据分析处理后的可视化,可视化的内容是人们无法直接感受到的东西,如地质构造、地层分布、矿床分布、三维空间应力场的状态变化等等,而OSG、OGRE是基于场景的可视化,更强调视觉感官的感受,所以OSG主要应用于虚拟现实领域,而VTK主要应用于科学计算可视化领域。 

   VTK的可视化设计是基于管线流的设计模式,将要处理的数据作为流动介质在管线中流动,不同的阶段对数据有不同的处理方式,VTK的可视化管线如图所示:

  Sources: 数据生成的源头,数据来源主要包括从磁盘读取数据文件,如VTK所支持的各种格式文件生成数据源对象,这种源对象被称为读源对象,或者利用数学方法生成源对象,如利用多个四边形构建一个圆柱体,这种对象被称为程序源对象。

  Filters: 对源对象进行处理,生成新的数据集输出。

  Mappers: 映射器对象主要作用是将可视化模型生成的数据转换到图形模型进行绘制,或者以磁盘文件的形式进行输出。

  渲染对象(vtkRenderer)和渲染窗口(vtkRenderWindow): 渲染对象和渲染窗口分别对应于用于显示图形的视口和窗口。每个渲染窗口可以容纳一个或多个渲染对象。即一个渲染窗口中可以存在多个视口,它们既可以并列也可以分层排放。


 

  如下图所示,用vtkSTLReader读入一个边长为50mm的立方体模型(注意模型不在原点--导出STL文件时选择了自定义的坐标系)。如果是ASCII格式的STL文件可以直接用文本编辑器打开查看立方体各顶点的坐标,在VTK中如何获得这些顶点的坐标位置呢?vtkProp3D类里面有几个函数:GetPosition、GetOrigin、GetCenter不过这些都没办法获取立方体顶点的坐标。不管立方体在坐标系中处于什么位置,只要没调用SetPositio

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值