剖分三角形网
剖分三角网具体题目是这样的写一个函数 把一个三角网分成多个独立的三角网。输入: vectorUINT indexArr
剖分三角网
具体题目是这样的
写一个函数 把一个三角网分成多个独立的三角网。
输入: vector<UINT> indexArr; indexArr为每个三角形的索引值 (即每0, 1, 2个索引是一个三角形, 3, 4, 5索引又是一个三角形 。。。)
输出:vector<vector<UINT>> indexArrs 把索引不相连的三角形给分开。
注意效率。
例如下图: 输入[0,1,2,0,2,3,4,5,6] 输出[0,1,2,0,2,3],[4,5,6]
[解决办法]
刚才试着搞了一下,发现确实比较麻烦。我把这个问题简化了一下,也就是vector中保存了多个元素,现在遍历的话也可以求出两两是否有联系,问题就是扩展联系处理比较麻烦,也就是A连B,B又连C,那么他们都得在一个组里
[解决办法]
只有点跟点连接的话也算连接吗?
如果不算的话,针对一对点组成的线段建哈希 这样可以吗?
[解决办法]
哈哈,当然,那并非我原创的算法。实际上我觉得你师傅的想法有写问题,像这种经典的问题早已经是千千万万人仔细想过了,现在能广为流传的算法几乎已经是人类的智慧总结了,想在这种问题上别出心裁的胜出,除非你是像 Gauss 这样百年一遇的天才。这就好像你想发明一种比圆形的轮子滚动性能更好的几何形状,这不是自讨苦吃吗,能有更好的不早就被发现了。我并非打击你创新的想法,但创造也得找对了点才行,否则不是浪费时间吗。
[解决办法]等宽曲线。。。