[发明专利]一种三维模型渐进网格数据组织方法有效
| 申请号: | 201110317931.0 | 申请日: | 2011-10-19 |
| 公开(公告)号: | CN102360515A | 公开(公告)日: | 2012-02-22 |
| 发明(设计)人: | 陈静;李墨;李华玮 | 申请(专利权)人: | 武汉大学 |
| 主分类号: | G06T17/30 | 分类号: | G06T17/30 |
| 代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 薛玲 |
| 地址: | 430072 湖*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 三维 模型 渐进 网格 数据 组织 方法 | ||
1.一种三维模型渐进网格数据组织方法,其特征在于:
根据三维模型的原始网格Mn生成渐进网格数据,包括基础网格M0和基础索引数据Index0、各级增量数据 {ΔData1,ΔData2,…ΔDatan},以及各级细节层次网格M1,M2,…Mn对应的索引数据{Index1, Index2,… Indexn};其中,多细节层次级别为i的细节层次网格 ,i取值为1,2,…n;
将基础网格M0和基础索引数据Index0存储到最顶层,随着尺度的增大,依次将各级增量几何数据 {ΔData1,ΔData2,…ΔDatan}和各级细节层次网格M1,M2,…Mn对应的索引数据{Index1, Index2,… Indexn} 存储到对应层次中;
在渐进网格可视化过程中,首先将基础网格M0和基础索引数据Index0传输到客户端,并进行绘制;根据当前所需的多细节层次级别i,传输对应的增量数据ΔDatai和索引数据Indexi到客户端,在上一级别的细节层次网格基础上绘制细节层次网格。
2.如权利要求1所述三维模型渐进网格数据组织方法,其特征在于:生成渐进网格数据的具体方式包括以下步骤,
步骤1,读取原始三维模型,将原始三维模型的原始网格作为细节层次网格Mn,将原始三维模型的所有顶点加入渐进网格顶点集合VertexList中,并初始化所有顶点的属性Level值为0;设置原始三维模型的所有顶点和三角形的属性Removed值为false,表示未被移除;将原始三维模型的所有三角形列入三角形链表TriangleList,遍历三角形链表TriangleList得到索引数据Indexn,将索引数据Indexn加入各级多细节层次索引LodVertexList中;设当前待简化的细节层次网格为Mk,令k=n;
步骤2,将当前待简化的细节层次网格Mk简化得到上一层的细节层次网格Mk-1,得到简化后需要移除的顶点集合Vm;设简化后顶点集合Vm中任一顶点Va由顶点Vb替代,遍历包含顶点Va的邻接三角形集合,将邻接三角形集合中所有三角形指向顶点Va的指针都指向顶点Vb,形成Va的指向三角形集合;顶点集合Vm中所有顶点的指向三角形集合构成三角形集合NT;
步骤3,遍历三角形集合NT,当三角形内的三个顶点指针中任意两个指向同一顶点时,则该三角形为无效的三角形;设置所有无效的三角形属性Removed值为true,表示已移除;
步骤4,在渐进网格顶点集合VertexList中标记顶点集合Vm内所有顶点的属性Removed值为true,表示已移除;设置顶点集合Vm内所有顶点的属性Level值为k,表示多细节层次级别为k,该顶点集合Vm为第k级的增量数据?Datak;
步骤5, 遍历三角形链表TriangleList中属性Removed值为false的三角形,得到索引数据Indexk-1,将索引数据Indexk-1加入各级多细节层次索引LodVertexList中;
步骤6,若k>0,令k=k-1,返回步骤2继续计算增量数据?Datak和索引数据Indexk-1,若如果k=0,进入步骤7;
步骤7,渐进网格顶点集合VertexList中所有属性Removed值为true的顶点所构成集合即为基础网格M0,遍历三角形链表TriangleList中属性Removed值为false的三角形,所得索引数据即为基础索引数据Index0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110317931.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种改性醚类聚羧酸减水剂及其制备方法
- 下一篇:一种水下多通道数据采集电路





