CN113703864A - 一种三维模型数据动态加载方法 - Google Patents
一种三维模型数据动态加载方法 Download PDFInfo
- Publication number
- CN113703864A CN113703864A CN202110919816.4A CN202110919816A CN113703864A CN 113703864 A CN113703864 A CN 113703864A CN 202110919816 A CN202110919816 A CN 202110919816A CN 113703864 A CN113703864 A CN 113703864A
- Authority
- CN
- China
- Prior art keywords
- rectangle
- dimensional model
- target component
- outer boundary
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种三维模型数据动态加载方法,涉及虚拟现实技术领域,包括以下步骤:预先启动程序并加载预设信息,激活目标部件并调用其对应匹配信息;提取目标部件的外边界信息,包括以包围球在地面投影圆的最大内接矩形作为目标部件的近似外边界;再判断目标部件与三维模型外边界的包含关系,对目标部件进行在三维模型的区域内选择性加载。本发明实现三维模型数据加载的优化,减少带宽负荷,响应速度快,其加载项数量明显减少,有效降低数据冗余,提高加载效率,不仅提升工作效率的同时,而且降低了运营成本,解决加载三维模型网络慢、数据交互延时的问题,增加了用户体验交互的流畅性。
Description
技术领域
本发明涉及虚拟现实技术领域,具体来说,涉及一种三维模型数据动态加载方法。
背景技术
虚拟现实是近年来出现的高新技术,虚拟现实是利用电脑模拟产生一个三维空间的虚拟现实,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察三度空间内的事物。城市规划一直是对全新的可视化技术需求最为迫切的领域之一,虚拟现实技术可以广泛地应用在城市规划的各个方面,并带来切实且可观的利益,但随着近年来计算机软硬件技术的提高,一些原有的技术瓶颈得到了解决,使虚拟现实的应用达到了前所未有的发展。
网络延时和带宽成为了当前发展规模的主要因素,互联网上目前还没有发布大数据量的精细的三维虚拟现实的应用项目,带宽的网络传输阻碍了虚拟现实技术在工作、生活中发展应用。现在大部分的虚拟现实项目都以PC客户端为依托,在使用产品时要先下载安装,在网络不畅的情况下,大大的增加了用户的等待时间,对用户来说是不好的用户体验,对企业来说是不好用的产品。虚拟现实要给使用者好的视觉体验,就需要大量的精细模型支撑,模型体积大、数量多就导致网络加载慢、数据交互延时等问题。
因此,亟需一种三维模型数据动态加载方法。
检索中国发明专利CN109885411A公开了一种三维模型动态数据加载方法,包括:S1、启动程序并加载预设信息;S2、生成对应各部件的唯一识别ID;S3、激活目标部件并调用其对应的识别ID;S4、根据识别ID在信息库中匹配对应信息;S5、录入各部件的对应信息并生成三维模型;S6、上传三维模型至服务器。可以对三维模型的信息录入实现动态管理,根据每次信息更换只需要通过更换相应的信息库即可实现新的三维模型生成,有效提升了工作效率、降低了运营成本。但其仍存在模型体积大、数据冗余,且系统的加载效率较低和数据交互延时等问题。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种三维模型数据动态加载方法,通过三维模型数据加载的优化,减少带宽负荷,响应速度快,其加载项数量明显减少,有效降低数据冗余,提高加载效率,不仅提升工作效率的同时,而且降低了运营成本,解决加载三维模型网络慢、数据交互延时的问题,增加了用户体验交互的流畅性的技术问题。
本发明的技术方案是这样实现的:
一种三维模型数据动态加载方法,包括以下步骤:
步骤S1,预先启动程序并加载预设信息,激活目标部件并调用其对应匹配信息;
步骤S2,提取目标部件的外边界信息,包括以包围球在地面投影圆的最大内接矩形作为目标部件的近似外边界;
步骤S3,再判断目标部件与三维模型外边界的包含关系,对目标部件进行在三维模型的区域内选择性加载。
进一步的,所述预设信息包括预设模型库和预设信息库。
进一步的,所述近似外边界,包括以下步骤:
生成目标部件的包围球并进行向地面投影,获取投影圆特征信息;
筛选投影圆最大内接矩形,并作为目标部件的近似外边界。
进一步的,所述提取目标部件的外边界信息,包括以下步骤:
步骤S201,对每个目标部件的矩形外边界按照顺时针顺序,分别定义数组V(p0,p1,p2,p3,p4)来存储矩形的相关信息;其中,节点pi为对象,表示矩形的角点,具有X、Y坐标值属性,p0与p4为同一个起始点;
步骤S202,确定同一父节点中子节点的拓扑关系,包括:
若当前选中矩形相离,则取第一个被输入的矩形;
若当前选中矩形包含,则通过判断点是否在矩形内,确定选中矩形的内含关系,取其中较大的一个矩形为合并结果;
若当前选中矩形相交,则通过矩形合并来选中矩形进行融合。
进一步的,所述通过矩形合并来选中矩形进行融合,包括以下步骤:
步骤S20201,预先将选中矩形分别按照矩形节点的顺时针顺序存入两个队列V1(v1,0,v1,1,v1,2…v1,m)和V2(v2,0,v2,1,v2,2…v2,n)中,从V1节点中寻找一个不落在V2空间范围内的点v1,i,作为合并矩形的起始点;
步骤S20202,再以V1中的(v1,i,v1,i+1)边为起始边,判断它与矩形V2的边(v2,0,v2,1…(v2,j,v2,j+1)是否存在交点,其中j={0,1,2…n-1},包括:
若当前交点存在,则终止循环判断;
若当前交点不存在,则判断(v1,i+1,v1,i+2)与矩形V2是否有交点,直到寻找到多边形V1与多边形V2的第一个交点为止,并将V1的节点(v1,i,v1,i+1,v1,i+2…v1,r)与第一个交点存入合并后的矩形V3中;
步骤S20203,基于所述第一个交点,以矩形V2最靠近第一个交点的边开始,寻找矩形V2与V1的交点,并将V2中寻找过的边与第二个交点存入合并后的矩形V3中;
步骤S20204,交替进行迭代,直至运行到V1中的循环起始点v1,i,将最后一个交点与它到v1,i之间的点存入合并后的矩形V3中,完成矩形合并。
进一步的,还包括以下步骤:
步骤S203,对合并后的矩形进行裁剪优化,包括以下步骤:
获取矩形重心点G(xg,yg):
进行从矩形任意节点出发,依次判断每个点与重心点是否在相邻两点所在直线的同侧,若位于同侧则保留,若位于异侧则舍弃。
进一步的,所述在三维模型的区域内选择性加载,包括以下步骤:
步骤S301,获取目标部件的角点坐标;
步骤S302,进行判断当前角点坐标是否位于矩形区域内部,包括:
若当前角点坐标位于矩形区域内部则直接加载;
若当前角点坐标位于矩形区域外部,则进行确定目标部件是否位于三维模型外边界的内部,其中,包括:
若当前角点坐标全部位于三维模型外边界的内部则请求加载,否则不请求加载。
本发明的有益效果:
本发明三维模型数据动态加载方法,通过预先启动程序并加载预设信息,激活目标部件并调用其对应匹配信息,以包围球在地面投影圆的最大内接矩形作为目标部件的近似外边界提取目标部件的外边界信息,再判断目标部件与三维模型外边界的包含关系,对目标部件进行在三维模型的区域内选择性加载,实现三维模型数据加载的优化,减少带宽负荷,响应速度快,其加载项数量明显减少,有效降低数据冗余,提高加载效率,不仅提升工作效率的同时,而且降低了运营成本,解决加载三维模型网络慢、数据交互延时的问题,增加了用户体验交互的流畅性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种三维模型数据动态加载方法的流程示意图一;
图2是根据本发明实施例的一种三维模型数据动态加载方法的流程示意图二;
图3是根据本发明实施例的一种三维模型数据动态加载方法的流程示意图三。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种三维模型数据动态加载方法。
如图1所示,根据本发明实施例的三维模型数据动态加载方法,包括以下步骤:
步骤S1,预先启动程序并加载预设信息,激活目标部件并调用其对应匹配信息;
步骤S2,提取目标部件的外边界信息,包括以包围球在地面投影圆的最大内接矩形作为目标部件的近似外边界;
步骤S3,再判断目标部件与三维模型外边界的包含关系,对目标部件进行在三维模型的区域内选择性加载。
其中,所述预设信息包括预设模型库和预设信息库。
其中,所述近似外边界,包括以下步骤:
生成目标部件的包围球并进行向地面投影,获取投影圆特征信息;
筛选投影圆最大内接矩形,并作为目标部件的近似外边界。
另外,如图2所示,提取目标部件的外边界信息,包括以下步骤:
步骤S201,对每个目标部件的矩形外边界按照顺时针顺序,分别定义数组V(p0,p1,p2,p3,p4)来存储矩形的相关信息;其中,节点pi为对象,表示矩形的角点,具有X、Y坐标值属性,p0与p4为同一个起始点;
步骤S202,确定同一父节点中子节点的拓扑关系,包括:
若当前选中矩形相离,则取第一个被输入的矩形;
若当前选中矩形包含,则通过判断点是否在矩形内,确定选中矩形的内含关系,取其中较大的一个矩形为合并结果;
若当前选中矩形相交,则通过矩形合并来选中矩形进行融合。
其中,所述通过矩形合并来选中矩形进行融合,包括以下步骤:
步骤S20201,预先将选中矩形分别按照矩形节点的顺时针顺序存入两个队列V1(v1,0,v1,1,v1,2…v1,m)和V2(v2,0,v2,1,v2,2…v2,n)中,从V1节点中寻找一个不落在V2空间范围内的点v1,i,作为合并矩形的起始点;
步骤S20202,再以V1中的(v1,i,v1,i+1)边为起始边,判断它与矩形V2的边(v2,0,v2,1…(v2,j,v2,j+1)是否存在交点,其中j={0,1,2…n-1},包括:
若当前交点存在,则终止循环判断;
若当前交点不存在,则判断(v1,i+1,v1,i+2)与矩形V2是否有交点,直到寻找到多边形V1与多边形V2的第一个交点为止,并将V1的节点(v1,i,v1,i+1,v1,i+2…v1,r)与第一个交点存入合并后的矩形V3中;
步骤S20203,基于所述第一个交点,以矩形V2最靠近第一个交点的边开始,寻找矩形V2与V1的交点,并将V2中寻找过的边与第二个交点存入合并后的矩形V3中;
步骤S20204,交替进行迭代,直至运行到V1中的循环起始点v1,i,将最后一个交点与它到v1,i之间的点存入合并后的矩形V3中,完成矩形合并。
其中,还包括以下步骤:
步骤S203,对合并后的矩形进行裁剪优化,包括以下步骤:
获取矩形重心点G(xg,yg):
进行从矩形任意节点出发,依次判断每个点与重心点是否在相邻两点所在直线的同侧,若位于同侧则保留,若位于异侧则舍弃。
具体的,其记矩形相邻的3个节点坐标分别为:
Pi(xi,yi),Pi+1(xi+1,yi+1),Pi+2(xi+2,yi+2),令K=(yi+2-yi)/(xi+2-xi);
获取J表示为:
如果J>0,则证明在同侧,将该点保留;否则将其舍弃。
借助于上述方案,对存在明显区域进行优化处理后,不仅可将外边界的锯齿状凸起消除,而且还能将复杂的边界简化,减少拐节点数量,为后续数据选择加载的判断减少计算量。
另外,如图3所示,所述在三维模型的区域内选择性加载,包括以下步骤:
步骤S301,获取目标部件的角点坐标;
步骤S302,进行判断当前角点坐标是否位于矩形区域内部,包括:
若当前角点坐标位于矩形区域内部则直接加载;
若当前角点坐标位于矩形区域外部,则进行确定目标部件是否位于三维模型外边界的内部,其中,包括:
若当前角点坐标全部位于三维模型外边界的内部则请求加载,否则不请求加载。
具体的,包括以下步骤:
获取目标部件的4个角点坐标。
进行判断当前角点坐标是否位于矩形区域内部,为提高计算效率,可进行初步判断,将三维模型外边界矩形的节点集中最大X、最小X、最大Y和最小Y提取出来,根据这4个值确定一个三维模型的最小外接矩形区域,判断目标部件是否位于矩形区域的内部。若当前角点坐标位于矩形区域内部则直接加载,如果位于外部则进行下一步判断。
进一步判断目标部件角点是否位于矩形区域外部时且位于三维模型外边界的内部,通过射线法,从目标部件角点引一条射线,如果该射线与矩形的交点个数为奇数,则在三维模型外边界内;如果交点个数为偶数,则在三维模型外边界外。
若当前角点坐标全部位于三维模型外边界的内部则请求加载,否则不请求加载。
综上所述,借助于本发明的上述技术方案,通过预先启动程序并加载预设信息,激活目标部件并调用其对应匹配信息,以包围球在地面投影圆的最大内接矩形作为目标部件的近似外边界提取目标部件的外边界信息,再判断目标部件与三维模型外边界的包含关系,对目标部件进行在三维模型的区域内选择性加载,实现了三维模型数据加载的优化,减少带宽负荷,响应速度快,其加载项数量明显减少,有效降低数据冗余,提高加载效率,不仅提升工作效率的同时,而且降低了运营成本,解决加载三维模型网络慢、数据交互延时的问题,增加了用户体验交互的流畅性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种三维模型数据动态加载方法,其特征在于,包括以下步骤:
预先启动程序并加载预设信息,激活目标部件并调用其对应匹配信息;
提取目标部件的外边界信息,包括以包围球在地面投影圆的最大内接矩形作为目标部件的近似外边界;
再判断目标部件与三维模型外边界的包含关系,对目标部件进行在三维模型的区域内选择性加载。
2.根据权利要求1所述的三维模型数据动态加载方法,其特征在于,所述预设信息包括预设模型库和预设信息库。
3.根据权利要求1所述的三维模型数据动态加载方法,所述近似外边界,包括以下步骤:
生成目标部件的包围球并进行向地面投影,获取投影圆特征信息;
筛选投影圆最大内接矩形,并作为目标部件的近似外边界。
4.根据权利要求3所述的三维模型数据动态加载方法,其特征在于,所述提取目标部件的外边界信息,包括以下步骤:
对每个目标部件的矩形外边界按照顺时针顺序,分别定义数组V(p0,p1,p2,p3,p4)来存储矩形的相关信息;其中,节点pi为对象,表示矩形的角点,具有X、Y坐标值属性,p0与p4为同一个起始点;
确定同一父节点中子节点的拓扑关系,包括:
若当前选中矩形相离,则取第一个被输入的矩形;
若当前选中矩形包含,则通过判断点是否在矩形内,确定选中矩形的内含关系,取其中较大的一个矩形为合并结果;
若当前选中矩形相交,则通过矩形合并来选中矩形进行融合。
5.根据权利要求4所述的三维模型数据动态加载方法,其特征在于,所述通过矩形合并来选中矩形进行融合,包括以下步骤:
预先将选中矩形分别按照矩形节点的顺时针顺序存入两个队列V1(v1,0,v1,1,v1,2…v1,m)和V2(v2,0,v2,1,v2,2…v2,n)中,从V1节点中寻找一个不落在V2空间范围内的点v1,i,作为合并矩形的起始点;
再以V1中的(v1,i,v1,i+1)边为起始边,判断它与矩形V2的边(v2,0,v2,1…(v2,j,v2,j+1)是否存在交点,其中j={0,1,2…n-1},包括:
若当前交点存在,则终止循环判断;
若当前交点不存在,则判断(v1,i+1,v1,i+2)与矩形V2是否有交点,直到寻找到多边形V1与多边形V2的第一个交点为止,并将V1的节点(v1,i,v1,i+1,v1,i+2…v1,r)与第一个交点存入合并后的矩形V3中;
基于所述第一个交点,以矩形V2最靠近第一个交点的边开始,寻找矩形V2与V1的交点,并将V2中寻找过的边与第二个交点存入合并后的矩形V3中;
交替进行迭代,直至运行到V1中的循环起始点v1,i,将最后一个交点与它到v1,i之间的点存入合并后的矩形V3中,完成矩形合并。
7.根据权利要求4所述的三维模型数据动态加载方法,其特征在于,所述在三维模型的区域内选择性加载,包括以下步骤:
获取目标部件的角点坐标;
进行判断当前角点坐标是否位于矩形区域内部,包括:
若当前角点坐标位于矩形区域内部则直接加载;
若当前角点坐标位于矩形区域外部,则进行确定目标部件是否位于三维模型外边界的内部,其中,包括:
若当前角点坐标全部位于三维模型外边界的内部则请求加载,否则不请求加载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110919816.4A CN113703864A (zh) | 2021-08-11 | 2021-08-11 | 一种三维模型数据动态加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110919816.4A CN113703864A (zh) | 2021-08-11 | 2021-08-11 | 一种三维模型数据动态加载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113703864A true CN113703864A (zh) | 2021-11-26 |
Family
ID=78652553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110919816.4A Withdrawn CN113703864A (zh) | 2021-08-11 | 2021-08-11 | 一种三维模型数据动态加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113703864A (zh) |
-
2021
- 2021-08-11 CN CN202110919816.4A patent/CN113703864A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11344806B2 (en) | Method for rendering game, and method, apparatus and device for generating game resource file | |
US6195664B1 (en) | Method and system for controlling the conversion of a file from an input format to an output format | |
CN111968212B (zh) | 一种基于视点的三维城市场景数据动态调度方法 | |
JP2007220090A (ja) | Plmデータベース内のオブジェクトを表示する処理および本処理を実装した装置 | |
US8139074B2 (en) | Memory optimized cache generation for image tiling in GIS/CAD browser applications | |
CN111127637A (zh) | 一种三维模型的数据处理方法、装置及电子设备 | |
CN111127615A (zh) | 一种三维模型的数据调度方法、装置及电子设备 | |
CN110478898B (zh) | 游戏中虚拟场景的配置方法及装置、存储介质及电子设备 | |
US20230298237A1 (en) | Data processing method, apparatus, and device and storage medium | |
CN111931097A (zh) | 信息展示方法、装置、电子设备以及存储介质 | |
CN109683858A (zh) | 数据处理方法及装置 | |
CN112717414A (zh) | 游戏场景编辑方法、装置、电子设备以及存储介质 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN115761130A (zh) | 三维场景快速构建方法、装置、电子设备以及存储介质 | |
CN112221151B (zh) | 一种地图生成方法、装置、计算机设备及存储介质 | |
US9135749B2 (en) | Method and apparatus for processing three-dimensional model data | |
US7197714B2 (en) | Optimizing graphical data synchronization between a graphical client and a stateless server | |
CN110853122B (zh) | 动画生成方法、装置及存储介质 | |
CN111950057A (zh) | 一种建筑信息模型bim的加载方法及装置 | |
CN113703864A (zh) | 一种三维模型数据动态加载方法 | |
KR20090052970A (ko) | 시공간 정보가 결합된 체험형 지식 제공 방법 및 시스템 | |
CN112755534B (zh) | 一种数据处理方法、装置和存储介质 | |
CN112115680B (zh) | 字体拆分方法、装置、计算机设备及计算机可读存储介质 | |
CN114307158A (zh) | 三维虚拟场景数据的生成方法及装置、存储介质、终端 | |
CN114564268A (zh) | 一种设备管理方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211126 |