关于各向同性重网格化的效果

我完成了重网格化的 split、flip 和 average 的部分,能够正常合理地运行
但当我把 collapse 部分的代码加上之后,能够成功运行,但效果很差
下图是我分别处理了三次,我的牛牛的犄角变得很不规则,而且牛牛的脸也写满了沧桑 :cry:



想问问这样的效果能拿到 remesh 里面 collapse 的 10 分吗 :sob:

突然想到是不是先 flip 后 collapse 会好一点 :thinking:
这样是不是可以避免最后一轮 iteration 后剩下很多狭长的三角形
但是牛角那个地方总是会出现尖锐的三角锥,很难受(

提前感谢助教学长和路过的大佬相助 :pray:

把 flip 放在 collapse 前面,感觉确实好点了

你最新的结果依然有些问题,有些部分的三角形显得过于尖锐了:(例如下图中蓝色方框标出的位置)

正常来说,由于 cow.dae 这个 mesh 上的三角形分布已经比较均匀了,执行一次 remeshing 后的结果应该也是比较均匀的。这是参考实现的效果:(会出现几个狭长的三角形,但不会集中出现)

而且虽然这个 mesh 的面数不太多,但它的形状比较圆润,没有什么特别尖锐的地方,所以执行 remeshing 后不太会出现棱角、缩小的现象。至少我用参考实现连续执行 4 次 remeshing 后,并没有观察到明显的收缩或棱角:

我对你这种情况有两种猜想:splitting / collapsing 时没处理好,然后 flipping 导致没处理好的部位发生了凹陷;或者只是 smoothing 这一步没写对,导致被平滑的顶点有法线方向的移动。你可以检查一下自己的平滑操作是否写对了,如果感到平滑操作的任何说明有歧义,请在这个话题下继续补充疑问,我会尽量解释。


感觉这个效果差不多了,谢谢助教学长! :smiling_face_with_three_hearts:
原来是之前对代码不熟悉的时候把 collapse 的 v_new 的位置理解错了,搞成 v_3 和 v_4 的中点了 :sweat_drops: