swift uibezierpath 圆角多边形_优化多边形建模中的非四边网格

170f4561912c31983053ecc3f716415b.png

作者:Simon

近期有学员提问:如何在多边形建模中去掉非四边网格,以下作出的解答:

问:想请教一下,要是遇到一个三角形周围都是四边形,该怎么分面好一点啊?

bd22e4445d9ec0d52902cd4472dd3715.png

04ef95e84b9211f3d79761f0ae44941e.png

其他学员提供以下的解决方法:

这样可拆分可以吗 ?

0a633d8454957b219e3e849b5df7f1d3.png

原来的三边网格是消除了,但旁边原来4边网格变成5边

724b20bf1c52b53bd55ef83f7a8a73bb.png

消除非四边网格

在多边形建模过程,无可避免地会出现一些非四边的网格在模型上,这类非四边网格会不同程度上影响模型光滑后的表面质量(如下图所示),因此我们需要花些时间去消除。

ff2698f2cd302a1a16d71ccc583a1f64.png

▲三边网格在圆滑后,这处的表面会出现一些扭曲变形

要消除掉非四边网络,其方法就是在这个非四边网格的周边“寻找关联”。

所谓“寻找关联”,指的是观察分析这个非四边网格与周边网格的关系进行“搭桥”,并通过如插入边或合并顶点的操作,令非四边网格“消除”掉。

方法1 横向连续插入边

以顶部这个三边网格为例子,我们可以通过横向连续的插入一条边来连接起两个三边网格,这样三边网格增加了一个顶点变后成了4边网格。

77d03705ca0e97941c0fd9fc987f1e28.png

▲用TS插件可以用 tsInsertEdgeSimple 插入边指令操作,然后再使用 tsLayout 指令把T 点转成星点。

方法2 纵向连续插入边

通过观察和分析模型,除了横向对接来消除三边网格外,还能纵向插入边来连接起上下两个三边网格,也能起到相同的作用。

a16fd9ef9552895932980439ae16a445.png

消除了三边网格后,模型表面变得更顺滑。

61cf797ce04a850edbed8b968ba7d1b2.png
问题又来了,方法1与方法2均可消除三边网格,到底应该用哪个方法更好一些?

分面没有一个固定的公式,需要我们根据具体的模型形态去灵活运用,我们分析一下。

方法1 所插入的边令象头顶的面增加,所以圆滑会头部的形态会产生变化,影响到原来我们所调整好的结果。

方法2 所插入的边只对象耳根的转折产生影响,而整体影响甚微。

因此,从效果或调整的工作量来考虑,选用方法2对这个模型修改更为合理些。

78e09ed5627d4e2dbbb84e52eebb01bb.png

关于TS插件中的T点运用

问:请问题在TS中,T点 与 非四边面哪个对模型表面光顺影响大?

f8dc797e4cf7563122adfa21f3289049.png

▲ 如象牙与身体接合的地方使用了T点结构。

这是使用TS的用户较常见的疑问,简单地说,T-Splines 特有的 T 型顶点,其作用是允许用户对模型局部增加细节的同时不产生过多的顶点,从而维持住一个相对精简整体结构。

介绍 TS 模型上增加T点的一介比较推荐的方法:选取需要细节的网格面,使用 tsSubdivideFaceExact 指令进行细分,即可局部增加了网格数。

还是回到上述提过的分面的原则,根据具体的造型灵活运用,这只象模型的象牙与身体接合无需使用到 T 点,选取下图的一圈边,使用 tsUnweld 指令分离出象牙,让象牙独立出来制作即可。

8c0e7c420c59b9e764aafbf65007480a.png

30e6668dc8c2550ca9e33c11d41873fa.png

▲修改后,整体结构比之前更精简

在Rhino 6 中修改网格布线

问:如果我没插件,能不能在Rhino 6 内对网格的布线进行修改?

答案是可以的,Rhino 6 不支持TS插件,而目前它的网格编辑功能未完全地成熟,但仍可通过手工的方式来弥补

第一步:提出网格的控制多边形线框架

1.使用 ExtractWireframe 指令,提取出网格的线框。

1ec0926c18f7d600eb8914d05070ad7b.png

2.对于对称结构的模型,我们可以先删除一半以方便操作,再使用 Polyline 指令连接出新的分面结构

06f497f4efb2cf8b8a0519a4cce8acf0.png

3.对整体线框进行相互分割,具体操作可以参考这篇文章中的第 3.3 步骤。

4.利用这个线框。使用 MeshFromLines 指令生成四边结构的网格模型。

72f0de5b95191cf0509142175a0860c0.png

5.镜像另一侧的网格,并使用 Join 指令结合成一个网格,一般情况下,我们还需要对此组合后的网格顶点进行对齐,选取网格后运行 AlignMeshVertices 指令一次即可,再在指令提示栏中键入tosubd 回车,即得到一个细分模型。

6b800841b5d8d5acd4b935290ecb0d6c.png

本教学完!

470c13b92f40921c61e925789452caec.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值