网格映射

Posted threepark

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网格映射相关的知识,希望对你有一定的参考价值。

原文链接

网格映射是什么

对于两个网格S和T,它们之间的映射F:S -> T,可以根据根据S和T的相似度来进行分类:

  • 第一类情况,S和T通过刚性变换就可以注册对齐,如下左图所示。如果S和T有相同的网格连接关系,那么F可以是一个刚性变换。如果S和T的网格连接关系有差异,则S和T互为对方的Remesh网格。
  • 第二类情况,S和T是同一类物体,S和T可以通过近似刚性变换注册对齐,或者叫非刚性注册,如下中间图所示。
  • 第三类情况,S和T是不同类的物体,但是形状上相似,有相同的拓扑结构。比如下面右图所示,S和T都为四肢动物,都有尾巴。它们之间的映射比第二类要复杂一些。
  • 还有一些其它的情况,S和T的形状相似度很低,拓扑结构也不一样。这类的网格映射就更为复杂了,目前很有少这方面的研究。

技术图片

另外,网格的参数化也是一类特殊的网格映射。如果参数域是平面,那么它就是网格的UV展开。因为参数域一般是基本形状,所以这类网格映射都是放在网格参数化里进行讨论。这里介绍的网格映射,网格的形状是一般化的。

技术图片


网格映射的性质

网格映射的计算,经常会考虑一些性质:

  • 双射:两个网格在映射区域的映射,期望是一个双射。
  • 扭曲度:映射扭曲度经常用于度量映射的好坏,优化能量里也常见扭曲度的度量。最好的情况是保距的,也就是S上两点的距离,在映射到T上后,也保持同样的距离。这个距离一般指测地距离。严格保距需要对网格形状有一定的要求,很多时候是尽量的保距。有时候网格的形状差别很大,保距很不现实,就退而保角,也就是S上的一个夹角在映射到T上后,角度值要尽量保持住。保距和保角性质,也常用于UV展开。

网格映射的应用

网格映射有很多应用:

  • 模板网格拟合

技术图片

  • 纹理迁移

技术图片

  • 形状插值

技术图片


网格映射的计算方法

网格映射的计算方法有很多,常见的有这几种类型:

  • 间接法

技术图片

  • 直接法

技术图片

  • 函数映射法

技术图片

网格映射的计算方法中,一般需要一个初始的特征点对应,如图所示。网格特征点的对应计算,是一个经典的问题。

技术图片

有兴趣的读者,欢迎参考视频版本

以上是关于网格映射的主要内容,如果未能解决你的问题,请参考以下文章

内存映射文件到 WPF 网格

将图像映射到 3D 面部网格

通用三角形网格的简单纹理映射

如何使用引导网格映射图像数组?

使用 Hololens 2 在空间映射网格上生成对象

编辑器网格中的自定义类型存储字段未正确映射