中国仿真技术论坛,CAE/CAD/FEM,有限元分析论坛,ANSYS论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 214|回复: 1

vtk曲面切面案例

[复制链接]

该用户从未签到

45

主题

46

帖子

38

积分

技术员

Rank: 1

积分
38
发表于 2019-3-12 15:52:28 | 显示全部楼层 |阅读模式
Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。针对三维模型的切割,vtk提供了很多继承于vtkImpilicitFunction的类来方便人们进行操作。比如vtkBox,vtkSphere,vtkPlane等等,真是捏园捏扁任君挑选。

但是,即使vtk已经提供了很多API,依然不能解决所有问题。比如说当你想要针对一个区域做一个不规则曲面切割的时候怎么办?今天就来和大家分享一下笔者一些经验。对于这样的情况,vtk提供了一个类,叫做vtkImplicitDataset。它采用区域的数据集作为源数据,用曲面的数据集作为切割方式,实现了数据集之间的直接碰撞。但是,由于曲面的点不可能一直完美的和区域点击重合,所以就可能出现如下图一样的错误信息。

图1. 错误信息



“Can’t evaluate dataset!”这意味着vtkImplicitDataset中的点不能够计算出或者获得目标区域中的那些有意义的数组,如压力标量,速度矢量等。这或许是因为使用这个类来切割的话,并不能直接对点进行插值计算。

如果遇到这样的问题的时候,我们可以退一步,想办法获取点集的标量值之后,自己将它们重新组合成曲面。Vtk提供了vtkProbeFilter这个类来直接对点集进行处理。这个类能够进行插值,我们只需要最后将处理完的点集通过这个类输出到vtkDatasetMapper中就可以进行后续处理了。在这里值得注意的是vtkProbeFilter用目标区域数据集为源数据,只要求遵从vtkDataObject这个类就行了,而曲面数据集则作为inputData进行计算。

下图分别是目标立方体区域和曲面切割完的结果了。


图2. 目标立方体区域


        

图3. 不规则曲面切割结果


以上就是笔者想要和大家分享的有关vtk切割的案例了,如果能给大家带来帮助的话,不要忘记给本文点赞哦。


回复

使用道具 举报

  • TA的每日心情
    开心
    2019-3-24 20:05
  • 0

    主题

    24

    帖子

    1

    积分

    技术员

    Rank: 1

    积分
    1
    发表于 2019-3-24 20:58:44 | 显示全部楼层
    看不懂是什么意思,是一个插件吗?还是代码?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    无觅相关文章插件

    QQ|申请友链|Archiver|手机版|小黑屋|广告服务|中国仿真技术论坛 ( 苏ICP备16004717号

    GMT+8, 2019-5-20 02:53 , Processed in 0.101943 second(s), 31 queries .

    Powered by Discuz! X3.2 Licensed

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表