CN103218840A - 基于纹理映射技术的视景仿真系统矢量数据动态绘制方法 - Google Patents

基于纹理映射技术的视景仿真系统矢量数据动态绘制方法 Download PDF

Info

Publication number
CN103218840A
CN103218840A CN2012105365050A CN201210536505A CN103218840A CN 103218840 A CN103218840 A CN 103218840A CN 2012105365050 A CN2012105365050 A CN 2012105365050A CN 201210536505 A CN201210536505 A CN 201210536505A CN 103218840 A CN103218840 A CN 103218840A
Authority
CN
China
Prior art keywords
node
vector data
vector
data
overlay
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.)
Pending
Application number
CN2012105365050A
Other languages
English (en)
Inventor
杨方廷
刘玉明
宿春慧
韩哲
管文艳
曹伟伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CASIC SIMULATION TECHNOLOGY Co Ltd
Original Assignee
CASIC SIMULATION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CASIC SIMULATION TECHNOLOGY Co Ltd filed Critical CASIC SIMULATION TECHNOLOGY Co Ltd
Priority to CN2012105365050A priority Critical patent/CN103218840A/zh
Publication of CN103218840A publication Critical patent/CN103218840A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

本发明涉及一种基于纹理映射技术的视景仿真系统矢量数据动态绘制方法,其包括以下步骤:步骤一:初始化视景仿真系统场景图和矢量数据库,完成场景树构建;步骤二:创建并设置矢量数据矩阵节点的更新回调;步骤三:创建并链接与实物控制系统的串口数据通讯,实时接收控制数据,并通过步骤二创建的更新回调来控制矢量数据的动态绘制;步骤四:创建并设置覆盖节点,将步骤一创建的数据矩阵节点作为覆盖节点的覆盖场景图,设置覆盖节点的最低投影面高程,同时将步骤一创建的场景模型节点作为覆盖节点的子节点;步骤五:对包含矢量数据在内的所有场景进行实时渲染绘制。

Description

基于纹理映射技术的视景仿真系统矢量数据动态绘制方法
技术领域
本发明涉及虚拟现实技术应用领域,特别是涉及在视景仿真系统中实现矢量数据的动态更新和实时绘制的方法。 
背景技术
矢量数据在视景仿真系统中的动态绘制,可将代表诸如城市、界域、河流水系、道路、管网等内容的矢量数据动态映射到用于视景显示的三维场景模型中,实现矢量数据与三维场景模型的有机融合、动态绘制和实时显示,可广泛应用于以城市规划、水利规划、战场态势、通讯网络、水油气电管网等为代表的视景仿真系统中。 
长期以来,矢量数据在视景仿真系统中的应用主要采用1)利用专业建模工具将矢量数据生成三维场景模型和2)利用专业图形处理工具将矢量数据叠加在纹理上再生成三维场景模型等静态绘制方法。场景模型一旦生成将很难改变,无法实现矢量数据的动态加载和动态绘制,无法在视景仿真系统中动态呈现以点、线、面为主要特征的矢量数据。 
纹理映射技术是一种为了显示表面几何无法表示的细节特征,而逐点改变表面属性的方法,可以在大幅减少场景多边形数的同时丰富场景表现。图形工业标准OpenGL支持多重纹理映射,即在同一个几何体上映射和混合多个纹理图像,最多可支持8个映射通道。这项技术为视景仿真系统中矢量数据的动态绘制提供了技术基础。 
发明内容
本发明的目的是解决视景仿真系统中矢量数据的动态绘制问题,满足与实物沙盘、实物控制面板等控制系统的交互和实时动态控制。 
基于纹理映射技术实时将矢量数据所代表的点、线、面等信息通过正投影的方式叠加在三维场景模型中,可以有效实现代表不同含义的矢量数据在视景仿真系统中与三维场景模型进行有机融合,并能实时对矢量数据的数据源、颜色及状态进行改变和更新,从而实现对各种不同文化特征的矢量数据进行有效控制。 
本发明的目的可以通过以下技术方案实现。 
一种基于纹理映射技术的视景仿真系统矢量数据动态绘制方法,其包括以下步骤: 
步骤一:初始化视景仿真系统场景图和矢量数据库,创建和初始化用于矢量数据投影融合的场景模型节点,创建和初始化矢量数据节点及其矩阵节点,并将数据节点作为矩阵节点的子节点,完成场景树构建。 
其中,矢量数据以常见的*.shp格式为代表。 
步骤二:创建并设置矢量数据矩阵节点的更新回调,动态改变矢量数据的加载、释放、数据节点属性(如位置、状态、颜色、材质、光照等)的获取和设置。 
更新回调主要保证矢量数据按需动态加载、节点属性动态更新等。 
步骤三:创建并链接与实物控制系统(如实物沙盘、专用控制面板或控制系统等)的串口数据通讯,实时接收控制数据, 并通过步骤二创建的更新回调来控制矢量数据的动态绘制。 
步骤四:创建并设置覆盖节点,将步骤一创建的数据矩阵节点作为覆盖节点的覆盖场景图,设置覆盖节点的最低投影面高程,同时将步骤一创建的场景模型节点作为覆盖节点的子节点。 
步骤五:将覆盖节点作为子节点加入到场景树中,包含矢量数据在内的所有场景进行实时渲染绘制。 
需要注意的是,在本发明中,上述步骤一至五并非是严格按时间和/或先后顺序进行的,其中的不同步骤可以同时进行或者适当地调换顺序。 
本发明的优点在于通过将矢量数据以场景对象的方式动态加载到场景中,并使用多重纹理映射技术将矢量数据实时叠加在场景模型上,实现矢量数据在场景模型上的融合显示,并通过串口与实物控制系统进行数据通讯,进而控制视景仿真系统动态改变显示的矢量数据源、显示状态(如显示、隐藏、释放等)和显示属性(如颜色、材质、纹理、光照等)。相比于1)利用专业建模工具将矢量数据生成三维场景模型和2)利用专业图形处理工具将矢量数据叠加在纹理上再生成三维场景模型等静态绘制方法,该方法大幅度减少了场景多边形绘制数量和场景模型生成时间,解决了长期以来无法动态改变矢量数据的问题,提升了系统的实时性、可移植性和可扩展性。 
附图说明
图1为根据本发明的一个实施方式的视景仿真系统矢量数据动态绘制的应用场景图; 
图2为根据本发明的一个实施方式的视景仿真系统矢量数据动态绘制的流程图。 
图3为本发明的一个实施方式的视景仿真系统矢量数据动态绘制的各个节点间的关系图。 
具体实施方式
下面结合附图对本发明的具体实施方式作进一步详细的描述。 
本发明的一个实施方式的应用场景如图1所示。 
用户操作以实物沙盘、实物控制台等为代表的实物控制系统300,通过串口通讯向视景仿真系统200发送矢量数据显示或更新指令,视景仿真系统200收到相应指令后,利用每帧循环执行的矢量数据矩阵节点更新回调机制,实时、动态控制由江河湖泊、城市、线路、管网、道路、行政区域等多种表征不同内容的数据组成的矢量数据库100对相应源数据进行读取和属性更改,然后利用多重纹理映射技术自动的将更新后的的矢量数据叠加在三维场景中进行融合显示。 
图2和图3为本发明的一个实施方式的应用流程图和节点关系图,主要的工作包括: 
1、初始化场景图S100,初始化矢量数据列表S110 
场景图是一个以逻辑组织和空间表述图形化场景为目标进行三维虚拟场景组织和管理的数据结构,是一个有向无环图,它采用一种自顶而下的、分层的树状数据结构来组织空间数据集,以提升渲染的效率。场景树是场景图最常用的表示方式,是图形或树状结构中节点的集合。 
场景树结构的顶部是一个根节点,从根节点向下延伸,各 个组节点中均包含了几何信息和渲染状态信息。根节点和各个组节点都可以拥有零个或多个子成员。场景图的设置主要包括场景树的根节点、模型节点、矢量融合模型节点、矢量节点、覆盖节点、其它节点等节点的创建及其节点状态、所属关系等属性设置。系统中需要创建的节点及其描述如下表所示。 
创建的主要节点类型及其描述表 
Figure DEST_PATH_BSA00000822428600051
矢量数据主要支持*.shp文件格式。矢量数据的初始化主要通过列表的形式预先设置所有矢量数据的类型、存放路径或文件名、编码,以便在数据动态更新的时候读取。 
2、初始化与实物控制系统的串口通讯S200 
串口通讯是系统通过例如RS232协议与实物控制系统进行链接,实现交互控制。RS232串口通讯的定义、初始化及取数均按照标准的通讯协议编程开发。数据的编码、解码遵循例如如下格式: 
通讯标识符,矢量数据编码,显示状态,显示颜色,闪烁状态,闪烁频率 
各控制变量之间用标识符“,”隔开区分,各控制变量的定义如下: 
Figure DEST_PATH_GSB00001088588200061
通讯建立后,通过发送一系列状态字与矢量数据节点的更新回调建立联系,实时控制相关矢量数据的显示。 
3、设置矢量数据节点的更新回调S300 
矢量数据的更新回调每帧都执行,可以根据接收到的控制指令实时对矢量数据的显示进行动态更新和控制。更新回调其 控制逻辑流程如下: 
接收并解析控制指令,若控制指令无效,直接返回,不执行遍历操作; 
若控制指令有效,遍历场景树,获取矢量数据节点的当前信息,包括矢量数据源编码、显示状态(隐藏、显示或释放)、颜色状态、闪烁状态(闪烁、无闪烁)和闪烁频率等信息; 
实时更改和设置矢量数据节点的显示属性; 
更新成功,返回。 
4、覆盖节点设置 
覆盖节点的定义和初始化是实现将矢量数据节点转化成纹理映射到场景模型进行融合显示的关键,其中最核心的一步是将矢量数据节点设置为覆盖节点的覆盖图。覆盖节点的设置主要包括如下几个步骤: 
创建覆盖节点; 
设置覆盖节点的覆盖方式,可以设置为基于视图的正投影、基于对象的正投影和基于视图的透视投影三种方式。其中基于对象的正投影是将对象正投到场景中,具有与视图的无关性; 
设置覆盖节点的持续更新; 
将矢量数据节点设置为覆盖节点的覆盖图; 
设置覆盖节点的投影高程,一般设置值小于矢量融合模型节点的最低点; 
将矢量融合模型节点以子节点的形式加入到覆盖节点中,并将覆盖节点加入场景树中。 
5、场景帧循环设置 
将场景树作为场景数据加入到视景仿真系统的视窗中,并设置观察相机和浏览操纵方式,每帧更新执行。一旦接收到来自控制系统的退出指令,系统退出。 
图2示出了本发明的一个实施方式的视景仿真系统矢量数据动态绘制的示例的流程图,其仅是示例性的,而非限制性的。 
在上述步骤一中,执行如下步骤:初始化场景图S100并初始化失量数据库100,从模型库400创建并初始化场景模型节点S120,创建失量数据节点S130及其矩陈节点S140,并且从失量数据库100初始化失量据列表S110。 
在上述步骤二中,执行步骤S300,即创建并设置矢量数据矩阵节点的更新回调,动态改变矢量数据的加载、释放、数据节点属性的获取和设置。 
在上述步骤三中,执行步骤S200,创建并链接与实物控制系统的串口数据通讯,实时接收控制数据,并通过步骤二创建的更新回调来控制矢量数据的动态绘制。具体地,若连接成功,则发出关于更新回调的控制指令S210;若连接失败,则进入步骤S180,等待通出指令并在退出后结束进程。 
在上述步骤四中,创建并设置覆盖节点S400,将步骤一创建的数据矩阵节点作为覆盖节点的覆盖场景图,同时将步骤一创建的场景模型节点作为覆盖节点的子节点,即设置场景数据S150并设置场景相机S160。 
在上述步骤五中,对包含矢量数据在内的所有场景进行实时渲染绘制,即执行步骤S170,随后进入步骤S180。 
上述步骤的顺序不是严格限制的,并且不是限制性的,而仅是示例性的。本领域的技术人员可以根据需要对其进行适当 的更改。 
上面参照附图说明了本发明的优选实施方式,但是,应当理解,上述说明仅是示例性的。本领域的技术人员可以在不脱离本发明的精神和范围的前提下,对本发明作出各种修改和变型。本发明的保护范围由所附的权利要求书限定。 

Claims (7)

1.一种基于纹理映射技术的视景仿真系统矢量数据动态绘制方法,其特征在于,所述方法包括以下步骤:
步骤一:初始化视景仿真系统场景图和矢量数据库,创建和初始化用于矢量数据投影融合的场景模型节点,创建和初始化矢量数据节点及其矩阵节点,并将数据节点作为矩阵节点的子节点完成场景树构建,
步骤二:创建并设置矢量数据矩阵节点的更新回调,动态改变矢量数据的加载、释放、数据节点属性的获取和设置,
步骤三:创建并链接与实物控制系统的串口数据通讯,实时接收控制数据,并通过步骤二创建的更新回调来控制矢量数据的动态绘制,
步骤四:创建并设置覆盖节点,将步骤一创建的数据矩阵节点作为覆盖节点的覆盖场景图,设置覆盖节点的最低投影面高程,同时将步骤一创建的场景模型节点作为覆盖节点的子节点,
步骤五:对包含矢量数据在内的所有场景进行实时渲染绘制。
2.根据权利要求1所述的方法,其特征在于,
失量数据的更新回调每帧都执行,根据接收到的控制指令实时对矢量数据的显示进行动态更新和控制。
3.根据权利要求2所述的方法,其特征在于,
更新回调的控制逻辑流程如下:
接收并解析控制指令,若控制指令无效,直接返回,不执行遍历操作;
若控制指令有效,遍历场景树,获取矢量数据节点的当前信息;
实时更改和设置矢量数据节点的显示属性;
更新成功,返回。
4.根据权利要求1所述的方法,其特征在于,
覆盖节点的设置主要包括如下几个步骤:
创建覆盖节点;
设置覆盖节点的覆盖方式;
设置覆盖节点的持续更新;
将矢量数据节点设置为覆盖节点的覆盖图;
设置覆盖节点的投影高程;
将矢量融合模型节点以子节点的形式加入到覆盖节点中,并将覆盖节点加入场景树中。
5.根据权利要求4所述的方法,其特征在于,
所述覆盖节点的覆盖方式被设置为基于视图的正投影、基于对象的正投影或基于视图的透视投影。
6.根据权利要求5所述的方法,其特征在于,
所述投影高程的设置值小于矢量融合模型节点的最低点。
7.根据权利要求1所述的方法,其特征在于,
所述数据节点属性包括位置、状态、颜色、材质、光照中的一种或几种。
CN2012105365050A 2012-12-13 2012-12-13 基于纹理映射技术的视景仿真系统矢量数据动态绘制方法 Pending CN103218840A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012105365050A CN103218840A (zh) 2012-12-13 2012-12-13 基于纹理映射技术的视景仿真系统矢量数据动态绘制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012105365050A CN103218840A (zh) 2012-12-13 2012-12-13 基于纹理映射技术的视景仿真系统矢量数据动态绘制方法

Publications (1)

Publication Number Publication Date
CN103218840A true CN103218840A (zh) 2013-07-24

Family

ID=48816583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012105365050A Pending CN103218840A (zh) 2012-12-13 2012-12-13 基于纹理映射技术的视景仿真系统矢量数据动态绘制方法

Country Status (1)

Country Link
CN (1) CN103218840A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105023287A (zh) * 2015-07-08 2015-11-04 西安电子科技大学 一种用于动态三维场景的激光雷达成像与着色方法
CN107564087A (zh) * 2017-09-11 2018-01-09 南京大学 一种基于屏幕的三维线状符号渲染方法
CN109215432A (zh) * 2018-11-21 2019-01-15 华电江苏能源有限公司句容发电分公司 一种基于vr虚拟技术的电厂操作培训系统
CN109947561A (zh) * 2019-03-01 2019-06-28 腾讯科技(深圳)有限公司 一种虚拟场景处理方法、装置及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105023287A (zh) * 2015-07-08 2015-11-04 西安电子科技大学 一种用于动态三维场景的激光雷达成像与着色方法
CN105023287B (zh) * 2015-07-08 2018-04-17 西安电子科技大学 一种用于动态三维场景的激光雷达成像与着色方法
CN107564087A (zh) * 2017-09-11 2018-01-09 南京大学 一种基于屏幕的三维线状符号渲染方法
CN107564087B (zh) * 2017-09-11 2019-08-06 南京大学 一种基于屏幕的三维线状符号渲染方法
CN109215432A (zh) * 2018-11-21 2019-01-15 华电江苏能源有限公司句容发电分公司 一种基于vr虚拟技术的电厂操作培训系统
CN109947561A (zh) * 2019-03-01 2019-06-28 腾讯科技(深圳)有限公司 一种虚拟场景处理方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN108074274A (zh) 基于浏览器的bim模型实时渲染方法及装置
CN102819855B (zh) 二维图像的生成方法及装置
NO20055872L (no) Fremgangsmate og system for manipulering av en digital fremstilling av en tredimensjonal gjenstand
CN102750419B (zh) 一种地铁综合管线辅助设计系统及设计方法
CN101477701A (zh) 面向AutoCAD和3DS MAX软件的植入式真三维立体渲染方法
CN104103091B (zh) 3d智能建模方法和系统及3d模型柔性制造系统
CN103218840A (zh) 基于纹理映射技术的视景仿真系统矢量数据动态绘制方法
CN110333924A (zh) 一种图像渐变调整方法、装置、设备及存储介质
WO2022030918A1 (ko) 모바일 기기에서의 대규모 건축물의 증강현실 구현을 위한 데이터 최적화 및 인터페이스 향상 방법
CN101521828B (zh) 面向esri三维gis模块的植入式真三维立体渲染方法
CN101540056B (zh) 面向ERDAS Virtual GIS的植入式真三维立体渲染方法
CN101488229A (zh) 面向pci三维分析模块的植入式真三维立体渲染方法
CN111744196B (zh) 一种游戏任务中的任务目标引导方法及装置
CN108549479A (zh) 多通道虚拟现实的实现方法及系统、电子设备
CN101488232B (zh) 面向C Tech软件的植入式真三维立体显示方法
CN101561935B (zh) 面向GoCAD软件的植入式三维立体显示方法
CN113313796A (zh) 场景生成方法、装置、计算机设备和存储介质
Steinicke et al. Urban city planning in semi-immersive virtual reality systems.
CN101482978B (zh) 面向envi/idl的植入式真三维立体渲染方法
CN101561936B (zh) 面向GeoGlobe的真三维立体显示方法
CN116452704A (zh) 镜头光晕特效的生成方法、装置、存储介质及电子装置
CN116492676A (zh) 屏幕显示效果的渲染方法、装置、存储介质和电子设备
CN103530083B (zh) 一种基于云计算的海量信息超级显示平台
CN117298571A (zh) 星球数据构建方法及装置
CN117745911A (zh) 一种矢量要素的处理方法、装置及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130724