OpenMesh-网格光顺的算法

本文介绍OpenMesh库中用于网格光顺的算法,基于数学基础重心坐标,并详细阐述了如何为网格的每个顶点添加并计算重心位置的属性。程序实现中涉及OpenMesh的一些关键函数应用。
摘要由CSDN通过智能技术生成

openmesh例子程序的网格光顺算法

算法参考:
几种网格平滑算法的实现

数学基础:
重心坐标
//给网格添加一个Point类型的cogs属性,用来保存每一个顶点的重心位置

//VPropHandleT字面上的理解就是顶点属性的句柄
OpenMesh::VPropHandleT<Mesh::Point> cogs;
src_mesh_->add_property(cogs);//给网格中每个点添加一个属性cogs

实现上cogs并不属于顶点,所以使用property的方法访问cogs,而不是使用句柄的方式,存储器重心信息到动态属性cogs中
意思就是不能直接通过*v_it访问这个重心,而是要通过property(cogs, v_it)将值传入到cog中,当前的cog是和当前迭代器指示的v_it对应的

//遍历cogs点的所有邻点
for (vv_it = src_mesh_->vv_iter(*v_it); vv_it.is_valid(); ++vv_it)
{
   
	src_mesh_->property(cogs, *v_it) += src_mesh_->po
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值