公开/公告号CN113822997A
专利类型发明专利
公开/公告日2021-12-21
原文格式PDF
申请/专利权人 四川易利数字城市科技有限公司;
申请/专利号CN202111389533.X
申请日2021-11-23
分类号G06T17/05(20110101);G06T17/20(20060101);G06T19/20(20110101);
代理机构61271 西安正华恒远知识产权代理事务所(普通合伙);
代理人陈选中
地址 610037 四川省成都市青羊区金盾路52号23层C座
入库时间 2023-06-19 13:46:35
技术领域
本发明属于高程调整技术领域,尤其涉及一种使用位图信息进行高程调整的方法及系统。
背景技术
在三维场景中地形调整功能应用非常广泛,为了与真实的场景一致如进行道路建设模拟、房屋建设模拟都会涉及到地形整平与开挖。现有的三维地形模型高程调整方法一般有两种方式,第一种是人工处理,第二种通过范围动态改变模型顶点。
第一种人工处理工作量比较大,且每次进行修改后都需要更新模型,无法在程序中进行控制。
第二种通过范围动态改变模型顶点的方式,系统的计算量比较大,范围一多必然会造成整个系统无比的卡顿。
发明内容
针对现有技术中的上述不足,本发明提供的一种使用位图信息进行高程调整的方法及系统,解决了现有技术中性能低下,人工参与工作量大的问题,同时可以在程序中进行控制。
为了达到以上目的,本发明采用的技术方案为:
本方案提供一种使用位图信息进行高程调整的方法,包括以下步骤:
S1、确定生成地形数据的范围,并生成地形模型文件;
S2、根据所述地形模型文件,生成位图文件;
S3、利用顶点着色器对所述位图文件进行高程调整。
本发明的有益效果是:本发明基于生成的三维地形模型,并利用着色器进行高程调整,解决了现有技术中性能低下,人工参与工作量大的问题,同时可以在程序中进行控制,本发明可以大幅度的提高地形调整程序的性能,减少人力投入。
进一步地,所述步骤S1包括以下步骤:
S101、确定生成地形数据的范围,并设置地形的精度;
S102、根据所述地形数据的范围以及地形的精度,计算得到地形模型文件的横向点位与纵向点位;
所述横向点位的表达式如下:
pX=(endX-startX)/r
其中,pX表示横向点位,endX表示在经度上地形数据的最大值,startX表示在经度上地形数据的最小值,r表示地形的精度;
所述纵向点位的表达式如下:
pY=(endY-startY)/r
其中,pY表示纵向点位,endY表示在纬度上地形数据的最大值,startY表示在纬度上地形数据的最小值;
S103、根据所述横向点位与纵向点位分别生成横向有pX个点、纵向有pY个点的二维坐标,并通过每个二维坐标的经纬度从实际的地形文件中提取地形高度,根据提取的地形高度以及每个二维坐标的经纬度得到三维坐标;
所述每个二维坐标的经纬度的表达式如下:
tX=startX + X
tY=startY + Y
其中,tX表示每个二维坐标的经度,tY表示每个二维坐标的纬度, X
S104、根据所述三维坐标,依次循环每个横向点位和纵向点位,并按照横向点位和纵向点位的顺序生成模型三角网;
S105、根据所述模型三角网,生成地形模型文件。
上述进一步方案的有益效果是:本发明利用地形数据,通过计算坐标提取高程点数据,生成地形模型,可运用程序自动完成减少人工制作模型的工作量。
再进一步地,所述步骤S2包括以下步骤:
S201、设修改高度坐标位置为cX、cY,修改高度为cZ;
S202、通过地形的精度确定位图文件的大小,并将位图文件的点位与地形模型文件的点位保持一致;
S203、根据所述修改高度坐标位置,计算需要修改的像素索引号位置;
S204、通过所述像素索引号位置将修改高度导入位图文件中,完成位图文件的生成。
上述进一步方案的有益效果是:本发明运用经纬度与位图文件坐标映射,并将高度信息存放到位图颜色信息中,方便后续着色器程序对数据的快速提取与转换,位图文件一次性加载到内存中,并分别渲染充分发挥着色器并行处理的特性。
再进一步地,所述步骤S203中修改的像素索引号位置的表达式如下:
c
c
其中,c
再进一步地,所述步骤S3包括以下步骤:
S301、利用顶点着色器获取位图文件原始顶点坐标;
S302、利用顶点着色器获取当前顶点位置的U值和V值,并根据所述U值和V值计算得到在位置文件中的索引号;
S303、根据所述索引号从位图文件中选取出对应的颜色值tR、tG、tB和tA;
S304、判断所述对应的颜色值tA的值是否为预设的阈值,若是,则结束流程,否则,进入步骤S305;
S305、根据所述对应的颜色值tR、tG和tB,计算得到调整的高度;
S306、根据所述调整的高度修改原始顶点坐标,完成对位图文件的高程调整。
再进一步地,所述步骤S302中所述索引号的表达式如下:
t
t
其中,t
再进一步地,所述步骤S305中计算得到调整的高度,其具体为:
若对应的颜色值tA为0,则调整高度的表达式如下:
tH = tR*256*256+ tG*256 + tB
若对应的颜色值tA为1,则调整高度的表达式如下:
tH = -(tR*256*256+ tG*256 + tB)
上述进一步方案的有益效果是:本发明运用位图文件存放,地形调整信息存放统一,减少数据存放记录数,该方式可实时调整地形模型高度。
基于上述方案,本发明还提供了一种使用位图信息进行高程调整的系统,包括:
地形模型文件生成模块,用于确定生成地形数据的范围,并生成地形模型文件;
位图文件生成模块,用于根据所述地形模型文件,生成位图文件;
高程调整模块,用于利用顶点着色器对所述位图文件进行高程调整。
本发明的有益效果是:本发明基于生成的三维地形模型,并利用着色器进行高程调整,解决了现有技术中性能低下,人工参与工作量大的问题,同时可以在程序中进行控制,本发明可以大幅度的提高地形调整程序的性能,减少人力投入。
本发明提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现所述的使用位图信息进行高程调整方法。
本发明提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行,以实现所述的使用位图信息进行高程调整方法。
附图说明
图1为本发明的方法流程图。
图2为本发明的系统结构示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
实施例1
如图1所示,本发明提供了一种使用位图信息进行高程调整的方法,其实现方法如下:
S1、确定生成地形数据的范围,并生成地形模型文件,其实现方法如下:
S101、确定生成地形数据的范围,并设置地形的精度;
本实施例中,首先确定要生成地形数据的范围,最小值为startX,startY, 最大值endX,endY,其中,X为经度,Y为纬度,再设地形的精度为r,即各地形点位之间的间隔长度,一般根据数据的不同,有10米、20米、30米等。
S102、根据所述地形数据的范围以及地形的精度,计算得到地形模型文件的横向点位与纵向点位:
横向点位的表达式如下:
pX=(endX-startX)/r
其中,pX表示横向点位,endX表示在经度上地形数据的最大值,startX表示在经度上地形数据的最小值,r表示地形的精度;
纵向点位的表达式如下:
pY=(endY-startY)/r
其中,pY表示纵向点位,endY表示在纬度上地形数据的最大值,startY表示在纬度上地形数据的最小值;
S103、根据所述横向点位与纵向点位分别生成横向有pX个点、纵向有pY个点的二维坐标,并通过每个二维坐标的经纬度从实际的地形文件中提取地形高度,根据提取的地形高度以及每个二维坐标的经纬度得到三维坐标;
本实施例中,分别生成横向有pX个点、纵向有pY 个点的坐标,每个坐标的经纬度确定,由如下公式得到,其中X
tX=startX + X
tY=startY + Y
其中,tX表示每个二维坐标的经度,tY表示每个二维坐标的纬度, X
S104、根据所述三维坐标,依次循环每个横向点位和纵向点位,并按照横向点位和纵向点位的顺序生成模型三角网;
S105、根据所述模型三角网,生成地形模型文件;
本实施例中,依次循环每个点位,按照点位顺序生成模型三角网,假设为生成的点位为sX,sY,生成将生成两个三角网分别为 ([sX,sY], [sX+1,sY],[sX,sY+1])、([sX+1,sY], [sX+1,sY+1],[sX,sY+1]),直到全部生成,地形模型文件生成完成。
S2、根据所述地形模型文件,生成位图文件,其实现方法如下:
S201、设修改高度坐标位置为cX、cY,修改高度为cZ;
S202、通过地形的精度确定位图文件的大小,并将位图文件的点位与地形模型文件的点位保持一致;
本实施例中,通过地形的精度为r,即位图上的一个像素代表r米,确定位图文件大小pX、pY,与地形文件的点位一致。
S203、根据所述修改高度坐标位置,计算需要修改的像素索引号位置:
c
c
其中,c
S204、通过所述像素索引号将修改高度导入位图文件中,完成位图文件的生成。
本实施例中,通过像素索引号c
S3、利用顶点着色器对所述位图文件进行高程调整;
本实施例中,本发明采用着色器方式进行执行的,着色器是三维渲染中的一个概念,着色器(Shader)是用来实现图像渲染的,用来替代固定渲染管线的可编辑程序。是通过显卡来运行的,运行效率非常高,着色器分为两个部分顶点着色器和片元着色器,本发明中只会使用到顶点着色器。顶点着色器分为输入和输出两部分,负责的功能是把输入的数据进行矩阵变换位置,并且把位置发给后续流程中,通过在该步骤中将顶点进行修改就可以实现地形调整的功能。位图图像(bitmap),亦称为点阵图像或栅格图像,是由称作像素(图片元素)的单个点组成的。UV坐标值,UV坐标是指所有的图像文件都是二维的一个平面。水平方向是U,垂直方向是V,通过这个平面的,二维的UV坐标系。主要用于标记图片位置。本发明运用顶点着色器使用位图信息进行高程调整,其实现方法如下:
S301、利用顶点着色器获取位图文件原始顶点坐标;
本实施例中,运行时顶点着色器会逐个顶点执行,可以拿到原始顶点的坐标(x,y,z)。
S302、利用顶点着色器获取当前顶点位置的U值和V值,并根据所述U值和V值计算得到在位置文件中的索引号;
S303、根据所述索引号从位图文件中选取出对应的颜色值tR、tG、tB和tA;
本实施例中,通过顶点着色器获取当前顶点位置的U值与V值,然后计算在位图中的索引号t
t
t
索引号ti、tj均为取整的结果,然后从位图中取出对应的颜色值为tR、tG、tB和tA。
S304、判断所述对应的颜色值tA的值是否为预设的阈值,若是,则结束流程,否则,进入步骤S305,本实施例中该阈值为3;
S305、根据所述对应的颜色值tR、tG和tB,计算得到调整的高度,
若对应的颜色值tA为0,则调整高度的表达式如下:
tH = tR*256*256+ tG*256 + tB
若对应的颜色值tA为1,则调整高度的表达式如下:
tH = -(tR*256*256+ tG*256 + tB);
S306、根据所述调整的高度修改原始顶点坐标,完成高程调整。
需要注意的是,本发明不仅限于地形模型,还可对不同类型的模型使用该方法进行高程调整。
实施例2
如图2所示,本发明提供了一种使用位图信息进行高程调整的系统包括:
地形模型文件生成模块,用于确定生成地形数据的范围,并生成地形模型文件;
位图文件生成模块,用于根据所述地形模型文件,生成位图文件;
高程调整模块,用于利用顶点着色器对所述位图文件进行高程调整。
如图2所示实施例提供的使用位图信息进行高程调整的系统可以执行上述方法实施例所示的技术方案,其实现原理与有益效果类似,此处不再赘述。
实施例3
本发明提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现实施例1中任一所述的使用位图信息进行高程调整的方法。
本实施例中,电子设备可以包括:处理器,存储器,总线和通信接口,处理器、通信接口和存储器通过总线连接,存储器中存储有可在处理器上运行的计算机程序,处理器运行该计算机程序时执行本申请前述实施例1所提供的使用位图信息进行高程调整的方法。
实施例4
本发明提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行,以实现实施例1所述的使用位图信息进行高程调整的方法。
上述计算机可读存储介质可以中由任何类型的易失性或非易失性存储设备或他们的组合实现,如静态随机存取存储器(SRAM),可擦除可维和只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘,可读存储介质可以是通用或专用计算机能够存取的任何可用介质。可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息,可读存储介质也可以是处理器组成部分,处理器和可读存储介质可以位于专用集成电路(ASIC)中,处理器和可读存储介质也可以作为分立组件存在于使用位图信息进行高程调整系统中。
本申请的实施例可提供为方法、装置、或计算机程序产品,因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且本发明可采用一个或多个其中包括有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程和/或方框图来描述的,应理解可由计算机程序指令实现流程图和/或方框图中每一流程和/或方框图、以及流程图和/或方框图的结合,可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图中一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
机译: 在级联中排列并使用大量中继站的信息传输系统中调整互连延迟的方法,以及使用一种直接传输TDMA方法的系统,以及一种采用这种延迟调整方法的系统
机译: 一种用于控制电梯或类似输送系统的方法,包括使用调度算法对电梯控制逻辑进行适当调整,并从以结构为参考的传感器中提取实际的乘客出现信息。
机译: 具有移动内存功能的移动终端以及一种通过使用移动终端来使用信息的方法和系统,该方法和系统通过使用相同的,特别是考虑到存储和传输文件信息的信息来进行移动