最初的想法
(这一部分基本流程已经废弃了)
基本流程:
1. 做一些indexing,方便后边的计算;
2. 对于一个要切分的关节,记录其所有父关节和子关节。遍历所有三角形,如果三角形的绑定横跨了该关节的父关节和子关节,那么将这个三角形加入“感兴趣的三角形”列表中,否则各自计入父关节之三角形列表,和子关节之三角形列表;
3. “感兴趣的三角形”列表应当至少包含一个带状闭环,或者有一些多余数据。在这些“感兴趣的三角形”中,找到三角形边所组成的闭环,然后为闭环生成表面;
4. 闭环表面+父关节之三角形列表 = 父关节部分的Mesh,闭环表面+子关节之三角形列表 = 子关节部分的Mesh。
三问聚聚提出剪开+寻路的方法简直6啊~
2018.3.13 更新
基本流程:
按照寻路的想法,做到了大约三天左右……中间碰到了非常非常非常多需要特殊考虑的情况——特殊情况真是最费劲的事情了!终于在今天下午代码可以跑起来了。
然后——我发现这个设计有个巨大的缺陷!!!那就是!!!模型表面并不是连续的!!!!!所以,剪开、寻路,以及闭环,都~没有~
于是下边是简化了的方案……好心疼三天以来抓耳挠腮写代码的我 (;へ:)
不过……竟然觉得这几天写代码写得超爽的说……