VTK: 检测点是否在三维物体内部

     很多时候需要检测一个点是否位于物体内部。vtk中很好的提供了这样的方法:vtkSelectEnclosePoints

    vtk wiki中给出了一个很详细的例子说明使用方法:见参考文献1;

      自己实际测试 发现其获取的结果不准确。同一个点重复检测都会出现不一致的结果。经过查询资料。得到了一个很好的了解。见参考文献2.

    首先说一下该类的检测原理。按照参考文献2给出的解释:从待检测点发射一条射线。当射线与三维物体的交点为奇数个,则在物体内部。为偶数个则在物体外部。这个原理称之为奇偶规则

   获取结果不一致可能原因有三方面

  1、保证物体的封闭性  不封闭的情况下可以进行漏洞填补(fillsHolesFilter)。填补完成要重新计算法向量

  2、保证你的三维网格模型都为三角面片组成 

  3、设置合适的容差(tolerate)。按照列表中解释。vtkSelectEnclosePoints默认

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值