基于ArcScene的三维可视化技术的实现
摘要:三维可视化是运用计算机图形学和图像处理技研究数字地形模型显示、简化、仿真的学科,它涉及到计算机科学与技术、信号与信息处理、通信与信息系统、控制科学与工程、摄影测量与遥感、空间信息科学与技术等诸多学科,广泛应用于计算机视景仿真、虚拟现实、图形图像生成、遥感信息处理和数字地球等领域。
本文主要介绍基于ArcScene平台的三维可视化技术的内容,以及三维可视化的实现过程。
关键字:ArcScene,三维可视化
1引言
近年来随着计算机技术的迅速发展,一门新颖的技术在不断涌出。
三维可视化技术作为当今世界的一门主流技术它能够利用大量数据,检查资料的连续性,辨认资料真伪,发现和提出有用异常,为分析、理解及重复数据提供了有用工具,对多学科的交流协作起到桥梁作用。
与以往的二维技术相比,它能跟直观、可视、形象、多视角、多层次的模拟三维场景,可提供一些平面上无法直接获得或表示的信息。
还可以直观的对区域地形起伏的形态及沟、谷、鞍部等基本地形形态进行判读,比二维图形(如等高线)更容易为大部分读者所接受。
2ArcScene简介
ArcScene是美国ESRI公司开发的ArcGIS软件桌面系统3D分析扩展模块中的一部分,是一个适合于展示三维透视场景的平台,可以
在三维场景中漫游并与三维矢量与栅格数据进行交互,适用于数据量比较小的场景3D分析显示。
ArcScene是基于OpenGl的,支持TIN数据的显示。
显示场景时,ArcScene会将所有数据加载到场景中,矢量数据以矢量形式显示。
它可以更加高效的管理三维GIS数据、进行三位分析、创建三位要素以及建立具有三维场景属性的图层。
例如,可以把平面二维图形突出显示为三维结构。
与常规的可视化系统如
3dsMAX、Maya等相比ArcScene克服了3DMAX、MAYA难以克服的困难,为诸多问题提供了很好的解决方法。
3三维可视化过程
3.1要素的三维显示
ArcScene提供了要素图层在三维场景中的三种显示方式:
(1)通过属性设置基准高程
在要素属性对话框中,选择基本高程选项卡,设置以常量或表达式作为基准高程,填写或点击按钮生成提供Z值的字段或表达式即可,如图1。
(2)使用表面设置基本高程
在设置基准高程时选择由表面获取要素图层的高程,选中Obtain heights for layer from surface单选框,选择所需表面即
可。
要素将会以表面所提供的高程在场景中显示。
如图2
(3)要素的突出显示
在图层属性对话框的突出标签中,选中对图层中的要素进行突出复选框。
并且在文本框中填写或点击按钮打开突出表达式
生成器建立突出表达式。
在Arcscene中二维数据的三维表示主要有两种情况:
(1)二维栅格数据的三维显示
想要将二维栅格数据用三维显示,其必须具有一个显示高度基准,即需要一个表面高度,然后在这个高度之上叠加上二维的栅格数据,这样就可以观看三维显示。
具体操作步骤如下:
○1启动ArcScene并加载二维栅格数据和TIN数据。
○2在ArcScene目录树中右击栅格数据,在弹出的快捷菜单中选择“属性”选项。
○3此时弹出“图层属性”对话框,在对话框中选择“基于表面高度”选项,进入“基表面高度”选项卡。
○4选中“从表面为图层获得高度”按钮,并在其下面的下拉列表框中选择TIN数据。
在“Z单位转换”下拉列表框中设置场景高度Z因子。
在“偏移量”下拉列表框中设置场景偏移量。
○5单击“确定”按钮,完成二维栅格数据的三维显示。
(2)二维矢量数据的三维显示
○1启动ArcScene并加载二维矢量面数据及TIN数据。
○2在ArcScene目录树中右击二维矢量面数据,在弹出的快捷菜单中选择“属性”选项。
○3此时弹出“图层属性”对话框,在对话框中选择“基表面高度”选项,进入“基表面高度”选项卡。
○4选中“从表面为图层获得高度”按钮,并在其下的选择栏中选择
TIN数据。
在“Z单位转换”选项区域中设置场景高度Z因子。
在“偏移量”列表框中设置场景偏移量。
单击“确定”按钮完成基本高度的设置。
3.2场景属性设置
在ArcScene中有时为了更好的表示地表高低起伏的形态,了解区域地形地貌特征,增加场景的真实感,需要对场景的属性进行一系列的设置。
例如,背景颜色、光照条件、对比度等。
场景属性设置主要包括以下几个内容:
(1)场景坐标系统
在ArcScene中场景坐标系统是否一直是影响场景是否能正确显示的重要因素。
如果场景中显示的数据都处于相同的坐标系统之下,则直接添加数据即可,不需考虑图层的叠加是否正确。
如果各个图层存在不同的坐标系统,则须进行适当的转换以确保能正确显示。
通常,当在一个空的场景中加入某图层时,该图层的坐标系统就决定了场景的坐标系统。
在这之后可以根据应用需求再对场景的坐标系统进行修改。
当随后加入其他图层到场景中时,ArcScene将会自动转换新加图层坐标系统使之与场景的坐标系统一致。
若新加入图层没有坐标系统,将不能正确显示,此时可人为地确定坐标系统。
在ArcScene中坐标系统的设置步骤:
○1查询当前场景坐标系统
在table of contents对话框中,选中(Scene properties)选
项打开场景的属性对话框,选中坐标系统(Coordinate System)
选项,当前使用的坐标系统的详细信息将会显示出来。
○2设置场景坐标系统
在场景属性对话框(Scene properties)中,双击预定义
(Predefined),选择坐标系统,之后,所有加到场景中的数据
将使用该坐标系统进行显示。
需要特别注意的是,改变场景的坐标系统,并不会改变图层源数据的坐标系统,只是以场景坐标系统对其进行显示。
(2)垂直拉伸
当表面的细微变化需要强调或突出时,垂直拉升是一中很有效的方法。
特别是对于水平范围远大于其垂直变化时,垂直拉
升更有利于观察分析。
(3)使用动画旋转及飞行工具
ArcScene的3D工具中提供了一些三维的操作工具,例如,旋转、飞行等。
通过对场景的旋转观察,可以获得表面的总体
概况。
但欲使用旋转功能,首先需要将其激活。
打开场景属性
对话框(Scene properties),在General选项中选择Enable Animated Rotation选项即可激活旋转功能。
使用飞行工具,只需要单击“飞行”按钮,将鼠标移至图形区并单击,此时图形将慢慢放大,此时可以用鼠标任意改变飞
行方向。
进行多次单击,可使飞行的速度加快,图形变大。
如
果想使飞行速度减慢可单击右键实现。
(4)设置场景背景颜色
场景的背景颜色对于增加场景的真实感尤为重要,所以在三维可视化的过程中设置场景的背景颜色已成为不可或缺的一部
分。
打开场景属性对话框(Scene properties),在General选项中,选择背景颜色,还可以建所选颜色设置为场景默认背景颜色。
(5)改变场景的光照
通过设置光源的方位角、高度角及对比度可以调整场景的照明情况。
在场景属性对话框(Scene properties)的Illumination选项中,
可以手工输入方位角和高度角或通过鼠标滑动改变这两个参数。
(6)改变场景范围
设置合适的场景范围,可以消除一些无关信息,增加绘图时的性能。
打开场景属性对话框(Scene properties),选择Extent选项,设
定场景范围。
3.3飞行动画的制作
(1)如何制作动画
(2)编辑和管理动画属性
(3)保存动画
(4)使用Fly工具飞行。