三维地形

2024-06-24

三维地形(精选十篇)

三维地形 篇1

关键词:IDL,地形三维建模,地形分析

1 引言

地形三维可视化一直以来是遥感、地理信息系统、虚拟现实等领域的研究热点。随着计算机软硬件技术的进步、计算机图形学算法的日益完善, 高度逼真地再现地形地貌成为可能, 地形的三维表达成为当今地形可视化的主要特征。地形三维可视化从空间的角度显示地形地物的三维可视化效果, 给人身临其境的感受, 从而有利于解决人们在综合信息处理、评价分析和决策方面的需求。地形三维可视化目前已广泛应用于工程建设、城市规划、路径选取、环境监测、资源调查、军事、土地管理与利用等领域。由此可见, 地形可视化与人类的生产生活息息相关, 因此对其深入研究十分必要。

IDL (Interactive Data Language) 是面向矩阵、语法简单的第四代高级计算机语言, 它提供了大量的数组运算函数, 具有二维及多维数据科学数据分析、可视化表现的能力。IDL提供了集源代码创建、编辑、调试、运行、项目管理和GUI设计工具于一体的开发环境IDLDE, IDLDE是用户快速编写、测试并调试代码的最佳环境。本文即是借助IDL语言实现了地形数据的建模、分析及三维可视化表达。

2 程序的总体思路

本研究以外业测量数据为实验数据, 初步完成基于IDL的地形三维建模及地形分析系统的开发。利用IDL的所提供的库函数, 根据地形分析的原理及公式, 编写程序实现了基于正方形格网和三角形格网的三维地形模型、DEM高程精度评估, 以及初步具备基于正方形格网的数字地形分析的功能。系统主要分为数据读取、地形三维建模及可视化显示、三维地形分析和DEM精度分析四大部分。

3 地形数据三维建模的实现

3.1 IDL数据文件的读取

本程序提供了两种常用的数据格式的读取, 分别是XYZ格式和外业测量dat数据格式。本文以外业测量dat数据格式为例, 提取xyz坐标, 数据保存到data结构数组。主要代码如下:

3.2 基于正方形格网的表面建模

对于离散的数据, 需要运用IDL中曲面插值的函数对离散数据进行插值建立表面模型。规则格网插值的函数为GridData, 其基本语法形式如下:

其中, xs, ys分别为格网x轴、y轴的起点值, d是格网间距, xcount, ycount分别为沿x轴、y轴方向上插值得到的网格数, name是选取的插值方法, Grid用于存放插值的结果。GridData提供了十种空间插值方法, 本文主要是选择InverseDistance (反距离插值方法) 、MinimumCurvature (最小曲率插值方法) 和PolynomialRegression (多项式回归插值) 进行数据内插。

地形三维可视化的方法为:1) , 绘制格网surface:surface, Z[, X, Y][, 关键字];2) , 绘制格网面shade_surf:shade_surf, Z[, X, Y][, 关键字];3) , 面可视化工具isurface:isurface, Z[, X, Y][, 关键字]。

3.3 基于TIN的表面建模

Triangulate函数可以将一系列点构造为Delaunay三角网, 其基本语法形式如下:

Triangulate, x, y, tr;tr是保存对应每个三角形顶点XY数组的下标, 包含三乘以“三角形个数”个元素。

显示该三角网的命令如下:

由Triangulate过程构造三角网之后, 可以使用TriGrid函数得到由高程值插值而成的规则网。TriGrid函数的语法形式如下:tgrid=TriGrid (x, y, z, tr)

3.4 等高线模型的建立

用Contour函数可以绘制数据的等高线。在构造等高线之前要先确定每个轮廓线的高程值、标注的内容及宽度, 根据首曲线和计曲线的概念, 编写的主要代码如下:

4 基于正方形格网的数字地形分析功能的实现

根据参考文献[1]、[2]、[3]所列出的数字地形分析的原理及公式, 理清思路, 编写IDL代码, 程序基本实现了数字地形模型的表面积、体积、坡度、坡向、曲率、地表粗糙度、格网面元凹凸系数、高程变异系数的计算, 并通过数据模型进行验证, 限于篇幅, 本文仅就坡度、坡向的编程思路及代码实现做一探讨, 其余从略。

4.1 坡度计算

基于3X3窗口的坡度计算公式为:。其中, slopewe、slopesn分别表示水平方向、垂直方向上的坡度, 它们的计算方法有多种算法, 本文采用如下公式, 。d为正方形格网间隔。此方法精度较高, 计算效率也较好。

每个格网的坡度计算主要代码为:

坡度图计算:按照一定的标准将坡度分级, 用不同的颜色显示不同区域。主要代码如下:

数据模型实例验证如图1所示。

4.2 坡向计算

坡向表达式:。应当指出, 计算值出来之后, 还应根据slopesn, slopewe的符号将其转化为坡向值, 其转化方法见表1。

求格网坡向, 主要代码为:

k是按dy和dx为正算出来的坡向, 根据表1用if判断即可求出坡向值。

坡度图的表达:按照一定的标准将坡向分级 (如表2所示) , 用不同的颜色显示, 方法同坡度图

数据模型实例验证如图2所示。

5 基于正方形格网的DEM高程精度分析

DEM高程中误差公式为:。式中, Zk为高程真值;Rk为内插出的高程。

本程序以双曲抛物面 (马鞍面) 数学模型作为实例进行验证, 从不同格网间距和有无特征点的这两方面来做实验进行验证。首先, 根据双曲抛物面数据模型提取有地形特征点及无地形特征点的离散化的散点坐标。分别对这两种类型的数据取不同的格网间距, 根据反距离插值法内插出规则格网DEM, 据此计算高程Rk, 根据双曲抛物面公式算出高程真值Zk, 带入DEM高程中误差公式即可算出DEM高程中误差。把实验计算结果导出, 见图3。

由图3分析, 可以看到, 随着格网间距的增大, DEM高程精度越低;而有地形特征的数据比无地形特征的数据DEM高程精度要高;格网间距越大, DEM高程中误差的差异越大。可见, 利用IDL编程建立地形三维模型, 基本实现预期设想。

6 结语

本文通过利用IDL通过读取外业测量的数据实现了地形三维建模及数字地形分析的功能。从本研究程序可以看出, 在IDL上一个函数或一句代码就可以实现的功能, 在其他语言上需要很多条语句才可以实现。因此, IDL是测绘与地理数据分析及可视化的一种有效分析工具, 具有极强的效率。

参考文献

[1]周启鸣, 刘学军.数字地形分析[M].北京:科学出版社, 2006:87-88.

[2]汤国安, 李发源, 刘学军.数字高程模型教程[M].北京:科学出版社, 2010:97-98, 153-156.

[3]朱长青, 史文中.空间分析建模与原理[M].北京:科学出版社, 2006:149-151, 168-185.

[4]韩培友.IDL可视化分析与应用[M].西安:西北工业大学出版社, 2006:1-23.

[5]贾瑞生, 姜岩, 孙红梅, 王萍.基于IDL三维地形建模及可视化技术研究[J].测绘科学, 2008, 33 (06) :113-115.

三维真实感地形建模与可视化 篇2

研究了三维真实地形建模与可视化的整个流程,利用OpenGL通用图形程序接口实现了基于DEM数据与遥感影像的`三维地形的快速生成与仿真;并将三维地形生成技术应用到了天山公路三维地质灾害场景可视化中.详细阐述了以遥感影像作为地形纹理的处理方式与流程以及构建真实地形场景技术的方法和优化方案,提出了在实际应用中建立个性化三维地形系统的重要性.

作 者:郭珊 何政伟 GUO Shan HE Zhengwei 作者单位:郭珊,GUO Shan(成都理工大学地质灾害防治与环境保护国家重点实验室,成都,610059)

何政伟,HE Zhengwei(首都师范大学,源环境与地理信息系统北京市重点实验室,北京,100037)

三维地形 篇3

关键词:LOD 三维地形数据 组织

中图分类号:P208 文献标识码:A 文章编号:1674-098X(2014)10(a)-0111-02

1 LOD概述

在运用虚拟现实技术对大规模场景进行绘制时,常见的做法是用大量的三角面片来描述场景中的几何模型。随着描述场景的三角形面片的数目的增多,所绘制的图像质量会越来越高,但是绘制速度也会变得越来越慢,有时甚至会因为绘制的场景过于复杂而出现场景漫游不流畅、画面跳变等现象,这些都会严重影响实时绘制的效果。为了解决这一问题,从20世纪90年代初开始,研究人员就在这方面开展了大量工作,而多层次细节(Levels of Details,LOD)模型技术就是在这样的情况下提出并发展起来的。

2 地形的分块与调度方法

当前,大范围、海量数据的获取已成为现实,空间数据的数量正在呈几何级数增长。然而,受计算机内存容量、计算和绘制能力或者操作系统管理能力等因素的限制,在虚拟场景中一次装入大规模的地形数据显得不切实际,所以必须对原始地形数据进行分块处理。

根据Web三维数字地球的数据存储、运行效率等具体应用需要,该文采用与视点相关的数据调度策略,“自顶向下”(从粗到细)的地形简化策略,以规则格网表示地形。

2.1 分层与存储

采用规则格网的地形数据实现视点相关的LOD简化技术,必须对地形中的不同部分采用不同的表达分辨率。也就是说,需要采用一种分层表达方式,能对格网中的不同部分实现渐进细分。目前,有许多方法能够实现这种多分辨率表达方式。其中最为通用的两种方式是四叉树和二叉树。所谓四叉树结构就是将一个矩形区域均匀地分割为4个部分,而其中的每一部分又可以被分割为4个更小的部分,依次类推。四叉树结构构造地形的基本思想是:利用四叉树数据结构表示地形模型时,树中的每一个节点都覆盖地形中的一块相应的矩形区域。上层的节点涉及的采样点较少,用其来表示地形时具有更高的绘制效率,但分辨率较低,地形表示的误差较大。底层地形的分辨率高,误差小,但绘制效率低。该文中实现的三维数字地球就采用了四叉树数据结构,其基本分层原理为以地球360 °经度和180 °纬度为标准,第一层以36 °划分,共分为(360/36)*(180/36)=50块,第二层以18 °,第三层以9 °,依次类推。

由于按平面展开层层划分,所以这里涉及到行、列的概念,通过由行、列到经、纬度值的转换,划分后的每个方格对应一个该层的纹理,再加上高度值就可以实时渲染三维图像了。

2.2 裂缝消除

动态地形的实时渲染可能会由于相邻两个矩形格网节点的分辨率不同而引起T型裂缝,此时,由于高分辨率LOD层上增加了新的顶点,而在相邻低LOD层上没有该顶点,因此在边界上就可能产生裂缝现象。在图形绘制时,将会导致在地形中出现空洞,会影响漫游时的视觉效果,同时可能会大大降低地形的真实感。裂缝的产生是由于在接边处,相邻格网节点参与构网的顶点不同而造成的,如果使相邻矩形格网节点边界上的构网顶点数相同,则不会出现裂缝。因此,解决裂缝问题的关键是正确选择相邻不同分辨率节点边界上参与构网的顶点。

有两类常见的解决方法:一类是细化可能产生裂缝的格网节点,如反复细分裂缝周边三角形以产生连续的表面、在格网的缝隙间插入新三角形以生成连续的地形表面,或在低分辨率格网边界上增加顶点,使得他们和高分辨率格网的多余顶点处于同一位置如图1(b);另一类则是简化可能产生裂缝的格网节点,如改变高分辨率LOD地形格网中边界上所增加的顶点的高程值,使增加的这些顶点位于相邻的低分辨率LOD地形格网的边界上,或者是忽略高分辨率地形格网中的中间顶点,如图1(c)。

一般来说,细化类方案比较全面,任意层次的相邻节点都能够产生较好的绘制效果,但由于其增加了绘制三角形或顶点的数目,实现起来较为复杂,其绘制效率方面也必然有所损失;而简化策略在相邻节点层次差不超过1时也能较好地实现实时绘制,且实现较为简单,绘制效率也较高,更加符合大规模地形绘制这种与视点相关的数据调度,因此这里我们选用减边策略来消除裂缝。

2.3 视域剔除

在实时绘制中,视域剔除是减少需要绘制场景几何复杂性的有效途径之一。对于大规模地形,由于当前视域大都只涉及地形的局部区域,因而视域剔除对于加速绘制作用更为明显。由于对地形数据进行了分块处理,因此只需对分块数据作一次裁减判断,减少了裁减判断时间;同时,针对三维数字地球的情况,对于遮挡可以不予考虑。裁减采用矩形包围盒的方式,即在整个节点的中心位置建立包围盒,如图2,包围盒的半径是数据块长、宽、高最大值的一半,在具体实现中,通过对包围盒进行裁减判断,由返回值确定是否绘制,有效降低了每次显示的数据量、提高了显示速度。

3 纹理与高程

纹理是增强地形真实绘制的有效手段,特别是高清晰的卫星图像可行时,能显示大规模的纹理也是急需解决的问题。许多有关地形LOD技术的文献都侧重于介绍有关地形几何数据管理方面的内容而忽略了纹理映射问题。实际上,地形表面纹理组织以及显示等方面也有许多非常重要的技术问题需要研究和解决。

3.1 纹理与高程数据的组织

当地形叠加纹理时,如果全部载入最精细纹理,绘制速度会有明显降低,同时,全部采用最细节纹理显示所有地形也会造成较差的视觉效果。根据地形数据的分层四叉树结构,我们对纹理数据采用了瓦片金字塔结构存储,将不同精细程度的纹理数据进行分级,每个划分后的地形数据网格对应一个该层下的一张512×512的纹理图片。

对于高程数据,我们同样采用分层方式进行组织与调度,对每个划分后的地形数据网格进行分割,生成n个顶点,对应该层下的一组高程数据,根据地形数据、纹理图片与高程数据即可进行地形的实时绘制了。

3.2 下载与调度策略

当需要渲染区域的四叉树网络生成后,就可以确定需要渲染的区域信息。在划分层次网格与填充网络坐标信息完成后,首先对本地缓存进行访问,提取对应的纹理与高程数据,若存在则直接渲染,若不存在,则根据网格所在层级、行、列值生成URL向服务器进行请求,进行下载。当第n+1层下载存在未下载完成的纹理时,则继续显示该块的第n层纹理,以完成平滑过渡,如图3所示。

对纹理与高程的下载采用了优先级策略,设下载队列的长度为l,当l>200时,则对下载优先级进行判断,删除掉下载优先级较低的下载元素;而当有下载完成时,也通过判断调取优先级较高的先进行下载。数据下载完成后,对地形进行实时渲染。

4 结语

该文从基于视点的连续层次模型、多分辨纹理选取以及数据的组织和装载等几个方面对LOD地形简化技术进行了分析,最后提出将LOD技术应用于三维数字地球的实时渲染系统中,有效地改善了实时渲染的速度和精度的动态调整。

参考文献

[1]胡爱华,何宗宜,马晓萍.基于LOD的大规模地形实时绘制方法[J].测绘通报,2009(12).

[2]雷军环,曾凡喜,吴名星.基于四叉树的视点相关LOD地形仿真算法研究[J]. 制造业自动化,2010(8).

[3]黄霆,赵红武.动态LOD四叉树虚拟地形绘制[J].现代 计算机(专业版). 2010(3).

三维海底地形仿真的研究 篇4

计算机三维仿真技术可模拟真实场景并跟踪漫游,在海洋各军事领域如潜艇、海洋工作站、水下无人潜器的导航以及模拟真实战场环境、进行虚拟作战演习和民用领域如海洋堪探、开采等方面具有很大的应用潜力,已经成近今年来的研究热点之一。由于三维地形模型的数据量庞大,要在每一帧场景显示的瞬间处理所有的数据,实现实时绘制几乎是不可能的,为了得到逼真的场景显示效果,就必需对建模和实时显示提出较高的要求。为了降低计算机的硬件负担,提高海底地形的绘制速度,很有必要对地形进行简化。目前能用于大规模地形快速绘制的算法已有很多,例如采用视截体[1]对不可见地形区块进行裁剪、基于多细节层次(LOD)[2]的模型等,所有这些技术都是为了减少绘制时的三角形的数目,以加快绘制的速度。传统的LOD算法在剔除渲染顶点的过程中占用了太多CPU资源,出现GPU等待CPU的情况,那么即使算法在剔除多余顶点方面做的很好,但总体绘制效率也不是高效的。几何多重映射[3,4]等算法由此产生。本文在Geo MipMap(Geometrical Mipmapping)算法和分形方法相结合的基础上,提出了改进裂缝处理方法以及三角形的连接方式,使得在提高绘制效率的同时,保证了绘制图形的质量。通过位置索引方式组织存储顶点数据,使得CPU的工作进一步减轻。最后利用上述方法进行地形生成实验,给出地形生成的结果。

1 海底地形建模

获得海洋数据,需要投入大量的人力、物力、财力。很多海洋数据都不是公开的,为了对海底地形进行仿真,需要先构建仿真数据。因为分形几何关注的是物体的随机性、奇异性和复杂性,所以分形理论能准确地描述真实地形。因此,本文用分形的方法产生地形绘制所需的数据。

地形建模的主要任务是生成地形的数字高程模型(DEM),即应用中点位移算法生成二维平面上各个点的高程数据。分形几何算法中的中点位移法是最基础,也是应用最广泛的算法之一。该算法在地形生成的过程中,通过不同点之间的插值方法来进行地形建模,因此可以产生真正的分形地表。鉴于该算法具有效率高、分形层次简单、实现方式容易等优点,是地形建模中最常用的分形方法[5,6]。根据细分方式的不同,又可以分为三角细分和正方形细分。分形理论在近年来得到了广泛的应用,在此不作详细介绍,见参考文献[5,6]。

分形方法能够逼真地展现地形场景,然而如果只用分形的方法生成高程数据而直接把采样点连接起来,生成地形的速率就不高。因此,本文先用分形的方法生成地形的高程数据,再用Geo MipMap算法对地形模型进行构网。

2 GeoMipMap算法基本思想

Geo MipMap算法是Willem根据纹理多重映射的概念提出的,他把整个地形场景在xz平面上进行分块(block),比如用33×33的block把1 025×1 025的地形表示为32×32个block。Geo MipMap算法要求地形块的大小满足(2n+1)((2n+1)(n为自然数)。每个地形块可以用不同分辨率的地形模型表示,同一地形块内的分辨率是相同的。采用隔行采样的方式生成不同分辨率的地形模型。

当相邻两个block具有不同分辨率层次时,具有较高分辨率层次的block具有更多的高程点,当二者共享边界时,就会出现T连接。T连接是指一个三角形或多个三角形共享另外一个三角形的一条边的一部分,图2的高程点处就产生了T连接(先忽略掉小三角形,三角形为后来改进后补上去的)。T连接会引起的“裂缝”,这是任何地形绘制应用都不能接受,必须避免的。Geo MipMap算法采用了改变较高分辨率层次block的高程点之间的连接方法,来消除裂缝,如图1所示。Geo MipMap算法通过改变高程点之间的连接方式,在较高分辨率的block内忽略高程点,边界上的高程点直接相连,从而避免了T连接。

分别对每个子块进行绘制,再拼接起来就组成了整个场景。然而不同分辨率的地形块拼接在一起时会产生裂缝,为了消除裂缝,在较高分辨路地形块的边界上舍去一些点(没连斜线的那些点),如图1所示。

3 视截体裁剪技术

地形场景的数据量是庞大的,在绘制地形场景时一次性读入整个模型数据是不可能的,而且也没必要。在实时显示中,有些场景是看不到的,就可以把它裁减掉而不需要绘制出来,只绘制看得见的部分,这可大大提高绘制速率。

首先,视截体由上、下、左、右、前、后六个面组成。然后为每一个地形块创建一个包围盒。可见性的判断通过计算包围盒的每一个顶点到视截体六个平面的距离判别,因为所有的平面都是面向视截体内部的。根据公式(A、B、C、D为平面系数):

当d>0时,说明顶点在平面的前面,认为定点是见的;反之当d<0时,说明定点在平面的后面,认为视点是不可见的;当d=0时,说明顶点在平面上,一般来说是可见的。当包围盒的所有顶点都不在视截体内时则该地形块不参与场景绘制。

4 多分辨率地形高效绘制算法

4.1 基本思想

本文先用分形算法生成高程数据,再用Geo MipMap算法对地形模型进行构网,采用视截体技术,将不在视域范围内的地形块剔除掉。首先将地形分成大小相等的几个地形块,根据视距算出每一个地形块的等级存放在查找表中,然后根据地形块的可见性,根据地形块四叉树的中心以及地形块的等级就可取出相应的数据进行绘制,大大减少了进入进入渲染管道的顶点数。对裂缝的消除改进了图像的质量。

Geo MipMap算法将block作为简化的基本对象,与传统LOD算法相比,CPU负担轻,GPU吞吐量大,但存在着两个明显的缺点。首先,每一个block内高程点的连接方式受到了相邻block的限制:其次,这种在接边裂缝处将高分辨率顶点强行拉向底边以达到闭合的方法,会给接边处造成地形损失,而且这个损失不能控制在阈值允许的范围内。

针对Geo MipMap算法的缺点,笔者借鉴文献[8]介绍的消除裂缝的方法,提出自己的改进算法,见下文介绍。

4.2 视相关的层次选择算法

4.2.1 屏幕空间误差

在视点相关的多分辨率地形模型算法中,误差是选择分辨率层次的依据。在地形可视化中,地形数据在三维模型空间中以三角形网格来表示,将其投影到二维的屏幕空间形成最终的输出图像。屏幕误差是近似网格与原始网格间的模型空间误差在屏幕空间上的投影,可以用来评价输出图像的质量。在地形可视化的算法中,通常都采用屏幕误差作为评价准则。

屏幕误差的计算公式[8]为:

其中,ε为物空间产生的几何误差,p为该误差投影在屏幕空间产生的屏幕误差(单位是像素),H为视域范围内垂直方向的高度值,y为视域范围在投影面上的宽度(单位是像素),D为视距,θ为垂直方向的视角。

对于给定一个误差阈值为τ(单位像素),则有p≤τ,即(ε×y)/(2D×tgθ)≤τ,得到:

即临界视距的计算公式。

4.2.2 数据的预处理

分块方式的地形渲染算法对地形数据的组织有很强的依赖性,好的数据组织可以加快地形的绘制,通常需要对地形数据进行一定的数据处理,以满足算法的需要。因为在分块方式的地形渲染算法中,地形数据是按照地形块进行组织的,每当要渲染一个地形块区域时,需要将该区域内的所有三角形的顶点数据作为一个整体一次性提交给显卡,让显卡完成对这批顶点的计算以及绘制工作。预先算好绘制每一等级的地形块所需要的顶点,在实时绘制阶段相当重要。

算法在地形分块时将原始地形划分成等级不同的16个正方形地形块,每个正方形地形块代表一个独立地形区域。在数据预处理阶段,计算每一地形块的不同等级到视点的距离Dn(即临界视距),把这些临界视距存放在一个查找表中。在渲染阶段计算当前视点到该地形块中心的距离L,用该距离和临界视距进行比较,伪代码如下:

4.2.3 实时绘制阶段

在实时绘制阶段计算每个需要绘制的block到视点的距离,然后在查找中按照从低分辨率到高分辨率的顺序,查找满足条件的分辨率层次。

4.3 地形数据的总体组织与表示

Geo MipMap算法用的是规则格网数据,高程信息用一个二维数组表示,由于是等间隔采样,x、z的信息可由初始值、行列数以及间隔计算得到。因为二维数组在传递时比较困难,所以把二维数组写成一维的形式但我们还是把它当成二维的形式,相应的读取的时候a[i][j]可变为a[i*with+j],with为二维数组的行宽度。一棵最小单元四叉树由中心点、四个角点、四个边中点组成,用三角扇的方式绘制。整个场景用一棵完全四叉树把这些blocks组织起来,每一个block又可以用一棵四叉树表示。实时渲染时完全四叉树负责场景的裁剪,决定哪些blocks应该绘制,然后计算可见block的网格分辨率,从而得到四叉树的分裂次数。

在实时构网时能快速地访问数据,可以通过有效地计算顶点的索引,以便在剖分过程中能迅速地获取所需要的顶点信息。在仿真数据生成阶段把高程信息、x、z轴的信息分别存在三个数组中。先找出四叉树的中心点的索引cx、cz,通过中心索引cx、cz就可找出四个边中点和四个角点的索引,通过点的索引就可读出顶点数据,就可以读出要绘制的四叉树了。我们按需要的分辨率分裂四叉树,直至达到要求,然后再将每一个最小单元的四叉树读出来进行绘制即可。我们不需要重新组织和存储数据,既方便又省时,比如三角形定点索引,需要的工作量还是蛮多的。

4.4 裂缝的消除

地形块之间由于三角形地形块分辨率不同会产生裂缝。Willem是通过在细节等级高的地形块的边界上去掉一些点,这样使得在用四叉树绘制过程中变得不规律。本文则用剖分三角形的方法。将绘制的地形块的等级跟与其相邻的上、下、左、右的地形块的等级进行比较,如果该地形块的等级比相邻的地形块低,则在边界处绘制三角形。对每一个边界进行修补,直到不再有等级差,即不再产生裂缝。修补过程如图2所示,三角形为补上去的三角形。

左下地形块与右下邻地形块相差了一个等级,所以在左下地形块中多绘制了两个三角形。左上地形块与右上地形块相差了两个等级,先把左上地形块的右边分解为两个三角形,再对分解的三角形进行分解,直到没有裂缝产生。分解是对低等级的地形块进行。

5 实验结果及结论

为了便于观察到有无裂缝,将地形表面以黑色填充。由图3可看出,未消除裂缝前,在不同等级的地形块的连接处会产生裂缝,严重影响了视觉效果。用本文裂缝修补方法后的地形看起来就没有了裂缝,这就符合我们平时看到的地形场景效果,如图4所示。

我们使用大小257×257的高程图作为实验数据,以Duo T2370,DDR 1024M,Intel(R)965显存作为硬件环境对上述算法进行测试。程序用VC+Open GL在Windows XP平台上完成。图5、图6是场景绘制的网格形式截图。表1是测试结果。

由图5、图6及表1可知该方法相比于全细节显示的方法,在不丢失必要细节的情况下大幅度的提高了地形绘制速率,减少了CPU的负担。简化后的地形与原始地形基本一致,在视觉上还是可以接受的。电影的帧速率为24 fps,本文算法绘制地形的帧速率为41 fps,能够满足生成流畅连贯的动画。实验结果表明,该算法能够快速有效地绘制地形场景。

6 结语

本文先通过分形的方法生成模拟地形所需的高程数据,然后再用Geo MipMap算法对地形模型进行构网。用基于顶点索引的四叉树的方法来组织地形数据,从而不用重新组织数据而且也能快速的查找到需要绘制的顶点。本文提出的用三角形剖分消除裂缝的方法不限制相邻地形块的等级差。

参考文献

[1]王奎民.一种快速绘制三维海底地形的方法[J].工程技术,2009(3):82 83.

[2]雷军环,曾凡喜,吴名星.基于四叉树的视点相关LOD地形仿真算法研究[J].制造业自动化,2009(7):7 11.

[3]王洪瑞,陈伟磊,刘秀玲.基于GeoMipMap的分形地形的动态生成算法研究[J].小型微型计算机系统,2011(8).

[4]De Boer W H.Fast terrain rendering using geometrical MipMapping[EB/OL].http://www.flipcode.com/articles/articlegeomipmaps.

[5]徐琼燕,李俊峰,吴印华.基于分形理论的三维地形生成算法研究与实现[J].计算机与现代化,2011(5):70 74.

[6]何方容,戴光明.三维分形地形生成技术综述[J].武汉化工学院学报,2002(3):85.

[7]李水根,赵翔鹏.二维和高维空间的分形图形艺术[M].北京:科学出版社,2008.

三维地形 篇5

针对PDA硬件配置低,运算能力差等弱点,本文提出了一种基于PDA的三维地形实时绘制的优化方法.在地形数据装载到PDA之前,我们对其进行预处理:顶点坐标转换,计算法向量等并将数据根据PDA的显示特点进行分块;地形数据实时绘制过程中,我们采用假光照,背面消隐,多索引机制等方法进行优化处理.最后,在PDA上完成了实验论证工作,实验表明经过该方法处理后较明显的`降低了地形绘制的响应时间,并给出了测试数据.

作 者:李昂 范荣双 张军 洪莹 LI Ang FAN Rong-shuang ZHANG Jun HONG Ying 作者单位:李昂,LI Ang(中国测绘科学研究院,北京,100039;辽宁工程技术大学研究生学院,辽宁阜新,123000;中国民航大学空中交通管理学院,天津,300300)

范荣双,张军,FAN Rong-shuang,ZHANG Jun(中国测绘科学研究院,北京,100039)

洪莹,HONG Ying(辽宁工程技术大学研究生学院,辽宁阜新,123000)

三维地形场景并行渲染技术研究 篇6

一、地形场景高性能渲染技术

地形场景高性能渲染技术在实际的应用过程中, 主要是根据两个方面来进行, 首先, 地形场景高性能渲染技术需要通过对地形场景的实际数据进行合理的组织以及调度, 在保证浏览效果的同时, 能够切实有效的控制参与渲染的数据量, 从根本上对其形成严格的控制;另外地形场景的高性能渲染技术是采用加速渲染的手段来进行, 这样有效的增加单位时间内三维地形的整体场景数据处理量, 从而保证数据的处理效率和处理质量。

地形场景高性能渲染技术在简化地形场景数据量的方面, 一主要是利用LOD的方式来进行, LOD方式可以说是当前大规模条件下三维地形场景渲染的重点研究项目之一, 而在实际的应用过程中, 加速渲染主要是利用软硬件的加速来实现其自身的加速, 比如GPU加速技术、储存访问优化技术等等, 其中还包括并行渲染技术, 而在各种各样的技术当中, 并行渲染技术可以说是软件加速方法当中最重要的组成部分之一, 也是不可缺少的一项技术[1]。

二、并行渲染的分类和实现平台

2.1并行渲染的分类体系

2.1.1基于数据调度和功能实现方式的分类分析

在计算机图形学当中的并行渲染技术主要是为了能够给三维地形提供渲染理论和技术基础, 而在实际的应用过程中, 并行渲染的数据算法主要分为两种, 一种是数据并行算法, 而另外一种则是功能并行算法。并行渲染的数据并行算法主要是在实际的计算过程中, 将模型数据划分成为多个数据流, 之后给每一个数据流都分配相对应的图形处理单元, 这样保证每一个数据流都能够执行绘制任务, 保证多个绘制过程共同执行的效果, 在多个绘制过程共同实现的过程中, 不仅包括对象并行, 而且还包括图形并行, 这样能够有效的提高绘制效率, 并且能够保证绘制质量。而并行渲染的另外一个算法是功能并行算法, 这种算法主要是将绘制流水线进行有效的分解, 并且分解成不同的执行模块, 在实际的操作过程中, 各个模块可以顺序性的处理各种各样不同的数据, 而模块之间能够形成并行执行的状态, 所以功能并行在一定程度上也可以称之为流水线并行[2]。在三维地形场景当中, 上述两种并行方式可以相互配合混合使用, 另外, 在动画影视领域当中经常会使用到时间的并行算法, 时间并行算法主要是指对于不同的图象处理单元需要负责不同帧的图象生成, 如图1即为数据并行、功能并行以及集成并行的示意图, 其中P代表渲染点、G则是代表几何的整个处理阶段、而R则是代表着像素的整体处理阶段。

2.2实现平台

1、高性能计算机。为了能够充分的保证高性能图形工作站以及并行计算机的合理应用, 能够有效实现两者的平台就是高性能的计算机, 而高性能的图形工作站不仅具有多个CPU, 而且还具备高性能的GPU, 并且能够将在日常当中使用的并行渲染技术集成到硬件的使用过程当中。而并行计算机不仅具备高通信宽待的能力, 而且在一定程度上可以实现并行计算, 所以其自身在并行计算机领域当中被广泛应用的同时, 在图形并行渲染方面也被大力的宣传和应用。而在高性能图形工作站以及并行计算及的并行绘制系统的实际应用过程中, 两者主要是为了能够针对一些比较高端的图形应用来进行, 其中还包括一些平台设计、或者是一些具有特殊特点的应用, 这种系统的可拓展性相对来说比较差, 并且其自身的设备比较的昂贵, 导致需要投入的资金金额比较大, 所以在当前的市场上很难做到普及[3]。

2、计算机集群。计算机集群是建立在高速网络平台上的工作站或者是PC集群, 其自身具有并行机的优势和特点, 并且具有多CPU的特征, 是能够保证三维图形构建的有效措施之一, 并且能够构建并行绘制系统。计算机集群的灵活性能相对来说比较高, 并且其自身的拓展性也比较良好, 不仅有利于构建混合系统, 而且能够保证工作效率和质量的整体提高, 计算机集群并行绘制系统的自身特点相对来说比较多, 其中包括其自身的性价比比较高、可扩展性能比较良好, 如今如此, 计算机集群的并行绘制系统的升级相对来说比较的方便, 并且能够其自身的适用性比较的广泛, 但是在实际的使用过程中, 仍然受到网络宽待的限制, 所以这也间接的导致数据通信成为渲染性能的阻碍影响。

3、多核微机。高性能计算机以及计算机集群这两种并行渲染实现平台, 由于其自身的设备比较的昂贵, 并且规模相对来说比较的庞大, 所以对于个人使用来说, 并不是很合适, 而当前个人用户对于三维图形逼真度的要求也在不断的提高, 在这种形势下, 微机平台上的并行渲染逐渐成为人们广泛关注的热点之一, 但是当前多核微机并行渲染系统仍然处于探究、研发的阶段。

三、地形场景数据并行调度

在实际的操作过程中, 因为三维地形场景的数据规模相对来说比较的庞大, 所以在实际的系统绘制过程中, 并不可能一次性的将所有的数据都加载到内存当中进行妥善的处理, 所以在这种形势下, 就需要对地形数据进行分页或者是分块的处理方式, 并且能够建立相对应的地形空间索引的方法, 这样能够切实有效的保证地形数据的动态装载, 从而实现地形场景数据的并行调度。而在实际的操作过程中, 利用地形数据的分页或者是分块方式不仅能够有效的保证数据的并行调度有序展开, 而且对于纹理的处理以及并行绘制方面来说都提供了一定的便利条件。其中数据分页的方法主要是指将地形数据划分成为多个数据页, 并且将每一个数据页都作为地形场景当中的一个节点;而数据分块则是指地形数据在被划分成为数据页之后, 对其进行多个数据块的划分, 并且将这些数据块作为数据调度的最小单位, 这样能够保证数据页和数据块的相互配合和作用[4]。但是在实际的操作过程中, 由于地形的分块粒度会受到各种各样因素的限制, 而分块的粒度大小都会直接对系统的效率产生影响, 所以当前并没有实质性的标准来规定分块的大小。

在实际地形场景数据调度的过程中, 普遍情况下都会利用缓存技术, 缓存技术主要是根据渲染的需求, 将即将进行渲染的地形数据块从外存妥善的调入到缓存当中, 并且在实际的绘制过程中, 将需要渲染的地形数据块有缓存再调入到内存当中, 在两者准备完成之后, 可以同时释放掉内存当中并不需要的地形数据块, 这样能够保证不占内存。在数据的实际调度过程中, 一般情况下都会采用多线程技术来对内存以及缓存当中的数据块进行维护, 从而有效的解决在缓冲区以及内存当中数据的整体更新问题, 而在实际的地形数据渲染过程中, 由于数据的调度线程以及数据的绘制线程是处于并行处理的状态, 所以能够从根本上有效的提高地形渲染的整体性能[5]。

四、地形场景的并行渲染架构4.1分布式渲染

在当前网络技术的不断发展、分布式计算机技术以及三维可视化技术的快速更新发展的影响下, 在一定程度上为分布式的三维GIS技术能够了一定的契机, 在实际的操作过程中, 为了能够切实有效的针对大规模真实感的三维地形渲染所带来的性能负担, 现如今已经有越来越多的三维浏览系统利用分布式的方式来对三维地形进行渲染, 这不仅是当前的研究热点之一, 同时也是研究难点。

4.1.1客户端、服务器模式

在分布式的渲染方式中, 主要包括服务器和客户端两个方面, 其中服务器主要是为了能够针对客户端所发送的一系列请求进行接受和处理, 并且对三维模型数据进行分辨率、数据压缩以及编码等一系列的处理工作, 服务器在三维渲染系统当中可以说是起到一个数据建模以及传输的作用;而客户端主要是为了能够保证模型数据的渲染, 并且对其自身相对应的解压缩以及重建工作, 而在实际的应用过程中, 客户端和服务器为了能够保证三维渲染系统的有效实现, 利用的是数据处理与渲染过程分离的方式来进行并行渲染。

4.1.2微机集群模式

在微机集群模式不断开发和利用的影响下, 现如今大规模的三维地形也逐渐开始利用微机集群的模式来进行并行渲染, 微机集群模式主要是利用主从结构来进行, 也就是利用主控节点来对整个显示系统进行宏观的调控, 比如网络通信以及任务的分配等等, 利用各个子节点来将场景拼接成为一个完整的显示图象, 但是微机集群模式是需要依赖网络传输宽待才能够进行工作, 其自身的性能完全的受制于网络[6]。但是最近几年, 随着科学技术的不断发展和更新, P2P技术的出现, 将微机集群模式的主控节点分配到可以直接处理模型数据以及客户端的请求方面, 并且在数据的实际传输过程中, 模型数据可以利用多个客户端之间相互分发所需要的数据的方式, 利用这种方式不仅能够有效的解决之前主控节点负担过重的问题, 而且能够从根本上降低微机集群模式对于网络的依赖性。

五、并行渲染技术现存的问题分析

1、根据上述内容不难看出, 分布式特别是微机集群模

式的并行渲染技术, 在实际的渲染系统运行过程中, 图形的渲染过程需要大量的数据传输, 而当前的网络宽待很难满足这种大数据量的数据传输, 所以分布式以及微机集群模式的并行渲染技术, 在当前仍然受到网络款待的严重限制, 并行渲染系统的功能性并不能够切实有效的发挥出来。

2、而利用微机平台实现三维地形场景并行渲染技术,

主要是在操作系统提供多线程机制的条件下才能够切实有效的展开, 但是其自身并不能够针对多核CPU或者是GPU的特点来形成专门的技术体系, 导致其自身在应用的过程中, 也受到一定的局限。

3、当前针对三维地形场景并行化的研究主要是渲染的

管线部分实现并行, 但是对于渲染管线的整体并行方面的研究力度仍然不足, 缺少一定的理论支持以及技术讨论[7]。

六、三维地形场景并行渲染的未来发展趋势分析

1、计算机集群由于其自身的性价比以及可拓展性都比

较好, 并且升级方便、适用性也比较的广泛, 所以在未来并行渲染技术发展的过程中, 计算机集群可以逐渐成为大规模三维地形场景并行渲染的主要展现方式之一, 对其进行的研究也就不断的重视起来, 而对于网络宽待的问题研究也将持续进行, 这样才能够有效的缓解当前计算机集群在三维地形场景并行渲染应用过程中的一系列问题[8]。

2、多核微机平台在其自身的未来发展趋势中将会成为

能够实现三维地形并行渲染大规模三维场景的一个重要研究方向以及发展方向, 由于多核微机和高性能图形工作站以及并行计算及的体系结构方面存在着一定的差异性, 由于高性能计算机的并行渲染算法不能够直接应用到多核微机当中, 所以针对多核微机的并行渲染平台需要根据其自身的实际情况、组织调度以及相对应的方式方法来推行符合其自身的新型并行渲染算法。

结束语:当前, 在大规模三维地形场景高性能渲染系统的开发以及应用过程中, 主要是利用分布式的机制来切实有效的实现并行渲染, 从根本上提高渲染性能, 并且将并行渲染的作用力充分的发挥出来, 而微机平台可以说是三维地形场景当中使用最多的客户端平台, 而在当前CPU以及高性能GPU自身储存量的不断提高, 在微机上实行并行渲染也已经具备了一定的实现条件。

摘要:在科学技术不断创新和广泛应用的影响下, 三维地形场景并行渲染技术不仅能够对地形数据进行有效分析, 而且能够保证并行数据调度机制的合理运行, 本文对三维地形场景并行渲染技术进行分析, 并且对其当前应用过程中存在的问题进行研究。

关键词:三维地形场景,并行渲染技术,研究

参考文献

[1]卓亚芳, 赵友兵, 石教英.实时地形绘制算法综述[J].计算机仿真.2011 (03)

[2]朱庆, 龚俊, 杜志强等.三维城市模型的多细节层次描述方法[J].武汉大学学报.信息科学版.2010 (11)

[3]左志权, 陈媛.TB级地形数据实时漫游核心算法研究[J].中国图像图形学报.2010 (09)

[4]冷志光, 汤晓安, 郝建新等.大规模地形动态快速绘制技术研究[J].系统仿真学报.2011 (10)

[5]潘少明, 喻占武, 王浩.基于节点分组的P2P海量地形数据共享机制[J].武汉大学学报.信息科学版.2011 (06)

[6]刘扬, 宫阿都, 李京.基于数据分层分块的海量三维地形四叉树简化模型[J].测绘学报.2010 (04)

[7]段光明, 李思昆, 曾亮等.一种高效的大规模三维地形遥感影像纹理映射方法[J].系统仿真学报.2011 (02)

三维军事地形中山体制作的难点解析 篇7

1、原理剖析

DreamScape制作山体的原理其实是3DSMAX中“置换”命令的扩展, 即海拔高是利用灰度颜色的位图来显示, 当该位图置换到平面网格物体上以后, 黑白灰的颜色分别生成不同海拔高的三维模型, 颜色越白高度越高, 反之高度越低, 纯黑为平地。 (如图1-1, 图1-2) 。

但DreamScape的独特之处在于可以利用它自身的地形编辑器随机绘制灰度图像, 在场景中即刻实时显示山体模型, 创建和修改非常方便。

2、制作过程

DreamScape按要求安装好以后, 在“创建”—“几何体”面板下拉框中会出现“幻境对象”命令 (图2-1) 。点击进入“幻境对象”创建面板后会看见“地形”和“海面”的创建命令 (图2-1) 。

点击“地形”命令, 在顶视图创建地形栅格, 并将透视图旋转到正视角度以便实时观察山体生成效果 (图2-3) 。注意参数的设置, “高度”为海拔高;“宽度”的含义为地形栅格长宽各为250个单位;“渲染分段”的含义为栅格物体长宽分段各为60, 如果要求将来的山体更加平滑, 可适当增加“渲染分段”的值。一定勾选“渲染几何体”, 否则无法看到渲染效果。

(图2-6)

接下来就是DreamScape最为强大的功能, 实时绘制山体模型。点击“打开编辑器”, 启动“幻影地形编辑器” (图2-4) 。

按照图2-5的顺序分别设置各项参数。 (1) 在“生成地形”栏目中, “分段”参数的设置决定了所绘制灰度图像的分辨率, 数值越高灰度图像分辨率越高, 绘制的图像越细腻, 相应创建的山体越复杂和细腻;“置换贴图”在这里无需设置, 因为我们要用编辑器实时绘制灰度海拔图; (2) “生成栅格”的命令是让地形编辑器生成一个与场景中的栅格物体比例一样的灰度图像, 否则无法绘制灰度图像, 图像的分辨率则是由“分段”命令决定的; (3) “绘制海拔”栏目中各项参数设置的是绘制灰度海拔图时画笔的大小、柔软度及强度 (即黑白灰的亮度) 。 (4) 编辑器左上角工具栏中的按钮是“绘制海拔工具”, 用于启动绘制灰度图的画笔。

启动按钮开始在编辑器的绘图区绘制灰度图像, 神奇的是在场景内 (主要是在透视图) 可以实时看到灰度图像置换成三维山体模型的效果。随时改变“绘制海拔”的画笔参数如:大小、柔软度、深度等可以灵活改变山体的高度和形状。如果绘制的山体不满意, 可以将“深度”改成负值, 将画笔颜色调成黑色绘制画面, 海拔变成零成为平地后重新绘制。在编辑菜单中有“暂存”命令可以将已经绘制好的部分暂时存储在内存中, 在后续的绘制中如不满意可以将暂存的结果利用“取回”命令取回, 便于分段绘制地形。 (图2-6)

编辑器工具栏的按钮, 是“倾斜绘制工具”, 用于绘制倾斜陡峭的山体斜面, 在“绘制倾斜”栏目中同样可以调整画笔的“大小”、“柔化”、“倾斜度”、“强度”等参数 (图2-7) 。注意, 该工具不能单独使用, 必须在现有的灰度图像上修改以得到倾斜山体。

编辑器工具栏的按钮, 是“纹理贴图绘制工具”, 可以在图2-8 所示位置调入一张位图图片作为灰度海拔图像, 绘制出来的实际山体显示的就是这张位图的形状。 (图2-9)

模型制作完成后, 可以运用3DSMAX另一个制作材质的插件GroundWizLite (地形贴图) 调节出地形表面的材质赋予给山体模型。图2-10是本人具体实践中的作品截图。

3、结语

3DS MAX是一个强大的三维动画制作工具, 但其自身也有局限性, 有些特殊模型 (比如自然景观的设计) 就很难用3DS MAX自身的命令完成。幸运的是3DS MAX是一个开放的设计平台, 大量的外部插件使它如虎添翼, 本文中运用的DreamScape (幻境) 、GroundWizLite (地形贴图) 等插件既是其中优秀的代表, 使我们在实际的创作中制作出几可乱真的自然景观。

摘要:在部队的军事训练中, 经常运用3DSMAX制作电子沙盘, 以显示军事地形。而军事电子沙盘在制作中离不开与现地地形一致的山体三维模型。运用DreamScape.2.5 (c幻景) 插件在3DSMAX 9.0中制作山体, 能够达到较为逼真的效果。

三维数字地形图的测绘技术研究 篇8

关键词:三维数字地形图,地形模型,测绘

1 背景

数字地形图便于使用、储存和绘制, 但目前大部分数字地形图仍然是二维的, 即所有的高程点和所有线上的特征点只反映其平面位置, 而不反映其高程, 地形图中所有的点和线都是二维的。为了克服二维数字地形图在空间表示和应用方面的不足, 三维数字地形图应运而生。在三维数字地形图中, 特征点和特征线都是三维的, 这使得计算或查询线状地物上任意两个特征点间空间折线段的长度;查询任意特征点的平面坐标和高程即三维坐标;绘制线状地物上任意两个特征点间的纵断面图;测量或查询任意两个特征点之间的倾斜距离、水平距离、高差、坡度、水平方位角和空间方位角变成可能。这些功能的实现对于线状地物的工程规划和设计如灌渠路线的规划和设计、输电线路的规划和设计等等具有极高的利用价值。

2 三维数字地形图的基本概念

2.1 三维数字地形图的概念

三维数字地形图用三维离散点表示地物和地貌的空间位置和立体形状, 它把地形和地物都看成三维空间对象, 其也是线划地形图。也就是说, 三维数字地形图中所有表示地物和地貌的特征点和特征线都是三维的, 其中X和Y用来表示地物或地貌在水平面上投影的位置;Z用来表示它的高程。

2.2 三维数字地形图的特征

三维数字地形图具有以下特征: (1) 它不能是纸质的, 只能是数字或电子形式的。 (2) 它既能反映其上地物立体形状, 又能反映制图区域内地球自然表面的高低起伏。 (3) 它是按1:1或同一比例尺来表示地物的平面位置或大小与竖直方向的高程或高度 (所谓高度就是地面上空一点沿铅垂线到地面的距离) 的。 (4) 它是用三维离散点表示地形或地貌以及地物空间立体形态的矢量地图。 (5) 它在反映空间地理信息时都是比较精确、细致和详细的, 用比例尺 (或空间分辨率) 的概念表示就是大比例尺 (或高分辨率) 的, 如1:500 (或0.05米) 、1:1000 (或0.1米) 和1:2000 (或0.2米) , 且通常都是小区域的。

3 三维数字地形图测绘实例分析

受广州市某工业园区管理委员会委托, 对其工业园建设用地进行控制性测量和数字化三维地形图测绘。该工业园区周边有数个村落, 南边有一条国道通过, 交通比较便利, 测区村庄密集, 村庄周围树木较多, 通视困难;测区东北部有大片水田;测区西部为鱼塘, 水深测量相当困难, 本次测绘所执行的技术标准见表1。经现场勘探并从多方面收集资料, 测区附近有广东省国土资源厅测绘院布设3个GPS-D级点、2个GPS-E级点作为本次平面控制起算点, 测区高程控制采用4个四等水准点作为本次测绘的高程起算, 采用GPS高程拟合测区高程。

3.1 测绘选点和埋点

本次测量的首级平面、高程控制都是采用GPS全球定位系统。根据测区的现场情况, 在楼房、高坡地、公路边、岩石区等土质坚硬的地方选点, 采用预制好的混凝土标石进行标示并对其编号, 混凝土标石的型号为上截面15cm×15cm、下截面20cm×20cm、高为60cm×60cm。

3.2 测量观测方案

3.2.1 测前准备。

在观测之前, 先要注意做好GPS内存数据容量检查、认真了解各GPS点所处的环境及最佳观测时间、GPS各项设置如静态或动态、高度截止角、天线类型、天线量测方式、数据采样率等是否正确等数项准备工作。

3.2.2 观测方案。

观测作业开始后, 出发到测点前, 应认真检查GPS主机、电池、电缆、测GPS天线的钢尺、记录纸、笔、脚架及对讲机等必备品;认真地架好仪器, 对中、整平、接好电缆;量测天线高, 这里要注意GPS天线高的量测一般都是量的斜高, 不要人为地改为垂直高;开始观测时, 只需按下电源开关, 这时记录好测点名、开机时间、开机时天线高;观测结束时, 先关电源, 不要马上拆机, 还要再量天线高, 以判断观测过程中仪器是否动过。

3.3 GPS数据传输及处理

3.3.1 数据传输。

数据传输一般要注意以下几点: (1) 由于开关电源以及一些外界干扰会造成GPS数据异常, 因此在数据传输之前首先要查看GPS中每个时段里记录的数据是否大小相近, 删去无效数据; (2) 随后要检查软件中的各项设置如GPS类型、天线类型、天线高的测量方式等是否一致; (3) 传输数据时, 要记录好各数据文件的时段号、点名, 以备基线解算后用; (4) 在做好上述工作后, 查看高级设置, 给定高度截止角、PDOP值等几个重要设置, 即可传输数据。

3.3.2 数据处理。

(1) 基线向量解算时, 可根据不同情况, 设置好是解算部分基线还是解算全部基线, 软件自动解算; (2) 基线向量解算后, 可初步检查一下评判各基线的置信参数, 检查同步环、异步环等闭合差, 检查不同时段同一条边的较差, 查出超限原因, 剔除有粗差的基线; (3) 若发现有问题的基线, 可以查看各点接收到的卫星状况及其他有关部因素, 以查找原因, 确定此基线是否重新解算还是重测。

3.4 平差计算和高程拟合

GPS定位结果要从WGS-84大地坐标系转换为1954年国家坐标系, GPS基线向量网的平差一般分为无约束平差、约束平差和联合平差三种类型。GPS网一般要联测3~5个已知点, 联合平差是解决GPS网成果转换的有效手段, 也是绝大多数地区目前唯一行之有效的方法;根据无约束平差成果分析, 主要考察基线向量观测值改正数、各点坐标中误差、点位中误差、GPS基线向量边的方位和边长相对精度, 若发现有明显粗差, 则要在联合平差前剔除;主要考察各类观测值的改正数的分布是否有明显粗差, 平差坐标、点位误差、转换参数、单位权中误差是否通过统计检验, 边长相对精度是否满足设计的精度要求。GPS高程拟合根据不同软件的要求, 至GPS高程拟合根据不同软件的要求, 至少要联测4个水准高程点, 但其高程精度不高, 一般能达到3cm左右。

4 数字化三维地形图的测绘

4.1 图根控制测量

测区采用全站仪布设成附合导线、闭合导线、支导线、极坐标支点可以连续支两次。导线相对闭合差≤1/4000、极坐标支点不宜大于500米、三角高程测量其附合线路或闭合线路≤±40mm, 其中D为测距边边长 (km) , 图根导线采用简易平差计算。

4.2 数字化地形测绘

测区采用数字化测量, 比例尺为1:500, 基本等高距为0.5m, 采用40cm×50cm矩形分幅。使用全站仪进行野外采集数据, 定向方向应>500m, 并进行其他方向点检查, 碎部点测量测距最大长度<300m, 高程注记点间距为25m。测绘过程主要分为以下几个步骤: (1) 设站和检查。仪器对中整平, 仪器对中误差≤5mm, 量仪器高, 仪器高量至毫米;输入气温、气压、棱镜常数;建立 (选择) 文件名;输入测站坐标、高程及仪器高;输入后视点坐标 (或方位角) , 瞄准后视目标后确定。测量1个已知坐标的点的坐标并与已知坐标对照 (限差≤±5cm) ;测量1个已知高程的点的高程并与已知高程比较 (限差≤±5cm) ;如果前两项检查都在限差范围内, 便可开始测量, 否则检查原因重新设站。 (2) 立镜和观测。依比例尺地物轮廓线折点立镜, 不依比例尺地物的中心位置立镜。在建筑物的外角点、地界点、地形点上竖棱镜, 回报镜高;全站仪跟踪棱镜, 输入点号和改变的棱镜高, 在坐标测量状态下按测量键, 显示测量数据后, 输入测点类型代码后存储数据。继续下一个点的观测。对于那些本站需要测量而仪器无法看见的点, 可用皮尺量距来确定点位;半径大于0.5m的点状地物, 如不能直接测定中心位置, 应测量偏心距, 并在草图上注明偏心方向;丈量的距离应标注在草图上。 (3) 绘草图和检查。现场绘制地形草图, 标上立镜点的点号和丈量的距离, 房屋结构、层次, 道路铺材, 植被, 地名, 管线走向、类别等。草图是内业编绘工作的依据之一, 应尽量详细。测量过程中每测量30点左右及收站前, 应检查后视方向, 也可以在其它控制点上进行方位角或坐标、高程检查。 (4) 数据传输与转换。连接全站仪与计算机之间的数据传输电缆;设置通讯中端的通讯参数与全站仪的通讯参数一致;全站仪中选择要传输的文件和传输格式后按发送命令;计算机接收数据后以文本文件的形式存盘。通过软件将测量数据转换为成图软件识别的格式。 (5) 编绘并建立测区图库。成图采用南方测绘仪器有限公司软件CASS5.0成图。图幅编号采用西南角图廓坐标编码, 坐标以公里为单位。建立测区图库, 图幅接边, 输出成图。

结论

随着数字地形图在工程应用中的深入, 为了便于进行空间方面的量测和分析, 人们对它表示地物和地貌的方法和精度提出了更高的要求。而三维数字地形图在工程上具有良好的应用基础, 其可以查询任意特征点的平面坐标和高程等三维坐标信息。因此, 三维数字地形图具有其独特的应用价值, 随着三维数字地形图的不断开发和完善, 相信在不久的将来它一定会有越来越好的应用前景。

参考文献

[1]郭岚.三维数字地形图及其应用的研究[J].测绘通报, 2002, 05:10-11.

[2]王继周, 李成名, 等.城市三维数据获取技术发展探讨[J].测绘科学, 2004, 29 (4) :71-73.

三维地形 篇9

1 地面三维激光扫描仪的工作原理

扫描仪、处理器 (电脑和其含有的处理软件) 、电源供应系统组成了地面三维激光扫描系统。扫描仪扫描数据, 处理器接收和处理数据, 电源供应系统供应这些机器正常运转所需要的电量。扫描仪本身含有扫描系统和激光测距系统, 同时也含有控制和矫正系统及集成CCD。仪器工作时, 通过测量水平角的反射镜和测量天顶距的反射镜一起有序旋转, 将激光脉冲依次扫过被测量的区域, 测量每个激光脉冲的空间距离及扫描激光脉冲的水平角度和天顶距离, 最后通过计算其坐标的方法得到被测量区域的三维坐标。通过Cyrax 2500的Cyclone等软件处理三维坐标得到精细地形的测绘图。

2 实际情况中的运用

某高速公路需要以隧道的方式穿过一座大山, 此大山横在高速公路的施工路线上, 如果绕过此大山将多绕出20多公里, 且弯道多, 不满足高速公路快、直、平的要求, 所以穿越隧道是唯一的解决方式, 但是, 隧道的进口和出口都是峡谷, 需要高架桥连通到隧道的进口和出口, 这样就要对隧道进口和出口的地方进行安全处理, 因此就需要隧道进口和出口1:300的高清地图。这个项目采用I-Site三维激光扫描仪采集数据, Cyrax 2500的Cyclone等软件处理数据, 得到1:300的高清地图。

3 在地面三维激光扫描的精细地形测绘中存在的问题

虽然地面三维激光扫描仪在精细地形测绘中有很多优点, 而且得到的地图也更加准确、清晰, 但是这种技术还处于起步阶段, 主要有以下5个问题影响其推广和使用。

3.1 三维激光扫描方法与传统方法结合上的问题

传统的方法虽然在地势险峻或者危险系数高的地方不能得到准确的数据, 但是在平地或者在不太危险的地方, 依旧占据着主导地位。传统的方法和地面三维激光扫描方法在融合贯通方面做得还不够, 没有很好的发挥这两种测试方法的优点, 要进一步融合贯通这两种测绘方法。

3.2 三维激光扫描仪价格昂贵的问题

地面三维激光扫描仪属于科技含量比较高的仪器, 一般科技含量高的仪器, 都比较贵, 三维激光扫描仪也不例外, 所以在推广上还具有较高难度。

3.3 数据采集不完整的问题

三维激光扫描仪一般都是在环境条件不好的情况下使用, 比如高山群中, 山峰高高低低相互依靠, 形成遮挡现象, 导致扫描仪扫描不完整, 造成数据缺失, 从而影响测绘图的完整、准确。

3.4 数据处理软件不成熟

三维激光扫描仪扫描的结果最终都需要软件处理, 但是目前还没有相对成熟的处理软件, 往往处理结果需要使用好几个软件相互协助才能得到比较准确的结果。这不利于三维激光扫描仪的推广使用, 要尽快开发出一套完整成熟的软件, 用一个软件处理得到精确的结果。

3.5 三维激光扫描仪智能化还不够

三维激光扫描仪智能化还不够, 不能自动或半自动的提取到完整数据, 还需要人工辅助才能得到比较完整的数据。这就要求在设计的时候更加注重智能化, 让三维激光扫描仪能够自动获取数据, 至少也要是半自动的获取数据。

正因为上面的5个问题, 严重影响了地面三维激光扫描仪的推广和普遍使用, 要尽快解决上述问题, 推动三维激光扫描仪的广泛使用。

4 结语

本文简要介绍了地面三维激光扫描仪的工作原理和其在实际情况中的运用, 以及存在的问题。毫无疑问, 地面三维激光扫描仪相对于以前传统的方法有了很大的提高和进步, 尤其是在险峻的高山、湍急的河流、陡峭的悬崖等恶劣环境中, 优势更加明显, 要尽快解决上述问题, 推广三维激光扫描仪的使用。

参考文献

[1]彭维吉, 李孝雁, 黄飒.基于地面三维激光扫描技术的快速地形图测绘[J].测绘通报, 2013 (3) :70-72.

[2]梅文胜, 周燕芳, 周俊.基于地面三维激光扫描的精细地形测绘[J].测绘通报, 2010 (1) :53-56.

[3]李志鹏, 张辛, 喻守刚, 等.基于三维激光扫描的大比例尺地形测绘方法研究[J].人民长江, 2014, 45 (7) :70-73.

三维地形 篇10

Skyline软件套装是一套完整的三维场景建立、发布、浏览的平台, 被广泛应用在国土、测绘、军事、GIS等相关领域, 它为用户提供了先进的三维地形可视化技术, 并且提供了集成三维地形显示开发接口, 方便用户在其他应用程序中利用TerraExplorer提供的COM组件进行集成三维地形可视化编程开发。

2 TerraExplorer接口说明

在VC++环境下, TerraExplorer向用户提供了3个ActiveX控件, 分别是TE3Dwindow、TENavigationMap和TEInformation Window。其中TE3DWindows用于显示三维地形场景, TENavi gationMap用于显示二维导航地图, TEInformationWindow用于显示模型、注记等对象列表。在使用这些组件之前, 需要先安装TerraExplorer三维地形显示库文件如图1所示。

3 集成三维地形可视化开发实例

三维地形的数据处理及可视化文件生成在Skyline的TerraBuilder和TerraExplorer Pro工具中实现, 具体操作在这里不作细述, 下面只是针对系统已经正确安装了TerraExplorer后, 对已经生成的三维可视化文件*.sky文件进行编程调用显示。

实例采用VC++面向对象编程语言实现, 主要步骤如下:

(1) 创建框架程序, 设计包含TerraExplorer对象的对话框, 实现OLE自动化客户支持。

启动Visual Studio, 利用MFC AppWizard应用程序向导创建一个基于对话框的应用程序Pproject1, 创建过程中各选项可保留默认选项, 如图2所示。

1) 创建完成后按如下步骤在程序中加入OLE自动化支持代码:

在stdafx.h中原有#include后加入代码:

2) 在Project1.rc资源对话框中, 插入TE3Dwindow和TEInformationWindow组件, 如图3、图4所示。

插入TE组件后, 再加入两个Button按钮, 最终程序对话框如图5所示。

3) 在Project1.h中加入如下代码:

(2) 程序编码, 实现应用程序与对话框的交互。

1) 在Project1Dlg.cpp文件中的OnInitDialog函数中加入TerraExplorer初始化代码, 获取其句柄:

2) 在“加载FLY文件”按钮的Click事件中加入文件调用代码:

3) 在析构函数中, 释放TerraExplorer组件资源。

(3) 编译并运行程序。

编译成功之后TerraExplorer在VC++环境下的集成开发平台就搭建好了。

用户可以通过点击左侧列表中的对象, 来快速切换显示目标, 也可以在右侧三维视图中, 通过鼠标、键盘进行三维地形漫游。

1) 全球视图效果

如图6所示。

2) 近距离三维效果

如图7所示。

3) 三维注记显示效果

如图8所示。

4 结语

从实用性出发, 详细介绍了在VC++环境下完成TerraExplo rer集成三维地形可视化的开发过程, 该开发过程借助TerraExplorer的强大功能, 编码简单、开发快速, 为三维地形可视化系统应用程序的开发提供了一个良好的思路, 用户可以添加自己的各种算法, 从而实现三维地形可视化的多种应用。

摘要:在VC++环境下, 通过一个Skyline TerraExplorer集成COM开发实例, 介绍了集成三维地形可视化应用VC++和MFC的编程方法, 包括添加OLE自动化客户支持、创建三维地形显示窗口、添加三维地形显示菜单命令等, 为采用VC++创建集成三维地形可视化应用程序提供了一个详实的参考。

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【三维地形】相关文章:

三维地形测量05-21

基于IDL的地形三维可视化技术研究09-11

三维激光扫描仪在地形测量中的应用探析09-10

地形测量06-03

地形因素05-25

地形渲染06-04

地形控制06-15

不同地形06-27

地形整改方案04-25

园林微地形05-11

上一篇:SAT问题下一篇:物理载体