设为首页收藏本站优领域

优领域

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
优领域 优领域 建筑领域 园林景观 资料 查看内容

地形建模在虚拟现实表现中的分析与应用

2014-7-13 12:00| 发布者: dzly| 查看: 462| 评论: 0|原作者: 高剑锋

摘要: 本文讲述景观中地形的基本类型:非连续的地块,基地尺度的连续区域,以及全封闭的区域环境。还将分别介绍三种最重要的地形数字化表达方式:二维素描、三维表面模型和三维立体模型。最后得到关于程序式或者算法地形的一些信息,基于地形模型的一些计算例子。

  摘要:本文讲述景观中地形的基本类型:非连续的地块,基地尺度的连续区域,以及全封闭的区域环境。还将分别介绍三种最重要的地形数字化表达方式:二维素描、三维表面模型和三维立体模型。最后得到关于程序式或者算法地形的一些信息,基于地形模型的一些计算例子。
  
  关键字:地形、景观、建模
  
  1  独立高程点
  大多数土地测量者都是通过记录一定间隔的各独立高程点的标高,来得到地形数据,以获取地形的重要特征:如顶点、底点、山脊和山谷的中心线,墙的底部和顶部的高程,树木和建筑物的基础高程等等。通常每一个这样的点都使用一个标签加以注明。这些独立高程点形成了构建其他大部分地形数据的基础数据结构。也可能通过其他的方法获取高程数据,包括航空遥感和卫星遥感,以及通过航片解读的正投影照片。
  每一个独立高程点由三个数据组成:x、y和z坐标。这样一系列的独立高程点就可以使用一个三纵列(X,Y,Z)表格来表示。这些值通常都是对于某个任意指定的点.即基准点的相对值。基准点的值为(0,0,0),单位是英尺或米(m)(或其他单位)。如果相对大的测量体系,基准点的位置和高程是已知的,比如用经度和纬度表示位置,平均海拔表示高程时.独立高程点就可以转换成这个体系中的绝对坐标值,从而可以放到它们的地理环境中去。这样的数值称为地理参考。
  
  2  等高线
  在处理小范围的地形时,专家通常使用的表现方式是等高线平面图:一系列的区线,每一条都有一个高程,相邻两条之间相差一定的高程。它代表了高程相等的曲线(等值线)。这个高程固定差值可能在几英寸或几分之一英尺到几十米(m)之间变化,前者主要用于具体的建筑设计或者是平坦的区域,后者主要用于大区域的地图或山地地形。等高线平面图也可能包括高程点,特别是顶点和底点,它们是不能用高程线的方式表达的。这些数据通常是从已有的地形高程点文件中提取的,或者是景观建筑师和工程师在新的地面上测得的。等高线也可以根据USGS地形学地图获取,或者从其他的数据源获取。
  很多时候,等高线被用于创建立体的或网格的三维表面必须特别注意的是,为了更好地建模,CAD图形中等高线的高程必须是以明确的方式描述的——而不是仅仅在图形附近用文字说明。每一条线都必须伴有明确的Z坐标值。在多数情形下,将直线延伸使之闭合也是很重要的(在一些系统中称为多义线polyline)。最后,在描述一条封闭的等高线时,线条必须明确是封闭的。作为一条规则,对于所有的二维等高线平面图,在用于创建数字地形模型时,必须要明确Z坐标值、具有连续性、在合适的时候明确地封闭。
  如果等高线采用的是样条曲线或其他的平滑曲线,将这一结果转换成三维模型的表面和立体图形时,将会产生不可预料和控制的结果。所以,通常应该重新处理这些数学曲线,用具体的点和短线段取代曲线。在大多数模型中,最后只用这些三维点采创建三维模型的地形表面,而不是使用二维曲线。(不过,表面和立体结构也可能直接使用三维样条曲线和三维的其他曲线直接生成。)
  
  3三维地形
  本文的前面几个部分描述了不同的表现方式和工具,这些表现方式和工具是用来将大量复杂的地形立体结构转换成二维的数据结构,用二维数据结构在纸面上表达出采.通过数字模型,你可以表达出地形的三维复杂性,并且生成二维的或者三维的视觉图像,用来分析或展示。下文将探索各种可用于创建三维数字地形模型的三维数据结构.尽管真实的地形是大规模的立体结构,拥有深度和体积,但是,大多数表现方式的出发点都是把土地处理为一个表面。
  3.1  简单平面
  最简单的地形就是平面。较复杂一点的是倾斜平面,表现为一个倾斜的山地面。建立景观模型至少需要这种地形,提供一个表面来放置其他元素,比如树木和建筑物,它们会在表面上产生阴影。为了保证表面上的物体看起来像是坐落在地面上的,我们通常使物体底部的高程值略低于地形表面或平面的高程值,这样它们实际上是嵌入在表面里的。
        在景现中,设计者经常用一系列的斜面来构成一个地面,这样的设计可以使得废水能够从使用区域(门道,台阶)排入下水道收集系统(诸如水槽,格栅等构筑物,或水渠。池塘等开放的水道)。对地表的这一设计过程叫做土工修整。在专业实践中,它是用平面图来表示的,平面图展示了独立高程点,目标坡度和可能的等高线.在内部空间,如建筑物中,地板实际上是比较水平的,而在外部空间,如景观中,很少有真正水平的区域,否则它们将形成水坑和池塘。人类使用的地表(行走、娱乐和停车等)坡度通常在0.5%(在100英尺的距离上高程只改变0.5英尺)到10%(在10英尺的距离上高程改变1英尺)。在简单的视觉模型中,水平表面可以提供一个可接受的近似;如果使用实际的坡度数据作为建模的基础,那么无疑将会出现多个轻度倾斜的表面。
  大部分的自然地形都比简单的倾斜平面复杂得多,但是在高度抽象后,自然地形也可能表达成一系列的交叉平面,它们的交线构成了脊和谷。在自然环境中,山谷起水流流过的地方,而脊可以定义为集水盆地(或流域)的分水岭。在局部较小坡度的凹陷处,水将会汇集并形成水池和湖泊。在陡峭的山谷里,水流将会沿着相对笔直的路径前进,并且受到地质基础的构成材料的影响。在大的缓坡区域,水流将会更弯曲,形成婉蜒曲折的S形曲线。
  3.2  栅格网面
  在二维图像中,等高线具有较好的图像质量,但是对于数字存储来说,它们是一种复杂的数据结构,因为数据文件必须包括任意一个点和它相邻的点的连接,追踪折线,并记录每一条线的Z坐标等。一种更简单、更普遍适用数字高程模型的数据结构是栅格,特别是对于更大的区域。栅格是由一个矩形数组组成的,其中每个数表示规则网格上每个点(x,y)的高程(z)值。
   最简单的栅格数据可视化方式是渔网形栅格,即从每个网格单元的中心出发绘制四条线到它的四个相邻的矩形区域。在这种情形下,每条线都是简单的直线,但是必须注意到由四条线构成的每个面可能都不是一个简单的平面——事实上,它更像一个双曲抛物面。由于不存在任何表面法线,而且表面不能简单地投影,所以上述事实对透视造成了很大的影响。然而,作为一种线框表现方式,这种方式简单明了,通常比较有效,特别是在删除了隐藏面和隐藏线后。
    

 
  图一 渔网形栅格


  
  
  
   在创建这些模型时,最重要的变量是网格的大小。如果网格太小,可能会导致文件太大,渲染时间增加,而生成的图像中线条可能太密集。如果使用太大的网格,则表面可能显得太粗糙。
 
  

  图二 密集的栅格
  

  图三 合适的栅格

  
  
                                 
  3.3  规则表面
   另外一种简单、直接的由等高线生成三维表面模型的方法是创建“规则表面”,即在相邻的两条等高线之间生成三维面。如果每一条等高线都是三维等值的(具有相同坐标值的一条折线),一个简单的方法包括连接第一条线上的每一个顶点和第二条线上合适数目的点,组成一系列的四边形或者三角形,它们合在一起就构成了一个三维表面。既然这个方法中的每一条线上的每一个点都被使用了,等高线将具有连续性,没有缝隙。这个方法最大的窍门是,对于每一对线条,要决定第二条线上有多少个点应该和第一条线上的每一个点连接。如果碰巧每条线上的点的数目相等,选择就比较简单了,可以生成一系列矩形、梯形或者菱形四边形的面。如果线条上的点的数目不相等,特别是当数目相差比较大时,生成的将是一系列的三角形。
  3.4  TIN---不规则三角网络
   规则矩形网络的网(鱼网)和规则表面尽管在概念上简单,并且能够有效地进行计算,但是它们也有几个缺点。首先,规则空隙的网格可能没有效用:网格间规则的空隙缺乏变化,在很小或者没有起伏变化的地域,需要输入很多多余和重复的点,而在起伏很大的地域,如果它们不是直接落在规则的网格空隙上,有些重要的地形特征可能因此而丢失。在起伏变化的地形上,为了能够描述起伏最大的地域所使用的最小网格,必须应用于整个地形。如果出于节约方面的考虑而选用了大的网格,那么局部区域的细节就可能被丢失。例如,一个山峰,或者高点,可能同时位于两个网格上,并且是这样使用和存储的。
   另一种可以替代的数据结构是不规则三角网络(TIN),它可以解决上文提到的问题,并且具有其他一些优点。在不规则三角网络中,不规则间距和位置的独立高程点被连接成连续的三角网络,每个点(顶点)都通过直线(边)与其他至少三个点相连接。将一组三个以上的点连成相邻的三角形有多种方法,但是最常用的是德劳内三角剖分。这是一种十分有效的三角剖分方法,它只将每个点和它最相邻的点连接起来。(技术上讲,对于任何可以构成三角形的三个点,由它们定义的圆不可能包含其他任何点。)
  使用三角形和不规则点可以克服鱼网的前述两个缺点。由于不是规则的网格,只有在地形发生变化的地方才需要选取数据点。在一个相对扁平或低坡度的大区域里,只需要很少的几个点就可以描述地形。在起伏更大、坡度变化更剧烈的地域,需要获取了记录更多的点。此外,在这种方法中,重要的点如局部的高点和峰点,或底点,水流的中心线等,都能够被测量并插入到模型中。对于分离表面的软件来说,这是重要的线索。因此,在三角形之间的折缝或边缘,都是沿着自然特征地形,如河流和山谷,从而使得所创建的三角形和这些特征地形没有交叉。
    可以使用等高线直接创建—个不规则三角网络,只要简单地将等高线中的每一个顶点视作—个独立高程点,这样的不规则三角网络倾向于包含所有的等高线,这些等高线用作三角网络的边或线条,三角都位于两条等高线之间。一个不规则三角网络也可以用不规则间距或规则间距的独立高程点生成,在这种情形下,首先通过点生成表面,然后通过一些控制法则生成三角网络。比较典型的法则有三角的绝对总数,或者一些小三角形的尺寸限制,或者两者都有。
   因为只需要对三角形进行透视操作,而计算一个简单表面通常是容易的,所以直接使用朗伯余弦阴影法或者其他的一些产生阴影的简单技术来创建阴影。此外,由于一个三角形必然是一个平面,我们可以很方便地从这些三角形中提取等高线,因而可以很容易地从一个不规则三角网络生成一个等高线平面图。剖面图也是很容易和明确的。因为每一个三角面都有简单计算即可得到的坡度和方向,从不规则三角网络进行坡度和方位计算比较简单。既然不规则三角网络支持任意小的三角形,通过移动表面,或者增加其他形式(诸如垛、边坡、狭道等)等方式所作的修改都能够很容易地通过插入更小的三角形来达到。
  然而,不规则三角网络模型也有它自己的缺点。最显著的是,用来描述三角剖分的数据结构相对比较复杂。除了单独的存储点、线和面的表格必须保存,还有复杂的系统用来指示点和线(边)之间的连接,线和三角(面)的连接。(如前所述,栅格DEM相比TIN只需要简单的矩形表格数据。)对大量的点进行三角剖分计算可能需要很多的时间。
  不同距离处的物体包括地形都需要表现不同的详细程度,控制详细程度,或者LOD,是对景观建模者的最大的挑战之一。除了最简单的静态视图,其他所有的视图,为了利用有限的资源(主要是计算机内存和程序运行时间)获得理想的结果,必须进行权衡和优化。理解LOD的要求与感觉,以及所要生成的表现方式的抽象程度很有关系。如果背景真的只是背景,填充空虚,或者只是提供一些传统的背景,你可能考虑完全忽略它!如果背景包含重要的信息,你可能仔细检查一些信息,看它是否和颜色、材质或地界的放置有关。确定背景以及模型中所有元素的重要要求,可能有助于决定权衡LOD的最好策略。如果你真的决定你需要在每一个地方都获得细节信息,你就必须为这个结果做准备:通常需要巨大的内存和很长的渲染时间,使得实时导航变得不现实。一些动态的LOD操作技术已经被发展起来用于动画制作,这通常涉及在随机存取存储器(RAM)和硬盘之间对数据的精心分配,将用于显示的元素存储在RAM中,这有助于减少透视时间,而其他的元素则返回存储到硬盘上,直到需要它们的时候才重新导入到随机存取存储器中。这样的技术很异乎寻常,并且这些和其他的替代技术肯定会随着时间被进一步发展。
  地形地貌是—切景观不可或缺的要素,所有的其他景观元素大都建立在它所构成的水平基准面上。地形模型质量的好坏,直接影响到整个场景实时浏览的速度。所以在地形建模的过程中,要不断的平衡模型数据量和浏览速度之间的关系。有时为了保证浏览速度,不得不牺牲一定的地面模型精细程度。而随着计算机技术的不断发展,这个问题将会得到进一步的改善。
  
  参考文献:
  1.Beardsley,John.Earthworks and Beyond:Contemporary Art in the Landscape.New York,NY:Abbeville Press 1984
  2.万刚、高俊  《虚拟地形环境仿真中的若干空间认知问题》、《第二届“虚拟现实与地理学”学术研讨会论文集》第二部分 II–28
  
  

网站统计|优领域|优领域 ( 粤ICP备12011853号-1 )  

GMT+8, 2019-6-20 23:28 , Processed in 0.075104 second(s), 12 queries .

Copyright © 2008-2014 优领域

回顶部