基于SDF的抽骨架之散点图(Projected points)

1、SDF形状直径函数

SDF英文全称是Shape Diameter Function也就是形状直径函数。SDF是一个定义在网格表面的标量函数,它表达了网格表面上相邻各点物体体积直径的测量方法,以基于体积的形状函数为基础,在很大程度上能对相同对象的姿势改变保持无关性并且不同对象的相似部分维持相似值。下面是网格表面一个SDF值的示意图;给定表面网格上的一点,并以它为中心我们使用一个锥沿着内向法线方向(与法线方向相反的方向)发送数条射线,从锥的内部一直到达网格的另一面。一点处的SDF定义为所有射线长度的加权平均值,这属于所有长度中值的一个标准偏差。

2、使用CGAL计算模型的SDF值

CGAL4.5及以上版本提供了一个 Triangulated Surface Mesh Segmentation  package(三角曲面网格分割包),这个包里面用提供计算网格表面SDF值的方法并用SDF来做网格分割,但是,我们也可以用SDF进行抽骨架。

3、Assimp

Assimp(Open Asset Import Library)是一个支持读取多种模型资源的开源库,当前最新的版本是3.0版,支持读取obj等许多格式的3D模型

4、使用Assimp将模型数据导入到CGLA AssimpToPolyhedron

要使用CGAL里的sdf_values()函数计算SDF,必须将我们自己定义的网格模型转为CGAL里的多面体类Polyhedron可以识别的模型;这里使用通用的obj模型,并使用Assimp转化到CGAL的多面体类。

#include <
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值