CN102521882A - 基于离散高程和自适应混合加权得到海床地形数据的方法 - Google Patents
基于离散高程和自适应混合加权得到海床地形数据的方法 Download PDFInfo
- Publication number
- CN102521882A CN102521882A CN2011103972340A CN201110397234A CN102521882A CN 102521882 A CN102521882 A CN 102521882A CN 2011103972340 A CN2011103972340 A CN 2011103972340A CN 201110397234 A CN201110397234 A CN 201110397234A CN 102521882 A CN102521882 A CN 102521882A
- Authority
- CN
- China
- Prior art keywords
- prime
- point
- reference mark
- lod
- weighting
- 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
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明提出一种基于离散高程和自适应混合加权的海床地形数据处理方法。将海床地形的水平面划分成均匀网格,网格顶点为控制点,控制点距水平面的高度为读入数字海图的高程数据,这些控制点的高度保存在三维数组中,根据高程点,首先使用加权内插和加权外插的方法计算基本的子点参考数据,然后使用混合加权动态校正方法动态推算出新子点,最后按照自适应LOD插值关联度表格模型进行动态调度,建立一个经过所有该LOD层所有点的曲面,生成海床地形,最后在曲面上贴上纹理就得到逼真的海床地形。
Description
技术领域
本发明涉及一种基于离散高程和自适应混合加权得到海床地形数据的方法,属于虚拟现实技术领域。
背景技术
大规模地形三维图像数据生成是虚拟战场技术研究中一项重要内容,目前生成地形数据的方法主要有:
1.基于分形算法创建地形,其特点是多边形数量完全可控、没有拓扑错误,但是迭代计算次数较多,地形规模很大时计算开销可观,而且难以生成真实的地形;
2.根据BMP格式的等高线图生成三维地形的方法,其优点是可生成真实地形,但是各高程间网格点的三角生成算法较复杂;
3.利用电子海图数据生成海底地形,其特点是所得地形数据一般比较粗糙,由于精度高且数据点密集的海床数字地图的获取难度较大,需要对粗粒度海床地形生成细粒度海床地形的进一步处理,但单一的加权外推算法会造成地形失真。
国内外流行的Vega三维图像开发软件中,除了基本模块外,已经开发出作为工具的若干个扩展模块,包括传感器、云彩、海洋等模块,缺少对海洋洋面以下空间环境进行开发的水下空间模块,水下模块的开发中要解决的任务之一是海床地形生成技术,即根据给定的电子海图高程离散数据生成起伏的海床地形。由于水声测量方法的局限性,一般海图存在着相邻数据间隔距离大,据此连成的曲面不平滑和生成的图像逼真度差,而已有的其它地形建立方法存在着算法复杂、计算开销大的缺陷。
发明内容
为了避免现有技术的不足之处,本发明提出一种基于离散高程和自适应混合加权得到海床地形数据的方法。
一种基于离散高程和自适应混合加权得到海床地形数据的方法,其特征在于步骤如下:
步骤1:根据数字海图数据,将欲生成的海床地形区域按数据间隔大小均匀划分为网格,其中的网格顶点为控制点P;
步骤2:将网格按地形图像数据要求,以某个网格顶点为子点,分三个过程求取该子点的高程数据;
步骤a:通过子点周边第一层所有控制点的高程数据的加权内插算法生成制点网格的x行和y列围成的区域内的某子点高度数据zxy:
利用线性关系求出子点距离每个控制点的距离r(i,j),取1/r(i,j)为加权系数k(i,j)(i,j∈Z+)。
步骤b:通过子点同经度或者纬度上两层内相邻两控制点的高程数据的加权外推算法生成控制点网格的x行和y列围成的区域内的某子点高度数据z′xy:
其中:
zxy为控制点网格的x行和y列围成的区域内的某子点高度;
rxy表示子点在水平面的投影点Qxy与子点相邻右控制点在水平面的投影点Qi,j之间的距离;
所述
所述
i,j均为自然数;
步骤c:通过综合步骤a和步骤b两种方法得到子点的某子点高度进行混合加权动态校正方法生成新子点的高程数据zx,混合加权动态校正公式为:
其中:ζ为-1~1内随机数;
步骤3:以步骤2生成的新子点与控制点归于同一新的LOD层级,以该LOD层级重复循环步骤2,得到下一层级子点形成下一层级的LOD层级;重复循环次数小于等于17。
在步骤3完成后,根据视距、插值点数及LOD层级关系建立17级的自适应多级LOD插值关联度表格模型,利用OpenGL将步骤3得到的各子点的高程数据和原始控制点依次连接,生成三角形面片,得到由各三角形组成的海床地形曲面;
所述自适应多级LOD插值关联度表格模型为:
超宏观视距 | 宏观视距 | 微观视距 | 超微观视距 |
10000 | 1000 | 60 | 3 |
5000 | 500 | 20 | 1 |
4000 | 200 | 10 | 0.5 |
2000 | 100 | 5 | 0.3 |
1~4级LOD | 5~8级LOD | 9~12级LOD | 0.1 |
其中:超微观视距分为5级,精细模型特增加一层LOD,层级数对应插值点数,
变换步长为5000米、2000米、1000米、500米、300米、100米、40米、10米、5米、2米、1米、0.5米、0.2米。
在步骤2所述的步骤c中,控制点网格的x行和y列围成的区域内的某子点高度采用如下公式生成:
在海床地形曲面上添加纹理,生成海床地形三维图像数据。
本发明提出的一种基于离散高程和自适应混合加权的海床地形数据处理方法。将海床地形的水平面划分成均匀网格,网格顶点为控制点,控制点距水平面的高度为读入数字海图的高程数据,这些控制点的高度保存在三维数组中,根据高程点,首先使用加权内插和加权外插的方法计算基本的子点参考数据,然后使用混合加权动态校正方法动态推算出新子点,最后按照自适应LOD插值关联度表格模型进行动态调度,建立一个经过所有该LOD层所有点的曲面,生成海床地形,最后在曲面上贴上纹理就得到逼真的海床地形。
本发明方法,可获取符合海床三维图像绘制要求的各高程数据,且计算速度快可满足实时性要求,从而解决了电子海图中高程数据过少且不连续难以生成真实地形的难题,可以根据给定的电子海图高程离散数据生成起伏的海床地形。克服了一般海图数据存在着相邻数据间隔距离大,据此连成的曲面不平滑和生成的图像逼真度差的问题。利用本方法生成的海床地形三维图像逼真、实用,而且算法简单、计算开销小。
附图说明
图1:海床地形数据处理方法流程图
图2:一维的插值示意图
图3:二维平面内部插值示意图
图4:一维加权外推模型分析
图5:二维平面外部推算插值示意图
表1:自适应多级LOD插值关联度表格
图6:4×4控制点的均匀网格控制点高程数据
图7:混合加权后新生的16×16控制点的均匀网格控制点高程数据
具体实施方式
现结合实施例、附图对本发明作进一步描述:
将海床地形的水平面划分成均匀网格,网格顶点为控制点,控制点距水平面的高度为读入数字海图的高程数据,这些控制点的高度保存在三维数组中,根据高程点,使用混合内外加权校正及自适应LOD插值的方法,建立一个经过所有点的曲面,生成海床地形,最后在曲面上贴上纹理就得到逼真的海床地形。海床地形数据处理方法流程图见图1。
由海床的自然属性可知,其地表是起伏变化的。假设起伏较平缓,则相邻控制点之间的高度变化是连续的。即子点的高度由其周围控制点的高度决定,下面分析建立及调度子点高程的模型。
方法的基本原理:在视域范围内,大地形由粗粒度模型生成细粒度模型的方法有两种:内部插值与外部推算。每一种方法都能生成地形子点,但是其不具有自校正子点能力,现对两种方法产生的子点进行混合加权来校正子点,生成符合多级梯度场的最佳子点,并根据视距通过多层LOD实现自适应分级调度。
混合加权动态推算方法的物理意义:两控制点原始真实数据的变化趋势反映在其连线上的子点,也反映在连线以外的子点,且子点偏离控制点连线越远,受其变化趋势影响越小,子点与最邻近参考点连线的方向与梯度变化方向夹角越大,受其变化趋势影响越小。
(1)内部插值方法:
一般的地形模型都是等间距的网格结构,从侧面看,对两个三维坐标数据点的插值就演变成一维的几何关系,其插值示意图如图2。这里新生成的子点Px的经纬度信息可以从插值个数及相邻两点得到,其高度信息可以通过加权得出。随机数可以上下浮动。
以上这种方法虽然理论上正确,但是失真太大,主要原因是没有考虑相邻的其他点对其影响。从二维的平面分析,其插值示意图如图3。这里新生成的子点Qx的经纬度信息可以从插值个数及相邻两点得到,其高度信息可以通过加权得出。Z(i,j)表示第i行第j列的高度值。则通用的计算公式如下:
利用线性关系求出子点距离每个控制点的距离r(i,j),取1/r(i,j)为加权系数k(i,j)(i,j∈Z+),ε为-1~1之间的随机数。
(2)外部推算方法:
设空间任意两点P1和P2,在基准平面(平行于水平面)的投影为Q1和Q2,相对于基准面的高度分别为Z1和Z2,如图4所示。现在推算Q1和Q2两点区间外任一子点Qx的高度,它距离Q1、Q2点分别为r1、r2。首先考虑最简单的线性外推的方法,则得到图中的PV点,但这样形成的海底轮廓线为直线,不符合真实海底的以曲面起伏波动的特点。因为子点的高度值在其相邻的控制点的高度值附近波动,且距离越近的控制点,对子点的影响越大,故可采用对子点附近的控制点高度作加权平均的方法来推算子点的高度,距离越远,权重越小。首先选取距离的平方的倒数值为加权系数,对控制点进行加权平均后,假设得到高程点为其高度的计算公式为:
上式整理可得:
显然,推算公式(3)不符合控制点的梯度变化趋势,且r2越大,误差越大。考虑到线性推算得到的PV点高度小于P2点高度,故可将PV点亦加权引入到上面的推算公式中,其中加权系数选为子点与较近的控制点的距离r2的平方的倒数,下面证明,由此式得到的子点P″x小于P2,符合控制点变化趋势。期望子点变化曲线如图4中曲线段2所示。修正后的推算公式为:
同理,当Z1<Z2时,以及沿P2和P1点向左推算时,类似地可以推出以上结论,修正公式总是合理的。
由点的变化曲线和期望曲线可知,随着r2的增加,其误差加大,这种变化趋势在修正后的(6)式中依然存在,因此可加大线性推算点PV的权重,只取距离一次方的倒数为权重系数,加权平均公式如(7)式所示,求得的Px点的高度zx会比z2更小。
需要说明的是,对于生成子点Qx,y做加权外推需要做六次计算,外推参考点分别是:Qi+1,j+1Qi+2,j+1、Qi+1,jQi+2,j、Qi+3,j Qi+2,j、Qi+3,j+1Qi+2,j+1、Qi+2,j-1Qi+2,j、Qi+2,j+2Qi+2,j+1。但是前四次加权外推对子点影响不大,因为两参考点外推方向也即梯度变化方向只能说明其生成子点在x轴方向上的变化趋势,不能表明其在y轴上的变化情况,且新生子点必须在沿y轴方向两相邻参考点Qi+2,jQi+2,j+1内。所以只能从Qi+2,j-1到Qi+2,j、从Qi+2,j+2到Qi+2,j+1做两次加权外推计算。然后对两次外推做均值即可得到Qx,y。二维平面加权的外部推算插值示意图见图5。
其中:
zxy为控制点网格的x行和y列围成的区域内的某子点高度,
rxy表示Qxy(子点在水平面的投影点)与Qi+2,j+1(子点相邻右控制点在水平面的投影点)之间的距离;
(3)混合加权动态校正方法:
内部插值方法主要根据其相邻的参考点得出子点的高程,其优点是所得子点具有一定的可信度,缺点是没有考虑外侧参考点对其的影响。外部推算方法则是根据外侧到相邻参考点的梯度变化进行推算的,其子点的梯度变化符合地形变化规律,但是失去了其它相邻参考点对子点的影响。综合两种方法,可以考虑这两个原因,把外侧到参考点的梯度变化和相邻高权重参考点对子点的影响通过加权的方法,进行二次拟合,两个子点相互校正,得出最新子点满足真实地形数据特征。两种方法得到的子点做差,设值为a,然后设[-1,1]为新随机变量ζ的范围。取两个子点高程的均值,则可求出新子点的校正位置。
(4)自适应分级调度策略:
为了实现自适应功能,根据视觉效果需要对视距与地形网格内插值点个数结合多层LOD调度进行关联,常规的LOD细分方法为每层按照2n-1个点进行插值,其跳变幅化较大。此时可以按照自然数顺序使用逐级***子点对多层LOD进行预处理,LOD层级数与插值点数一一对应,共设定17级LOD,超过17级的更多插值可以使用云计算进行处理。自适应多级LOD插值关联度表格模型如表1。
视距就是指视点到地形模型的最短距离,当视距超过10000时可视化效果很差,此时的地形模型可以用一个平面代替,从10000到0米的视距可划分为超宏观、宏观、微观与超微观四种视距,每一种视距都以递减形式分别设定多级LOD层的变换步长,递减步长分别为5000米、2000米、1000米、500米、300米、100米、40米、10米、5米、2米、1米、0.5米、0.2米等。
表1自适应多级LOD插值关联度表格
由此地形模型,我们得到了较细的地形网格划分,而且应用式(10)非常容易编程计算。只要利用OpenGL的绘制三角形片的函数将相邻的网格点依次相连,便得到了起伏的海床地形。
例如从数字海图中读取4×4控制点的均匀网格控制点高程数据。并存于数组AN中,其海床地形如图6所示。再使用自适应混合加权动态推算地形生成算法,设视距为2000米,此时自动调用关联度模型,动态调度并***子点成为4级LOD地形,也即每一个单元格内每一级***一个子点,共***四个子点,数组变为16×16个控制点,保存在AS中。其海床地形如图7所示。
由本实施例可见:本发明方法可获取符合海床三维图像绘制要求的各高程数据,且计算速度快可满足实时性要求,从而解决了电子海图中高程数据过少且不连续难以生成真实地形的难题,可以根据给定的电子海图高程离散数据生成起伏的海床地形。克服了一般海图数据存在着相邻数据间隔距离大,据此连成的曲面不平滑和生成的图像逼真度差的问题。利用本方法生成的海床地形三维图像逼真、实用,而且算法简单、计算开销小。
Claims (4)
1.一种基于离散高程和自适应混合加权得到海床地形数据的方法,其特征在于步骤如下:
步骤1:根据数字海图数据,将欲生成的海床地形区域按数据间隔大小均匀划分为网格,其中的网格顶点为控制点P;
步骤2:将网格按地形图像数据要求,以某个网格顶点为子点,分三个过程求取该子点的高程数据;
步骤a:通过子点周边第一层所有控制点的高程数据的加权内插算法生成制点网格的x行和y列围成的区域内的某子点高度数据zxy:
利用线性关系求出子点距离每个控制点的距离r(i,j),取1/r(i,j)为加权系数k(i,j)(i,j∈Z+)。
步骤b:通过子点同经度或者纬度上两层内相邻两控制点的高程数据的加权外推算法生成控制点网格的x行和y列围成的区域内的某子点高度数据z′xy:
其中:
zxy为控制点网格的x行和y列围成的区域内的某子点高度;
rxy表示子点在水平面的投影点Qxy与子点相邻右控制点在水平面的投影点Qi,j之间的距离;
所述
所述
i,j均为自然数;
步骤c:通过综合步骤a和步骤b两种方法得到子点的某子点高度进行混合加权动态校正方法生成新子点的高程数据zx,混合加权动态校正公式为:
其中:ζ为-1~1内随机数;
步骤3:以步骤2生成的新子点与控制点归于同一新的LOD层级,以该LOD层级重复循环步骤2,得到下一层级子点形成下一层级的LOD层级;重复循环次数小于等于17。
2.根据权利要求1所述的基于离散高程和自适应混合加权的海床地形数据处理方法,其特征在于:在步骤3完成后,根据视距、插值点数及LOD层级关系建立17级的自适应多级LOD插值关联度表格模型,利用OpenGL将步骤3得到的各子点的高程数据和原始控制点依次连接,生成三角形面片,得到由各三角形组成的海床地形曲面;
所述自适应多级LOD插值关联度表格模型为:
其中:超微观视距分为5级,精细模型特增加一层LOD,层级数对应插值点数,
变换步长为5000米、2000米、1000米、500米、300米、100米、40米、10米、5米、2米、1米、0.5米、0.2米。
3.根据权利要求1所述的基于离散高程和自适应混合加权的海床地形数据处理方法,其特征在于:在步骤2所述的步骤c中,控制点网格的x行和y列围成的区域内的某子点高度采用如下公式生成:
4.根据权利要求2所述的基于离散高程和自适应混合加权的海床地形数据处理方法,其特征在于:在海床地形曲面上添加纹理,生成海床地形三维图像数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103972340A CN102521882A (zh) | 2011-12-05 | 2011-12-05 | 基于离散高程和自适应混合加权得到海床地形数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103972340A CN102521882A (zh) | 2011-12-05 | 2011-12-05 | 基于离散高程和自适应混合加权得到海床地形数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102521882A true CN102521882A (zh) | 2012-06-27 |
Family
ID=46292784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103972340A Pending CN102521882A (zh) | 2011-12-05 | 2011-12-05 | 基于离散高程和自适应混合加权得到海床地形数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102521882A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831645A (zh) * | 2012-07-18 | 2012-12-19 | 哈尔滨工程大学 | 一种应用于海底地形的数字高程模型的建立方法 |
CN103324783A (zh) * | 2013-05-30 | 2013-09-25 | 国家电网公司 | 基于边折叠的lod模型实时生成方法 |
CN103700139A (zh) * | 2013-12-02 | 2014-04-02 | 北京像素软件科技股份有限公司 | 一种3d网络游戏中创建河流模型的方法和装置 |
CN104537717A (zh) * | 2014-12-19 | 2015-04-22 | 河海大学 | 一种河道水下地形专题地图获取方法 |
CN106408661A (zh) * | 2016-09-13 | 2017-02-15 | 电子科技大学 | 一种基于地质曲面局部复杂度的自适应混合插值方法 |
CN106570936A (zh) * | 2016-11-14 | 2017-04-19 | 河海大学 | 一种基于栅格dem数据的等距离权重内插加密方法 |
CN109559376A (zh) * | 2018-11-21 | 2019-04-02 | 北京理工大学 | 一种三维地形生成方法及装置 |
CN113368498A (zh) * | 2021-06-09 | 2021-09-10 | 网易(杭州)网络有限公司 | 模型生成方法、装置和电子设备 |
-
2011
- 2011-12-05 CN CN2011103972340A patent/CN102521882A/zh active Pending
Non-Patent Citations (1)
Title |
---|
张森 等: "一种自适应混合加权动态推算地形生成算法", 《***仿真学报》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831645A (zh) * | 2012-07-18 | 2012-12-19 | 哈尔滨工程大学 | 一种应用于海底地形的数字高程模型的建立方法 |
CN103324783A (zh) * | 2013-05-30 | 2013-09-25 | 国家电网公司 | 基于边折叠的lod模型实时生成方法 |
CN103700139A (zh) * | 2013-12-02 | 2014-04-02 | 北京像素软件科技股份有限公司 | 一种3d网络游戏中创建河流模型的方法和装置 |
CN104537717A (zh) * | 2014-12-19 | 2015-04-22 | 河海大学 | 一种河道水下地形专题地图获取方法 |
CN104537717B (zh) * | 2014-12-19 | 2017-09-19 | 河海大学 | 一种河道水下地形专题地图获取方法 |
CN106408661A (zh) * | 2016-09-13 | 2017-02-15 | 电子科技大学 | 一种基于地质曲面局部复杂度的自适应混合插值方法 |
CN106570936A (zh) * | 2016-11-14 | 2017-04-19 | 河海大学 | 一种基于栅格dem数据的等距离权重内插加密方法 |
CN106570936B (zh) * | 2016-11-14 | 2019-07-02 | 河海大学 | 一种基于栅格dem数据的等距离权重内插加密方法 |
CN109559376A (zh) * | 2018-11-21 | 2019-04-02 | 北京理工大学 | 一种三维地形生成方法及装置 |
CN113368498A (zh) * | 2021-06-09 | 2021-09-10 | 网易(杭州)网络有限公司 | 模型生成方法、装置和电子设备 |
CN113368498B (zh) * | 2021-06-09 | 2024-02-02 | 网易(杭州)网络有限公司 | 模型生成方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521882A (zh) | 基于离散高程和自适应混合加权得到海床地形数据的方法 | |
US10439594B2 (en) | Actually-measured marine environment data assimilation method based on sequence recursive filtering three-dimensional variation | |
CN102506824B (zh) | 一种城市低空无人机***生成数字正射影像图的方法 | |
CN107180450A (zh) | 一种基于dem的河谷横断面形态的算法 | |
CN110018323A (zh) | 一种基于声学多普勒测流仪的流场智能计算方法及*** | |
CN103278115B (zh) | 一种基于dem计算淤地坝淤积量的方法及*** | |
CN108896040B (zh) | 天空海一体化水下潜器惯性/重力组合导航方法和*** | |
CN105787281A (zh) | 一种海浪有效波高场的融合反演方法和装置 | |
CN106597416A (zh) | 一种地面GPS辅助的LiDAR数据高程差的误差修正方法 | |
CN111680408A (zh) | 一种用于海上风电的风资源图谱绘制方法及装置 | |
CN106570936B (zh) | 一种基于栅格dem数据的等距离权重内插加密方法 | |
CN110377953B (zh) | 一种基于并行模式下的风暴潮精细化模拟方法 | |
CN107918957A (zh) | 一种保持结构和纹理特征的三维建筑模型化简方法 | |
CN104091065A (zh) | 一种求解浅水问题模拟间断水流数值的方法 | |
CN103530904A (zh) | 一种基于克里金方法的水下地形数字高程建立方法 | |
CN103256914B (zh) | 一种基于dem计算淤地坝淹没面积的方法及*** | |
CN106556877B (zh) | 一种地磁通化方法及装置 | |
CN111856598A (zh) | 一种磁测数据多层等效源上延拓与下延拓方法 | |
CN109444955A (zh) | 三维地震射线追踪的双线性走时扰动插值方法 | |
CN102589528A (zh) | 一种多时相影像的海岛岸线量测方法 | |
CN115994496A (zh) | 城市公园高分辨率大气co2浓度三维场的数值模拟方法 | |
CN108508463A (zh) | 基于Fourier-Hermite正交多项式扩展椭球集员滤波方法 | |
CN103207410A (zh) | 一种针对崎岖海底的混合网格模型建立方法 | |
CN112734929B (zh) | 基于网格细分算法的土石坝复杂土料场开挖方量计算方法 | |
CN109785443A (zh) | 一种针对大型海洋工程装备的三维模型简化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120627 |