[发明专利]三维城市模型自适应调度方法有效
申请号: | 201410157366.X | 申请日: | 2014-04-18 |
公开(公告)号: | CN103942306B | 公开(公告)日: | 2017-04-19 |
发明(设计)人: | 李锋;向泽君;王俊勇;王国牛;邱月;刘锟;杨颖 | 申请(专利权)人: | 重庆市勘测院 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06T17/05 |
代理公司: | 重庆市前沿专利事务所(普通合伙)50211 | 代理人: | 郭云 |
地址: | 400020 *** | 国省代码: | 重庆;85 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 三维 城市 模型 自适应 调度 方法 | ||
1.一种三维城市模型自适应调度方法,其特征在于按以下步骤进行:
步骤一、获取三维模型包围盒信息列表;
步骤二、根据所述三维模型包围盒信息列表构建细粒度网格索引和粗粒度网格索引;
所述步骤二按以下步骤执行:
B1、对于细粒度级别和粗粒度级别,分别根据三维模型包围盒信息列表,构建规则网格列表;每个规则网格描述为<X,Y,BoundingBox,ModelList>四元组,X是网格左下角X坐标,Y是网格左下角Y坐标,BoundingBox是网格的包围盒,ModelList是属于该网格的模型列表;
B2、调整规则网格列表的包围盒:遍历规则网格列表,更新规则网格的包围盒;
对于细粒度级别,根据三维模型包围盒信息列表来构建规则网格列表按以下步骤执行:
B101、遍历对三维模型包围盒信息列表;
B102、检查三维模型尺寸大小是否属于本级别,如果不是,则返回执行步骤B101;如果三维模型尺寸大小属于本级别,则执行下一个步骤;
B103、获取该三维模型所属网格的X、Y坐标标号;
B104、判断该标号的网格是否已经存在;如果该标号的网格已经存在,则将该三维模型ID加入到网格对应的ModelList中,然后返回执行步骤B101;否则执行步骤B105;
B105、创建新的网格,将该三维模型ID加入到新网格对应的ModelList中,将新网格加入到网格列表中,然后返回执行步骤B101;
对于粗粒度级别,根据三维模型包围盒信息列表来构建规则网格列表按以下步骤执行:
B111、遍历对三维模型包围盒信息列表;
B112、检查三维模型尺寸大小是否属于本级别,如果不是,则返回执行步骤B111;如果三维模型尺寸大小属于本级别,则执行下一个步骤;
B113、获取该三维模型所属网格的X、Y坐标标号;
B114、判断该标号的网格是否已经存在;如果该标号的网格已经存在,则将该三维模型ID加入到网格对应的ModelList中,然后返回执行步骤B111;否则执行步骤B115;
B115、创建新的网格,将该三维模型ID加入到新网格对应的ModelList中,将新网格加入到网格列表中,然后返回执行步骤B111;
步骤三、构建三维场景树;
步骤四、遍历三维场景树,计算请求重要程度因子,触发调用请求;
所述步骤四按以下步骤执行:
D1、对三维场景中的每一帧进行场景树渲染遍历;从数据集节点自上而下遍历所有场景块叶子节点;
D2、遍历到场景块叶子节点时,计算请求重要程度因子;设定请求重要程度因子为IF;三维模型到当前视点距离为d,三维模型半径为r1,三维模型当前状态对应的调节系数为a,计算得到请求重要程度因子;
D3、根据计算的重要程度因子,结合需要请求的模型ID,触发调度请求;
步骤五、建立调用请求优先队列,按调用请求优先队列进行I/O调度并更新三维场景树。
2.如权利要求1所述的三维城市模型自适应调度方法,其特征是:所述步骤一按以下步骤执行:
A1、获取三维场景的三维模型列表,获取各三维模型的几何体列表,并获取各几何体的顶点列表;
A2、根据所述几何体的顶点列表,求出所述几何体的包围盒,所述几何体的中心点为所述包围盒的中心点;
A3、将所有几何体的包围盒综合比较,获得所述三维模型的包围盒;
A4、根据所有三维模型的包围盒,获取三维模型包围盒信息列表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆市勘测院,未经重庆市勘测院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410157366.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:垂直分型造型机
- 下一篇:取放模具省力,浇注容易的水平分型脱箱造型机