CN117576293A - 一种基于线路分页分层模型的视相关多线程动态更新方法 - Google Patents
一种基于线路分页分层模型的视相关多线程动态更新方法 Download PDFInfo
- Publication number
- CN117576293A CN117576293A CN202410050029.4A CN202410050029A CN117576293A CN 117576293 A CN117576293 A CN 117576293A CN 202410050029 A CN202410050029 A CN 202410050029A CN 117576293 A CN117576293 A CN 117576293A
- Authority
- CN
- China
- Prior art keywords
- model
- line
- paging
- viewpoint
- prediction
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000000007 visual effect Effects 0.000 title claims abstract description 35
- 238000009877 rendering Methods 0.000 claims abstract description 41
- 238000013461 design Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000012805 post-processing Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 238000000926 separation method Methods 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000012800 visualization Methods 0.000 abstract description 5
- 238000000638 solvent extraction Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 11
- 239000010410 layer Substances 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/36—Level of detail
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及线路三维可视化技术领域,具体公开了一种基于线路分页分层模型的视相关多线程动态更新方法,本发明结合多线程技术建立了适用于线路三维结构物的线路分页分层模型,然后根据用户常用的操作对视点运动轨迹进行预测,确定预加载分页分层模型的预加载页码范围和细节层级,对预加载数据进行预编译,实现线路结构物的视相关动态调度,并在调整线位时结合多线程协作配合,实现线路分页分层模型视相关多线程动态更新。优点是,本发明摒弃不适用于线路结构物的传统矩形分块方法和易卡顿的整体调度方式,并且在线路修改时,只需更新最小影响域预加载页码范围的线路分页分层模型,实现线路三维模型的实时渲染和动态更新。
Description
技术领域
本发明涉及线路三维可视化技术领域,具体涉及一种基于线路分页分层模型的视相关多线程动态更新方法。
背景技术
线路的三维可视化对于提高线路设计效率和设计成果质量至关重要,是线路设计者与决策者、其他专业设计者交流的纽带。随着建筑信息模型技术BIM(BuildingInformation Model)的崛起,线路结构物模型也愈发精细和真实,公路、铁路线路通常有几百甚至上千公里,沿线结构物种类复杂多样,模型数据量巨大。海量的数据一次性调入计算机内存并渲染出来不仅难以实现,而且占用大量的计算机内存,耗时长、易卡顿,容易发生软件闪退、电脑死机等现象。如今实现线路三维模型的高质量渲染和流畅展示这一目标,仍面临着诸多挑战。
现有的模型分页调度技术难以兼顾线路工程的实际需要和线路三维模型的特征。不同于其他三维场景的是,线路线形设计过程中会存在频繁修改、反复调整方案的情况,要求对线路三维模型进行动态更新,而现有的基于里程的线路最小影响域确定方法主要针对单层的、整体的线路三维模型,并不适用于大规模的、分页分层组织的线路三维结构物模型。
综上所述,急需一种基于线路分页分层模型的视相关多线程动态更新方法解决现有技术中的问题。
发明内容
本发明目的在于提供一种基于线路分页分层模型的视相关多线程动态更新方法,具体技术方案如下:
一种基于线路分页分层模型的视相关多线程动态更新方法,包括如下步骤:
步骤S1:构建线路分页分层模型,具体是,构建线路分页模型,所述线路分页模型包括基于里程构建单一结构物路段和不同结构物交界段,所述单一结构物路段为结构物类型一致的路段,所述不同结构物交界段为不同结构物交界的路段;建立细节层次编码,基于细节层次编码将线路分页模型划分不同细节层次,得到线路分页分层模型;
步骤S2:预测视点运动轨迹,具体是,选取预测步长并进行页码预测和层级预测;
页码预测:通过前一帧视点和当前帧视点的坐标获取视点相关里程,结合埃尔米特算法预测下一帧视点的坐标,进而获取视点相关里程,定位线路分页模型的预加载页码范围;
层级预测:通过前一帧视点和当前帧视点距离目标模型的视距,结合埃尔米特算法得到下一帧视点距目标模型的视距,然后将下一帧视点距目标模型的视距与每层线路结构物细节层次模型的可见视点距离作比较,得到预测模型细节层级;
步骤S3:线路分页分层模型视相关多线程动态更新,具体是,动态调度模型数据,此时依次进行帧后处理、帧前处理和合并渲染,实现对线路分页分层模型的三维可视化浏览;当对线路分页分层模型进行修改时,确定基于页的最小影响域范围,多线程动态更新最小影响域范围内的线路分页分层模型;
帧后处理:卸载过期数据,基于步骤S2的视点运动轨迹,确定线路分页分层模型的预加载数据;
帧前处理:基于步骤S2的预加载页码范围和预测模型细节层级,对预加载数据进行预编译;
合并渲染:将编译完成的数据加载至内存,完成场景的实时渲染,实现模型动态更新。
在一个具体的实施案例中优选的,在步骤S1中,所述线路分页模型通过每一页模型的起始里程、终止里程和基本分段间隔距离构建,所述基本分段间隔距离按实际需求确定,并根据结构物类型进一步细分。
在一个具体的实施案例中优选的,在步骤S1中,所述线路分页分层模型的构建采用渲染线程、工作线程和后台线程协同作业;
所述渲染线程用于场景模型的实时渲染;
所述工作线程用于计算建模数据、响应用户所有的命令和执行线路分层模型中其中一层模型的创建和更新任务;
所述后台线程用于在创建和修改模型时辅助工作线程构建模型。
在一个具体的实施案例中优选的,在步骤S1中,所述线路分页分层模型的构建分为建模数据计算阶段、多线程快速建模阶段、后台辅助建模阶段和正常工作阶段;
在建模数据计算阶段中,工作线程开始工作;
在多线程快速建模阶段中,工作线程构建粗糙的模型,同时后台线程辅助构建精细的模型;
在后台辅助建模阶段中,渲染线程开始进行场景渲染,此时后台线程同步完成构建精细的模型;
在正常工作阶段中,渲染线程继续进行渲染任务,工作线程等待响应其他指令,后台线程闲置。
在一个具体的实施案例中优选的,在步骤S1中,所述细节层次编码包括线路线形设计层级、结构物初步设计层级和结构物细节布局层级,基于所述线路线形设计层级、结构物初步设计层级和结构物细节布局层级构建三种不同细节层次的线路分页模型,得到线路分页分层模型。
在一个具体的实施案例中优选的,在步骤S2中,预测步长采用所有线路分页模型的实际分段间隔距离平均值,表达式如下:
;
其中,表示预测步长;表示第页分页模型的实际分段间隔距离;表示线路分页模型的总个数。
在一个具体的实施案例中优选的,在步骤S2中,页码预测的具体流程如下:
第一步,获取前一帧视点的坐标和当前帧视点的坐标;
第二步,采用埃尔米特算法构建视点运动轨迹函数,进行下一帧视点的预测;
设;
为使是一个次数小于等于3的多项式,且满足插值条件:
;
令基函数都是次数不超过3的多项式,且满足如下条件:
;
设,计算得到:
;
;
;
设,计算得到:
;
;
综上,预测下一帧视点投影坐标的埃尔米特多项式如下:
;
则下一帧视点的平面投影坐标可以表示为:
;
将投影至线路中心线得到视点的视点相关里程,再将当前帧视点的平面投影坐标投影至线路中心线,得到视点的视点相关里程,完成线路分页分层模型的页码预测。
在一个具体的实施案例中优选的,在步骤S2中,层级预测的具体流程如下:
第一步,获取前一帧视点的视距和当前帧视点的视距;
第二步,根据埃尔米特算法构建视点视距函数;
设,基函数确定方法与页码预测相同,视点相关里程的埃尔米特多项式如下:
;
根据视点的视点相关里程,计算下一帧视点与目标模型的距离,表达式如下:
;
第三步:将与每层线路结构物细节层次模型的可见视点距离作比较,得到预测模型细节层级,完成线路分页分层模型的层级预测。
在一个具体的实施案例中优选的,在步骤S3中,最小影响域范围基于线路分页模型的页码确定。
在一个具体的实施案例中优选的,在步骤S3中,多线程动态更新包括线路示意模型更新和线路精细模型更新,所述线路示意模型更新为工作线程对线路线形设计层级和结构物初步设计层级的线路分页模型进行动态更新,所述线路精细模型更新为后台线程对结构物细节布局层级的线路分页模型进行动态更新。
应用本发明的技术方案,具有以下有益效果:
(1)本发明方法通过细节层次编码表达“分页分层”概念,该方法在准确划分三维模型段落的同时,保证了不同类型结构物模型之间的相对独立性和单个结构物模型的完整性。另外,考虑到线路分页分层模型的复杂性,本发明方法采用多线程技术实现线路分页分层模型的快速构建,有效解决传统矩形分块方法导致线路三维模型支离破碎、难以依据里程定位等问题,并且多线程建模比传统串行建模方式效率高,适用性强。
(2)本发明方法公开了一种线路分页分层模型的动态调度方法,基于埃尔米特插值法预测的视点轨迹位置,计算视点相关里程和视距,最终预测出预加载线路分页分层模型的预加载页码范围和细节层级,对线路分页分层模型进行预加载,并及时剔除过期数据,节省了计算机内存,提高了三维场景渲染效率,使得线路浏览时更加流畅。
(3)本发明针对线路三维可视化领域,考虑到线路设计中修改线位时的实时可视化需求,并且传统基于里程的最小影响域更新方法不适用于组织分页分层模型,故在既有基于里程的最小影响域更新方法上进行改进,将最小影响域范围对应到分页分层模型的预加载页码范围,并协同多个线程对该段预加载页码范围内的模型进行动态更新,这种方法更加适用于长大精细的线路模型的流畅更新,克服了传统更新方法整体重构模型计算量大、易卡顿的弊端,提高了线路修改时的实时可视化效率。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明优选实施例中视相关多线程动态更新方法的步骤流程图;
图2是本发明优选实施例中基于里程分页的模型示意图;
图3是本发明优选实施例中路基的线路分页模型示意图;
图4是本发明优选实施例中路基-隧道交界段的线路分页模型示意图;
图5是本发明优选实施例中线路线形设计层级的线路模型示意图;
图6是本发明优选实施例中结构物初步设计层级的线路模型示意图;
图7是本发明优选实施例中图6的线框图;
图8是本发明优选实施例中结构物细节布局层级的线路模型示意图;
图9是本发明优选实施例中图8的线框图;
图10是本发明优选实施例中多线程构建线路分页分层模型的流程示意图;
图11是本发明优选实施例中基于页码的最小影响域范围示意图;
图12是本发明优选实施例中线路示意模型更新和线路精细模型更新的步骤流程图;
图13是本发明优选实施例中不同层级模型细节对比的示意图;
图14是本发明优选实施例中高速公路线路K的平面示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:
请参考图1,本实施例公开了一种基于线路分页分层模型的视相关多线程动态更新方法,包括如下步骤:
步骤S1:构建线路分页分层模型,具体是,构建线路分页模型,所述线路分页模型包括基于里程构建单一结构物路段(本实施例中的单一结构物包括桥梁、路基和隧道)和不同结构物交界段(本实施例中的交界段包括路基-桥梁、路基-隧道和桥梁-隧道),所述单一结构物路段为结构物类型一致的路段,所述不同结构物交界段为不同结构物交界的路段;建立细节层次编码,基于细节层次编码(LOD编码)将线路分页模型划分不同细节层次,得到线路分页分层模型。
具体的,所述线路分页模型通过每一页模型的起始里程、终止里程和基本分段间隔距离构建,所述基本分段间隔距离根据实际需求确定(在本实施例中,所述实际需求指的是铁路类型,比如高铁的基本分段间隔距离较长,一般为4-5km,快速铁路基本分段间距取2-3km,普速铁路基本分段间距取1-2km),然后基于结构物类型进一步细分。线路分页模型的具体计算方式如下:
假设线路起点的连续里程为,终点的连续里程为,每隔一段距离就对线路模型进行分页。如图2所示,其中,距离被称为基本分段间隔距离,可根据线路模型的实际情况选定。
(1)单一结构物路段:
以路基为例,线路分页模型示意图如图3所示:由于结构物的类型一致,无需进一步划分,上一页的终止里程即为下一页的起始里程。直接根据基本分段距离对三维结构模型进行初步分段。
(2)不同结构物交界段:
当不同结构物的相连时,为了尽可能保证结构物模型路基、桥梁、隧道的完整和相对独立,考虑到线路结构物模型呈带状分布,设不同种类的结构物交界里程为,以路基-桥梁交界段为例,如图4所示,上一页的终止里程即为下一页的起始里程,则第页模型的起始里程和终止里程可通过下式计算:
;
;
此时,路基、桥梁、隧道的交界段模型的实际分段间隔距离,即该页的终止里程和起始里程之差,可通过下式计算:
;
本实施例中的步骤S1可将整体线路模型和结构物模型全部拆解,建立了由路基、桥梁、隧道等结构物组成的独立且完整的线路分页模型。
进一步地,如表1所示,本实施例中的细节层次编码包括线路线形设计层级、结构物初步设计层级和结构物细节布局层级,基于所述线路线形设计层级、结构物初步设计层级和结构物细节布局层级构建三种不同细节层次的线路分页模型,得到线路分页分层模型。
表1细节层次编码表
需要说明的是,细节层级1(编码:1000000000000)表示线路线形设计层级,线路模型此时为一根三维空间线,如图5所示,方便修改线形,降低计算机内存占用和显卡消耗。
细节层级2(编码:1110101000000)表示结构物初步设计层级,如图6和图7所示,以路基为例,该细节层级模型表达了各线路结构物的空间位置和边界信息,隐藏了栏杆、路灯、灌木、隧道内饰等当前设计阶段并不关注的细节。
细节层级3(编码:1111111111111)表示结构物细节布局层级,如图8和图9所示,细节层级3增加了更多模型细节,例如隧道风机、衬砌、灯带,路面防撞栏等,使线路结构物模型更加丰富。
进一步地,如图10所示,在步骤S1中,所述线路分页分层模型的构建采用渲染线程、工作线程和后台线程协同作业;
所述渲染线程用于场景模型的实时渲染;
所述工作线程用于计算建模数据、响应用户所有的命令和执行线路分层模型中其中一层模型的创建和更新任务;
所述后台线程用于在创建和修改模型时辅助工作线程构建细节层级大于2的模型。
具体的,在步骤S1中,所述线路分页分层模型的构建分为建模数据计算阶段、多线程快速建模阶段、后台辅助建模阶段和正常工作阶段;
在建模数据计算阶段中,工作线程开始工作;
在多线程快速建模阶段中,工作线程构建粗糙的模型,同时后台线程辅助构建精细的模型;
在后台辅助建模阶段中,渲染线程开始进行场景渲染,此时后台线程同步完成构建精细的模型;
在正常工作阶段中,渲染线程继续进行渲染任务,工作线程等待响应其他指令,后台线程闲置。
步骤S2:预测视点运动轨迹,具体是,选取预测步长并进行页码预测和层级预测;预测步长采用所有线路分页模型的实际分段间隔距离的平均值,表达式如下:
;
其中,表示预测步长;表示第页分页模型的实际分段间隔距离;表示线路分页模型的总个数。
页码预测:通过前一帧视点和当前帧视点的坐标获取视点相关里程,结合埃尔米特算法预测下一帧视点的坐标,并获取视点相关里程,定位线路分页模型的预加载页码范围;页码预测的具体流程如下:
第一步,获取前一帧视点的坐标和当前帧视点的坐标;
第二步,采用埃尔米特算法构建视点运动轨迹函数,进行下一帧视点的预测;
设;
为使是一个次数小于等于3的多项式,且满足插值条件:
;
令基函数都是次数不超过3的多项式,且满足如下条件:
;
设,计算得到:
;
;
;
设,计算得到:
;
;
综上,预测下一帧视点投影坐标的埃尔米特多项式如下:
;
则下一帧视点的平面投影坐标可以表示为:
;
将投影至线路中心线得到视点的视点相关里程,再将当前帧视点的平面投影坐标投影至线路中心线,得到视点的视点相关里程,完成线路分页分层模型的页码预测。
层级预测:通过前一帧视点和当前帧视点距离目标模型的视距,结合埃尔米特算法得到下一帧视点距目标模型的视距,然后将下一帧视点距目标模型的视距与每层线路结构物细节层次模型的可见视点距离作比较,得到预测模型细节层级。层级预测的具体流程如下:
第一步,获取前一帧视点的视距和当前帧视点的视距;
第二步,根据埃尔米特算法构建视点视距函数;
设,基函数确定方法与页码预测相同,视点相关里程的埃尔米特多项式如下:
;
根据视点的视点相关里程,计算下一帧视点与目标模型的距离,表达式如下:
;
第三步:将与每层线路结构物细节层次模型的可见视点距离作比较,得到预测模型细节层级,完成线路分页分层模型的层级预测。
步骤S3:线路分页分层模型视相关多线程动态更新,具体是,动态调度模型数据,此时依次进行帧后处理、帧前处理和合并渲染,实现对线路分页分层模型的三维可视化浏览;对线路分页分层模型进行线路位置的修改时,此时确定基于页的最小影响域范围,然后多线程动态更新最小影响域范围内的线路分页分层模型;如图11所示,本实施例中的最小影响域范围基于线路分页模型的页码确定。
帧后处理:卸载过期数据,基于步骤S2的视点运动轨迹,确定线路分页分层模型的预加载数据;需要说明的是,所述过期数据表示处在视锥体可视范围之外且一段时间内不会再次出现在可视域内的、从渲染队列中被剔除且不存在于系统运行内存中的模型数据。
帧前处理:基于步骤S2的预加载页码范围和预测模型细节层级,对预加载数据进行预编译;需要说明的是,所述预加载数据表示通过步骤S2预测的视点运动轨迹得到的模型数据,预加载数据还未正式加入渲染队列,但是基于步骤S2预测的视点运动轨迹可以确定其可能出现在潜在视域内。所述预加载数据经过实时渲染后变化为渲染数据,被剔除出场景的渲染数据则会变为过期数据,所述渲染数据表示处在视锥体可视范围内、正在被实时渲染的模型数据。
进一步地,多线程动态更新包括线路示意模型更新和线路精细模型更新,所述线路示意模型更新为工作线程对线路线形设计层级和结构物初步设计层级的线路分页模型进行动态更新,所述线路精细模型更新为后台线程对结构物细节布局层级的线路分页模型进行动态更新。
具体的,本实施例在现有的基于里程的最小影响域范围确定方法上进行改进,将对线路模型的定位改进为线路分页模型的页码,以便对线路分页模型进行更新。首先确定最小影响域的范围为至,如图12所示,动态更新的具体方式如下:
设细节层级数为,当前更新模型的页码为,模型细节层次总数。
(1)线路示意模型更新的步骤逻辑说明:初始化,;
第一步:获取第页模型的起始里程和终止里程,重构到内的分页模型;
第二步:,重复第一步,直到,进入第三步。
第三步:,重复第一步和第二步,直到,完成线路示意模型更新。
此时完成了细节层级1和细节层级2在最小影响域至范围内的线路示意模型的更新。
(2)线路精细模型更新的步骤逻辑说明:初始化,;
第一步:获取第页模型的起始里程和终止里程,第层和第层的编码分别为和。通过比较编码的区别,即可在第层第页模型的基础上,补充第层第页模型增加的细节,组成新的模型。具体如图13所示。
第二步:,重复第一步,直到,进入第三步。
第三步:,重复第一步和第二步,直到,完成线路精细模型更新。
合并渲染:将编译完成的数据加载至内存,完成场景的实时渲染,实现模型动态更新。
应用本实施例方法对某条高速公路线路进行基于线路分页分层模型的视相关多线程动态更新,具体过程如下:
所述高速公路线路起点与终点的直线航空距离约为58.13km,规划设计里程约为65km,其中隧道和大中桥各有5座。线路沿线地形条件复杂,高差悬殊,途径城镇,穿越河流、丘陵、山地、平原等多种地物地貌,图14为高速公路线路平面图。
(1)模型数据磁盘空间占用。
根据本实施例中步骤S1构建了测试高速公路线路的线路分页分层模型,并将其保存到了计算机磁盘中,如表2所示,统计了不同细节层级线路分页模型的计算机磁盘占用和模型调度刷新的帧率。
表2线路分页分层模型磁盘占用及场景刷新帧速率
此外,程序中除了加载所构建的线路分页分层模型,还需要加载地形geotiff文件和正射卫星影像图构建出研究区域内的地形模型,地形文件和影像图的计算机磁盘占用分别为0.47MB和499MB。
(2)程序运行内存空间占用。
在研究区域内拖动、旋转模型,同时任意选取三个角度改变视距。通过上述操作诱发程序对模型数据进行动态更新,分别记录两种模型调度方式调度模型数据时计算机运行内存的占用大小和场景渲染刷新的帧率,如表3所示:
表3不同视点下程序运行内存占用统计及模型刷新帧率
由表3可知:采用相同的视点位置和相同的视距观察模型,整体调度模型对程序运行内存的占用远远高于分页分层动态更新方法对运行内存的占用。因此,采用模型整体调度往往会导致程序卡顿,对于大规模的线路结构物模型来说,卡顿会更加明显,甚至可能出现软件崩溃、闪退的情况。
此外,就场景渲染刷新的帧速率来说,采用分页调度的帧率相对稳定流畅,不论调度何种细节层级的线路分页模型,帧率始终稳定在60fps左右;而采用整体调度的程序在调度细节层级2的线路模型时,帧率发生了断崖式下滑,卡顿异常,调度细节层级3的线路分页模型时,已无法正常调度线路模型,长时间卡在同一帧,甚至难以实现线路模型的正常渲染。
综上,本实施例所提线路分页分层模型视相关动态更新方法可以在流畅调度线路的模型的前提下,有效控制运行内存,保证道路线路三维设计系统的实用性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于线路分页分层模型的视相关多线程动态更新方法,其特征在于,包括如下步骤:
步骤S1:构建线路分页分层模型,具体是,多线程构建线路分页模型,所述线路分页模型包括基于里程构建单一结构物路段和不同结构物交界段,所述单一结构物路段为结构物类型一致的路段,所述不同结构物交界段为不同结构物交界的路段;建立细节层次编码,基于细节层次编码将线路分页模型划分不同细节层次,得到线路分页分层模型;
步骤S2:预测视点运动轨迹,具体是,选取预测步长并进行页码预测和层级预测;
页码预测:通过前一帧视点和当前帧视点的坐标获取视点相关里程,结合埃尔米特算法预测下一帧视点的坐标,进而获取视点相关里程,定位线路分页模型的预加载页码范围;
层级预测:通过前一帧视点和当前帧视点距离目标模型的视距,结合埃尔米特算法得到下一帧视点距目标模型的视距,然后将下一帧视点距目标模型的视距与每层线路结构物细节层次模型的可见视点距离作比较,得到预测模型细节层级;
步骤S3:线路分页分层模型视相关多线程动态更新,具体是,动态调度模型数据,此时依次进行帧后处理、帧前处理和合并渲染,实现对线路分页分层模型的三维可视化浏览;当对线路分页分层模型进行修改时,确定基于页的最小影响域范围,多线程动态更新最小影响域范围内的线路分页分层模型;
帧后处理:卸载过期数据,基于步骤S2的视点运动轨迹,确定线路分页分层模型的预加载数据;
帧前处理:基于步骤S2的预加载页码范围和预测模型细节层级,对预加载数据进行预编译;
合并渲染:将编译完成的数据加载至内存,完成场景的实时渲染,实现模型动态更新。
2.根据权利要求1所述的视相关多线程动态更新方法,其特征在于,在步骤S1中,所述线路分页模型通过每一页模型的起始里程、终止里程和基本分段间隔距离构建,所述基本分段间隔距离按实际需求确定,并根据结构物类型进一步细分。
3.根据权利要求2所述的视相关多线程动态更新方法,其特征在于,在步骤S1中,所述线路分页分层模型的构建采用渲染线程、工作线程和后台线程协同作业;
所述渲染线程用于场景模型的实时渲染;
所述工作线程用于计算建模数据、响应用户所有的命令和执行线路分层模型中其中一层模型的创建和更新任务;
所述后台线程用于在创建和修改模型时辅助工作线程构建模型。
4.根据权利要求3所述的视相关多线程动态更新方法,其特征在于,在步骤S1中,所述线路分页分层模型的构建分为建模数据计算阶段、多线程快速建模阶段、后台辅助建模阶段和正常工作阶段;
在建模数据计算阶段中,工作线程开始工作;
在多线程快速建模阶段中,工作线程构建粗糙的模型,同时后台线程辅助构建精细的模型;
在后台辅助建模阶段中,渲染线程开始进行场景渲染,此时后台线程同步完成构建精细的模型;
在正常工作阶段中,渲染线程继续进行渲染任务,工作线程等待响应其他指令,后台线程闲置。
5.根据权利要求4所述的视相关多线程动态更新方法,其特征在于,在步骤S1中,所述细节层次编码包括线路线形设计层级、结构物初步设计层级和结构物细节布局层级,基于所述线路线形设计层级、结构物初步设计层级和结构物细节布局层级构建三种不同细节层次的线路分页模型,得到线路分页分层模型。
6.根据权利要求5所述的视相关多线程动态更新方法,其特征在于,在步骤S2中,预测步长采用所有线路分页模型的实际分段间隔距离平均值,表达式如下:
;
其中,表示预测步长;表示第页分页模型的实际分段间隔距离;表示线路分页模型的总个数。
7.根据权利要求6所述的视相关多线程动态更新方法,其特征在于,在步骤S2中,页码预测的具体流程如下:
第一步,获取前一帧视点的坐标和当前帧视点的坐标;
第二步,采用埃尔米特算法构建视点运动轨迹函数,进行下一帧视点的预测;
设;
为使是一个次数小于等于3的多项式,且满足插值条件:
;
令基函数都是次数不超过3的多项式,且满足如下条件:
;
设,计算得到:
;
;
;
设,计算得到:
;
;
综上,预测下一帧视点投影坐标的埃尔米特多项式如下:
;
则下一帧视点的平面投影坐标可以表示为:
;
将投影至线路中心线得到视点的视点相关里程,再将当前帧视点的平面投影坐标投影至线路中心线,得到视点的视点相关里程,完成线路分页分层模型的页码预测。
8.根据权利要求7所述的视相关多线程动态更新方法,其特征在于,在步骤S2中,层级预测的具体流程如下:
第一步,获取前一帧视点的视距和当前帧视点的视距;
第二步,根据埃尔米特算法构建视点视距函数;
设,基函数确定方法与页码预测相同,视点相关里程的埃尔米特多项式如下:
;
根据视点的视点相关里程,计算下一帧视点与目标模型的距离,表达式如下:
;
第三步:将与每层线路结构物细节层次模型的可见视点距离作比较,得到预测模型细节层级,完成线路分页分层模型的层级预测。
9.根据权利要求8所述的视相关多线程动态更新方法,其特征在于,在步骤S3中,最小影响域范围基于线路分页模型的页码确定。
10.根据权利要求9所述的视相关多线程动态更新方法,其特征在于,在步骤S3中,多线程动态更新包括线路示意模型更新和线路精细模型更新,所述线路示意模型更新为工作线程对线路线形设计层级和结构物初步设计层级的线路分页模型进行动态更新,所述线路精细模型更新为后台线程对结构物细节布局层级的线路分页模型进行动态更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410050029.4A CN117576293B (zh) | 2024-01-15 | 2024-01-15 | 一种基于线路分页分层模型的视相关多线程动态更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410050029.4A CN117576293B (zh) | 2024-01-15 | 2024-01-15 | 一种基于线路分页分层模型的视相关多线程动态更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117576293A true CN117576293A (zh) | 2024-02-20 |
CN117576293B CN117576293B (zh) | 2024-04-09 |
Family
ID=89888421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410050029.4A Active CN117576293B (zh) | 2024-01-15 | 2024-01-15 | 一种基于线路分页分层模型的视相关多线程动态更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117576293B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118037924A (zh) * | 2024-04-10 | 2024-05-14 | 深圳市其域创新科技有限公司 | 基于高斯点云的渲染方法、装置、计算机设备和存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1498389A (zh) * | 2000-11-25 | 2004-05-19 | ��������³���о�����˾ | 方向传感设备 |
US20060053163A1 (en) * | 2004-09-03 | 2006-03-09 | International Business Machines Corporation | Hierarchical space partitioning for scalable data dissemination in large-scale distributed interactive applications |
US7859548B1 (en) * | 2006-10-19 | 2010-12-28 | Nvidia Corporation | Offloading cube map calculations to a shader |
CN102289464A (zh) * | 2011-07-18 | 2011-12-21 | 南京师范大学 | 一种矢量数据空间特征的编码方法 |
US20150170395A1 (en) * | 2013-01-31 | 2015-06-18 | Google Inc. | Computing devices and methods for navigating around a surface of three-dimensional (3d) coordinate system representations of 3d objects |
US20160086391A1 (en) * | 2012-03-14 | 2016-03-24 | Autoconnect Holdings Llc | Fleetwide vehicle telematics systems and methods |
US20170364485A1 (en) * | 2015-07-01 | 2017-12-21 | Tnq Books And Journals Private Limited | Transformation Of Marked-Up Content Into A File Format That Enables Automated Browser Based Pagination |
US20180068590A1 (en) * | 2016-09-06 | 2018-03-08 | Eidgenoessische Technische Hochschulezurich (Ethz) | Ray-tracing Methods for Realistic Interactive Ultrasound Simulation |
CN112419498A (zh) * | 2020-11-14 | 2021-02-26 | 中国科学院电子学研究所苏州研究院 | 一种海量倾斜摄影数据的调度渲染方法 |
EP3926302A1 (en) * | 2020-06-18 | 2021-12-22 | Dr. Ing. h.c. F. Porsche AG | Method and apparatus for planning a return trip between a given starting point and a given destination |
CN114266097A (zh) * | 2021-12-24 | 2022-04-01 | 石家庄铁道大学 | 用于铁路道岔的三维信息化模型设计方法及设备 |
CN114549717A (zh) * | 2022-01-22 | 2022-05-27 | 中南大学 | 一种铁路线路三维快速建模与动态更新方法 |
JP2023004495A (ja) * | 2021-06-26 | 2023-01-17 | 広海 大谷 | インターネットを介したビジネスモデルの考案とセキュリティの強化方法の発明 |
WO2023124842A1 (zh) * | 2021-12-27 | 2023-07-06 | 奥格科技股份有限公司 | 基于lod的bim模型轻量化构建与显示方法 |
-
2024
- 2024-01-15 CN CN202410050029.4A patent/CN117576293B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1498389A (zh) * | 2000-11-25 | 2004-05-19 | ��������³���о�����˾ | 方向传感设备 |
US20060053163A1 (en) * | 2004-09-03 | 2006-03-09 | International Business Machines Corporation | Hierarchical space partitioning for scalable data dissemination in large-scale distributed interactive applications |
US7859548B1 (en) * | 2006-10-19 | 2010-12-28 | Nvidia Corporation | Offloading cube map calculations to a shader |
CN102289464A (zh) * | 2011-07-18 | 2011-12-21 | 南京师范大学 | 一种矢量数据空间特征的编码方法 |
US20160086391A1 (en) * | 2012-03-14 | 2016-03-24 | Autoconnect Holdings Llc | Fleetwide vehicle telematics systems and methods |
US20150170395A1 (en) * | 2013-01-31 | 2015-06-18 | Google Inc. | Computing devices and methods for navigating around a surface of three-dimensional (3d) coordinate system representations of 3d objects |
US20170364485A1 (en) * | 2015-07-01 | 2017-12-21 | Tnq Books And Journals Private Limited | Transformation Of Marked-Up Content Into A File Format That Enables Automated Browser Based Pagination |
US20180068590A1 (en) * | 2016-09-06 | 2018-03-08 | Eidgenoessische Technische Hochschulezurich (Ethz) | Ray-tracing Methods for Realistic Interactive Ultrasound Simulation |
EP3926302A1 (en) * | 2020-06-18 | 2021-12-22 | Dr. Ing. h.c. F. Porsche AG | Method and apparatus for planning a return trip between a given starting point and a given destination |
CN112419498A (zh) * | 2020-11-14 | 2021-02-26 | 中国科学院电子学研究所苏州研究院 | 一种海量倾斜摄影数据的调度渲染方法 |
JP2023004495A (ja) * | 2021-06-26 | 2023-01-17 | 広海 大谷 | インターネットを介したビジネスモデルの考案とセキュリティの強化方法の発明 |
CN114266097A (zh) * | 2021-12-24 | 2022-04-01 | 石家庄铁道大学 | 用于铁路道岔的三维信息化模型设计方法及设备 |
WO2023124842A1 (zh) * | 2021-12-27 | 2023-07-06 | 奥格科技股份有限公司 | 基于lod的bim模型轻量化构建与显示方法 |
CN114549717A (zh) * | 2022-01-22 | 2022-05-27 | 中南大学 | 一种铁路线路三维快速建模与动态更新方法 |
Non-Patent Citations (7)
Title |
---|
BO LI: "3D Fully Convolutional Network for Vehicle Detection in Point Cloud", ARXIV, 31 December 2017 (2017-12-31) * |
JAN U等: "Unbiased Gradient Estimation for Differentiable Surface Splattering via Poisson Sampling", SPRINGER LINK, 31 December 2022 (2022-12-31) * |
仇林遥;杜志强;谢金华;邱振戈;许伟平;张叶廷;: "大文件高分辨率遥感影像的实时可视化方法", 武汉大学学报(信息科学版), no. 08, 25 July 2016 (2016-07-25) * |
温绍成 等: "铁路线路与地形三维模型实时动态融合方法研究", 铁道科学与工程学报, 25 July 2023 (2023-07-25) * |
王廷银;林明贵;陈达;吴允平;: "基于北斗RDSS的核辐射监测应急通讯方法", 计算机系统应用, no. 12, 15 December 2019 (2019-12-15) * |
蒲浩;罗诗潇;李伟;罗宏伟;: "基于OSG的铁路站场三维场景层次细节建模研究", 铁道工程学报, no. 03, 15 March 2017 (2017-03-15) * |
邓世军;王永杰;窦华成;党增明;程良勇;: "数据分页技术的海量三维数据模型动态调度", 测绘科学, no. 04, 20 July 2013 (2013-07-20) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118037924A (zh) * | 2024-04-10 | 2024-05-14 | 深圳市其域创新科技有限公司 | 基于高斯点云的渲染方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117576293B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117576293B (zh) | 一种基于线路分页分层模型的视相关多线程动态更新方法 | |
CN111238497B (zh) | 一种高精度地图的构建方法及装置 | |
US9865085B1 (en) | Systems and methods for 3D modeling using skipping heuristics and fusing | |
US8725466B2 (en) | System and method for hybrid solid and surface modeling for computer-aided design environments | |
CN102265309B (zh) | 基于图块的3d计算机图形系统中的显示列表控制流分组 | |
CN106991639B (zh) | 用于记录对象的多分辨率图像系统的系统、介质、方法 | |
CN102663800A (zh) | 一种顾及城市意象的城市建筑综合与渲染的方法 | |
CN107918957B (zh) | 一种保持结构和纹理特征的三维建筑模型化简方法 | |
CN105184837A (zh) | 一种矢量多边形栅格化的算法及系统 | |
CN104050708A (zh) | 一种3d游戏引擎lod系统的实现方法 | |
CN102142152B (zh) | 用于在计算机屏幕上显示对象的方法、装置和程序 | |
Vaaraniemi et al. | High-quality cartographic roads on high-resolution DEMs | |
CN116036604B (zh) | 数据处理方法、装置、计算机及可读存储介质 | |
US9250093B2 (en) | Navigation device, method of predicting a visibility of a triangular face in an electronic map view, and method for generating a database | |
CN104217580B (zh) | 面向车辆群组动画的路网语义建模方法及系统 | |
CN107679150A (zh) | 海量三维数据快速调度方法 | |
Trapp et al. | Interactive Rendering and Stylization of Transportation Networks using Distance Fields. | |
CN115937352B (zh) | 矿山场景仿真方法、系统、电子设备及存储介质 | |
Li et al. | A fast fusion method for multi-videos with three-dimensional GIS scenes | |
Li | Real-world large-scale terrain model reconstruction and real-time rendering | |
US20130027385A1 (en) | Semantic-driven profile curve interpolation for swept-surface extrusion | |
CN113591208A (zh) | 一种基于舰船特征提取的超大模型轻量化方法及电子设备 | |
KR101857592B1 (ko) | 캐시를 가지고 절차 이미지를 생성하기 위한 장치 및 방법 | |
CN108335357A (zh) | 一种显示三维重建场景纹理的方法 | |
Xuexian et al. | High-performance navigation and rendering of very-large scale landscape and seascape |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |