欢迎关注更多精彩
关注我,学习常用算法与数据结构,一题多解,降维打击。
海量网格如何进行参数化
分析
- 参数化经常需要优化一些以全部点为变量的能量方程。随着点数的增加,算法的效率会变低。
- 由于是单个任务,也不好进行并行运算。
分而治之,局部合并
一般解决大规模问题的方法就是把问题规模变小。
我们可以把网格分割成几部分,对每部分进行单独参数化。
这里就涉及到几个问题:
- 怎么分割
- 分割后的三维点、面怎么找到参数化后的对应点、面。
- 三角化后是否需要合并,怎么合并
分割及查找
以球为例,可先沿纬线切割,当然不是使用纬去水平切割,而是找到经线上的比较近的2点,然后沿着水平方向找到一条这2点的路径,这条路径就可以作为一分割路径。
同样的方法也可应用到经线上。
这样我们就完成了分割的任务。
那么怎么查找呢,我们可以对点的面进行编号,由于参数化是不改变拓扑结构,所以这些编号也可以带到参数化数据里。当查找时就可以利用编号一一对应过去。
合并
基于一个大前提:我们整个参数化的二维数据是很大的,单个拿出来也是占用了整个界面。
首先考虑一个问题:参数化后的结果需要合并吗?
我认为是看情况而定,如果只是单纯的2,3维相互转换或数据的读取不需要合并。
参数化本来就是3维到二维的映射,没有规定一定要映射成什么形状。
当涉及到二维展示时需要合并,此时也只是局部的合并。
当展示到局部的边界时此时需要参数化合并。不过最多也只是合并4个内容。
本人码农,希望通过自己的分享,让大家更容易学懂计算机知识。