重新网格化(Remesh)

原文链接

Remesh并没有一个严格的定义,简单的讲,Remesh就是从一个输入网格生成另一个网格,并且满足一定的要求。根据网格改动大小,可以分为这么几类:

  • 保持顶点拓扑和几何信息,优化网格连接关系
  • 保持顶点拓扑信息,同时优化顶点几何和网格连接关系
  • 顶点重采样,优化网格连接关系

Remesh对原网格的改动比较大,实际应用中要谨慎使用。尽量使用改动比较小的Remesh方法。


Delaunay三角化

Delaunay三角化,是点云的一种三角化方法,它具有某些好的性质:

  • 网格中的最小角最大化
  • 任意三角形的外接圆内不含三角形以外的顶点
  • 三角化的网格是点云的凸包
  • 最大化所有三角面片的内切圆的平均值
  • 其它......


带约束的Delaunay三角化

有时候,点云包含一些线段连接约束,如下左图所示。有些约束边并不满足Denaulay性质,所以,它并不能得到整体的Delaunay三角化结果(如下中图是点云的一个Delaunay三角化结果)。我们可以放开一些Delaunay性质约束,使其尽量的接近Delaunay三角化。下右图是一个带约束的Denaulay三角化的结果。可以比较一下中图和右图的结果差异。


Delaunay网格优化

Delaunay优化,可以优化网格的连接关系,减少狭长三角形,保持网格顶点数目和位置不变。如下图所示,图2和图3是图1点云不同的三角化结果。图2经过一系列拓扑优化,如Delaunay边翻转操作,得到图3的高质量网格。

Delaunay优化只改变了网格顶点的连接关系,一般是局部的Delaunay边翻转。由于顶点保持不变,它可以极大可能的保持住原始网格的几何信息。缺点是,在顶点分布很差的情况下,优化的效果有限。


Voronoi图

给定一群平面(或曲面)的点,其Voronoi图,把平面(或者曲面)分隔成一块一块的区域,每个区域包含一个点,并且这块区域到所有点的最近点为其所包含的点。如图左所示。这些线也是相邻两点的垂直平分线。如果是曲面上的点,点之间的距离为曲面的测地距离。

Voronoi图和Delaunay三角化的图,互为对偶图。如图右所示。


重心Voronoi图

重心Voronoi图,是一种特殊的Voronoi图,其每个区域的重心和其对应点重合。如右图所示,这就是一个重心Voronoi图。


重心Voronoi优化

重心Voronoi优化,可以减少狭长三角形。它和Delaunay优化的区别是,它不仅优化网格顶点的连接关系,还要优化顶点的位置。如下图1所示,虽然这是一个Delaunay三角化,但明显可以看出其网格质量很很差的,经过一系列几何优化(如重心Voronoi优化)后,顶点分布更加均匀,然后再做一个Delaunay三角化就得到了图2的结果。

重心Voronoi优化,虽然可以优化顶点分布,但其优化程度有限,在顶点分布极不均匀的情况下,效果还是不理想的。


重新网格化(Remesh)

这里的Remesh,主要是指顶点重新采样的类型。前面提到的Delaunay优化和重心Voronoi优化也属于Remesh的范畴,但它们对顶点分布的优化能力有限。

Remesh的目标有很多种,一般是应用驱动的,不同的应用所需要的性质是有差别的,即使是同一个性质,有时候是硬约束,有时候是软约束。常见的一些性质有:

  • 新网格是原网格的一个好的逼近
  • 新网格复杂度(网格顶点或面片数量)
  • 网格面片质量满足一定的要求:避免狭长和退化面片;顶点度数为6;顶点分布满足均匀分布或几何相关的各项异性分布;网格边长要求。
  • 保持特征边
  • 新网格要保持流形结构

通常情况下,这些性质很难同时满足,有些性质是矛盾的:

  • 网格复杂度与逼近误差
  • 网格顶点均匀分布与逼近误差
  • 保持特征边与网格面片质量

Remesh的方法,大致可以分为局部和全局的:

  • 局部方法:经过一系列的局部拓扑和几何操作的迭代,来Remesh整个网格。它的优点是计算速度比较快,容易实现;缺点是缺乏整体质量的把控,是一种启发式方法。
  • 全局方法:一般指把网格分割成一片一片的,然后分片参数化子网格。参数化的过程中,保持住边界的连续性。也有一些全局参数化的方法,不要网格分割这一步。最后再把参数域的网格拓扑结构反映射回原网格。它的优点是网格的全局质量容易把控,缺点也显而易见,强烈的依赖参数化方法,稳定高质量的实现会比较困难。

有兴趣的读者,欢迎参考视频版本:Delaunay三角化Voronoi图

原文地址:https://www.cnblogs.com/threepark/p/11711381.html

时间: 2024-10-16 20:35:10

重新网格化(Remesh)的相关文章

182在屏幕中实现网格化视图效果

实现同样效果,更简单的方式如之前写的这篇随笔:使用 UICollectionView 实现网格化视图效果 效果如下: iPhone 5s iPhone 6 iPhone 6 Plus ViewController.h 1 #import <UIKit/UIKit.h> 2 #import "KMGridViewDelegate.h" 3 #import "KMGridView.h" 4 5 @interface ViewController : UIVi

使用 UICollectionView 实现网格化视图效果

讲解 UICollectionView 的相关链接:http://blog.csdn.net/eqera/article/details/8134986 为了实现不同尺寸屏幕的大小自适应,细节处理: (1)在 Main.storyboard 中,去掉勾选「Use Size Classes」 (2)删除 LaunchScreen.xib 关键操作: 效果如下: KMCollectionViewCell.h 1 #import <UIKit/UIKit.h> 2 3 @interface KMCo

社区管理有捷径!Wish3D Earth社区网格化管理案例重磅上线

社区网格化是精细化.全覆盖.高效率的社区管理模式,便捷有效的社区网格化管理平台是社区网格化管理的关键. Wish3D Earth全新上线三维社区网格化管理平台,使用实景三维模型作为地图,地形地貌真实展示,信息快速定位查找,动态处理事件,更好服务民众,助力社区网格化工作顺利开展. 此模块主要是用来实现对人口信息的网格化管理展现,用户可通过此处进行网格人口和人员卡片信息的查看,支持信息的搜索和统计.在后台,网格员可对人口信息进行统一的管理,对人口信息进行录入和维护操作. 1) 社区全部人员信息 包括

大气环境监测系统,网格化大气环境监测,纵横智控

大气环境监测系统 由于雾霾天气一再出现,影响空气污染严重,随着空气质量的恶化,咱们对健康越来越关注,特别是对人体有害的气体物质,并逐渐进行有效的监控和治理,环境空气质量监测是伴随着日益严重的大气污染而发展起来的,针对现在的状况.成都纵横智控有限公司开发研发了大气环境监测系统,有先进的无线数据通讯网络,计算机信息管理及智能监测设备等组成,LED显示实时在线PM2.5,用于监测大气环境的温度.湿度.PM10.甲醛.二氧化碳.二氧化硫.一氧化氮等多项参数,LED显示屏大气环境空气质量监测体系由环境空气

Atitit 创业好处 Atitit 为什么我们要创业

Atitit 创业好处 Atitit 为什么我们要创业 1.1. 提升学历 1 1.2. 提升自己的能力 1 1.3. 拓展视野 站在高层ceo 才能掌握全局.站在产业链高层,才可看到趋势. 1 1.4. 提升自己的知识体系,完成从打工到ceo的转变 1 1.5. 事业有成带来成就感 1 1.6. 圆梦计划 现在就是圆梦的时候到了 2 1.7. 为了更好的普度众生,是我们大神的神圣使命感 2 1.8. 提升职位 3 1.9. 增强团队凝聚力 3 1.10. 建立自己的商业帝国 3 1.11. 说

Atitit mysql数据库统计信息

SELECT table_name, table_rows, index_length, data_length, auto_increment, create_time, update_time, table_collation, ENGINE FROM INFORMATION_SCHEMA. TABLES WHERE table_schema = 'yunprint' 作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher 捕鸟王"B

Atitit phpstorm配置attilax总结

1. 前期准备 1 1.1. 配置interpreter 1 1.2. debug需要xdebug的支持,不管是script模式还是web模式 3 2. 以php script运行 3 2.1.1. 以php web运行 4 3. Php web debug的配置与使用 4 3.1. 多用户远程调试 xdebug.remote_connect_back=1 4 3.2. 参考资料 5 1. 前期准备 1.1. 配置interpreter 首先,在phpstorm中是直接可以运行PHP程序而不需要

Atitit 项目文档规范化与必备文档与推荐文档列表

===========比较重要的必备文档========== 项目组名单通讯录( 包括项目组,客户沟通人等 需求文档 原型ui文档 开发计划表 项目源码与架构文档以及新结构文档 设计文档 (一般概要即可,重点模块单独详细设计) 数据库文档 注意事项 =========对开发比较重要的文档 Svn源码服务器账号密码 测试数据库账号密码信息 数据库sql脚本文件. 开发环境搭建文档 项目技术规范文档.(项目模式和产品模式有很多不同,需要单独分离) ======其他 测试说明文档 测试服务器部署账号信

Atitit 数据库view视图使用推荐规范与最佳实践与方法

1. 视图的优点:1 1.1. **提升可读性  定制用户数据,聚焦特定的数据1 1.2. 使用视图,可以简化数据操作.       1 1.3. **提升扩展性 屏蔽底层表的重构变动,免编译免部署热更新2 1.4. B.查询简单化. 2 1.5. C.逻辑数据独立性. 2 1.6. 提高数据安全性,可以不让用户看到表中的某个字段.2 1.7. 合并分离的数据,创建分区视图       2 1.8. 模拟索引列3 2. 缺点3 2.1. 小部分场景下,复杂视图可能会有性能问题,可以使用带参数的s