摘要
程序法是一个有希望,但未被充分利用的替代手册的内容创作。缺点是经常听到的随机性和缺乏控制和输出,缺乏综合性的解决办法,虽然最近的出版物越来越多地址这些问题。本文调查的程序方法应用于地形建模,评估现实主义的产量性能和控制用户可运用的程序。
1.简介
在过去的20年,拥有先进的三维虚拟世界,至少在视觉上,很先进和复杂。然而,建模过程,工具,这些技术用于创建世界上没有那么多先进的:他们仍然在艰苦和重复使用和需要专业的3D建模技能。
程序模型已经至少30年为一个活跃的研究课题。哲学程序建模,而不是设计手含量,设计一个程序,创建内容自动。这种方法已成功地应用于产生,例如,纹理,几何模型,动画,甚至声音剪辑。在一个程序的主要议题建模是地形模型自动生成的,它与自然现象开始 例如20世纪80年代和90年代的地形海拔和生长的植物中,并扩大了其重点新千年的城市环境。
尽管取得了令人鼓舞的结果,但程序建模不是经常主流应用。以下这几个因素限制了从人工模拟过渡到自动化。 一,两个研究论文和商业工具通常专注于一个方面地形建模(例如,产生有趣的高程剖面)和解决其他方面的程度有限或根本没有。整合与调整的方法对现有的程序在这样一种方式,他们可以自动生成一个完整的和一致的地形模型至今仍然在很大程度上解决。另一种已知的问题的程序方法是缺乏控制的,他们向用户提供。由此产生的内在随机性的内容常常迫使用户模型试验和错误。最近的出版物有时解决这一问题的具体解决方案,但整体而言,尚未受到足够的重视。
本文简短的介绍了问卷调查的程序方法应用于地形建模。我们讨论的输出性能,重要性质的现实主义的方法,如该算法提供了设施和用户的影响和控制生成过程。本文的目的,是双重的:给读者迄今为止感兴趣的地形程序在外地造型研究概述,并评估何种程度上确定方法问题的程序正在处理,什么事情要做。
在(斯梅利克等。,2008年,2009年),我们已经找到了几种要求的程序建模框架应履行的是一个可接受的质量和效率更高的替代品 .
这项研究已表示支持该项目,由该组织资助荷兰信息和通信技术的研究与创新局(信息和通信技术雷吉)。目前的建模工作流程,我们描述了一个框架,概念设计等。它集成了程序方法和管理功能之间的依存关系,以生成完整的,一致的地形模型,由用户所作的地形匹配的草图粗略布局。它涉及判别模型,在一个数层含有天然地形(土,水,植被层)和人为(公路和城市层)功能。我们提出设计,执行和结果这两个层次.在这个文件中,我们调查了地形区分层结构也是可行的工作。
接下来的章节讨论,植被程序方法高程数据,水体,道路网络和城市环境,其次是艺术上的一个结论的状态。
2.高度的地图
高度的地图,即二维网格值的海拔,经常被用来作为基础地形模型。许多程序算法可以创造有高度的地图。
其中最古老的算法是以细分为基础的方法。阿粗高度地图 subdived迭代,每个迭代使用控制随机性补充细节。米勒(1986)位移法介绍几个变种,也是著名的中点,其中一个新的点的海拔高度设置为弯道平均在一个三角形或菱形加一个随机抵销。偏移量的范围减小每个迭代根据一个参数控制粗糙度产生的高度图。
高度图(基于分形噪声发电机福涅尔等。1982年,沃斯,1985),如Perlin噪声(柏林(1985))现在通常生成和噪音采样随机向量插值点的一个网格。标度和增加噪音的几个层次每个点的自然结构,山区样的身高,效果图研究。对于一个教科书分形噪声和高度图,见艾伯特等人。(2003年)。
这些高度的地图可以转化进一步如基于共同成像(过滤器滑荷兰国际集团)或模拟物理现象,例如侵蚀。热侵蚀减弱在海拔急剧变化,由迭代分发,从更高的材料,以降低点,直到距骨的角度而言,或砂岩石即最大的物质作为稳定的角度,就达到了。土壤侵蚀造成的降雨(河流侵蚀)可以模拟使用范例,因为,细胞自动机,其中水量和溶解物质,流动到其他细胞的计算表面上的地形坡度的地方.马斯格雷夫对待两种侵蚀类型(马斯格雷夫等。 1989年,马斯格雷夫,1993年)和奥尔森(2004)讨论了减少,但一些速度优化可接受的质量。 贝奈斯和福斯巴赫(2001)引入地形结构更适合重新 alistic侵蚀算法。其地形模型由片材料堆放水平,每有一海拔价值和物质的属性,如密度。这是一个权衡的有限但有效的高度图的结构和完整的体素的地形。该模型还允许空气层,从而它支持洞穴的结构。
虽然这些算法侵蚀的地形增加多少可信度山区,他们也是出了名的慢,不必运行的迭代数百至数千个。最近的研究专注于互动侵蚀算法,算法往往移植到GPU。有希望的例子包括:(Anh等人。,2007年)和(St'ava等。,2008)。
基本的噪声为基础的高度图生成提供的结果相当随机,用户控制全球范围内的结果只有一个,经常使用直观的参数。一些研究者处理了这一问题。Stachniak和Stuerzlinger(2005)提出一个方法,结合限制(图像表示为面具)将地形生成过程。它采用搜索算法找到一个可以接受的变形操作设置适用于在一个随机地形为了获得一个地形符合这些限制。 施耐德等人。(2006)介绍一个编辑的环境,使用户编辑的基础地形的交互修改(函数的噪声发生器取代的用户得出的柏林噪声网格设置一个灰图片)的规模。周等人。(2007)描述了一种技术,例如一个地形生成基于输入身高地图和一个用户定义的线描线发生大规模弯曲山脊功能。特征提取的例子高度地图相匹配的曲线图勾画缝在生成的高度.德Carpentier和比达拉(2009年)引进程序刷:直接用户涂料绘制三维地形高度运用简单的地形,而且提高GPU为基础的笔刷,这样生成几种类型时间噪声实时(见图。1A)条。桑德斯(2006)提出了一个非常不同的方法,该方法合成一个高度地形图的数字高程模型(DEM)的真实世界。用户的系统Terrainosaurus绘制地图有二维多边形区域,每个标记在一定海拔。该地区的边界感到不安,而然后光栅在一个网格。一个身高地图实例用遗传算法选择数字高程模型资料符合要求的高程剖面。卡迈勒和乌丁(2007)提出了一种约束中点位移算法,根据该等物业由海拔和传播基地创建一个单一的山区。贝勒哈吉(2007)引入了一个更普遍的制度,一组已知的高程值约束的中点位移的过程。可能的应用是插值DEM的粗或不完整的或用户线草图。
一个继承图的限制高度,不支持岩前悬和山洞。加米托和马斯格雷夫(2001)提出了一个系统,在地形翘曲结果正常人工悬。最近的一个方法(Peytavie等。,2009)提供了更精细结构不同的材料层,支持岩,拱门,悬和山洞。他们造成的地形模型在视觉上非常合理和自然。
作为插图的工具,支持国家(见Fig. 1d)的地图提供了一个高度产生L3DT(托皮,2009年),创建高度图的商业工具之一。
3.河流,湖泊和海洋
对于生成河流,一些作者提出的算法,运行期间或之后生成高度图。凯利等人。(1988年)采取地图河网高度为基础。他们开始用一个直河递归细分,网络造成了流。这形成一个数据插值为骨架高度图,然后用填充分散功能。气候类型和土壤影响重大的网络形状流。
普鲁辛凯维奇和哈默尔(1993)结合地图生成高度弯曲的河流与一细分计划。在河的起点三角形,一条边被标记为入口和作为河流出境的。在细分的步骤,三角形划分成更小的三角形,并河流的课程从入门到退出可以采取一些替代的形式。第一点是,海拔三角形包含河流被设置为在河之位移的所有负递归水平(床导致河流),其他使用标准处理三角形的中点流离失所。经过8个或更多的递归,生成的河道看上去相当自然。A中的方法的主要缺点是,这条河放置在一个恒定水平,低海拔,通过一个多山的地形,从而人为地深雕。
更先进的方法描述了地图(奥迪韦特贝勒哈吉(2005年))创建一个高度与山脊和河流网络。地图开始与一空,他们对地方脊粒子在某一海拔高度和移动方向相反他们在几个迭代。阿高斯曲线绘制的高度迭代地图位置沿线各子。接下来,他们山区的河流颗粒沿山脊顶部的向下流动,让他们根据侵蚀(简单的物理学)相当于液压。其余各点之间山脊,河流,充满了反中点位移技术。对于此特定类型地形,即河网密布陡峭的山脊与山谷一个特色,该方法是快速和有效的。
除了河流,水体的程序,如海洋,湖泊和他们联系,流网络,三角洲和瀑布,得到太少注意。形成湖泊通常是不会考虑的。通常海洋环境产生一个固定的水级别(比如0米)或低海拔由点开始水浸算法。Teoh(2008)还指出,在这方面的研究是不完整的:一些河流和海岸的功能都没有得到处理。他建议,三角洲和海滩,简单的算法对河流蜿蜒成形,需要进一步工作,以提高他们的现实意义。
4.植物模型和植被分布
关于植被,作者开发的几个工厂模型树和产生程序和植被的方法放置在自动地形模型。 前者可用于迅速获得一套类似,但同一品种不同的植物模型,后者节省在个别植被地形模型建模者的艰巨任务。
植物生长模式程序,从根开始,加上越来越小树枝和结尾的叶子。他们是根据语法重写。普鲁辛凯维奇和林登梅耶 (1990年)讨论林登梅耶系统,或L -系统,通常用于重写系统。它们解释如何生产规则可以适用于3D,和现在的许多例子,树木产生的共同语法。
林特曼和德森(1999)提出了一个更直观的系统,程序模式植物,通过将植物成分(如叶)放在一个图。连接元件的结构可以在子图(如树枝)。该系统遍历此图,并把生成的实例组件图一个中间一代用于几何图。(1e中)显示了树在与他们的商业XFrog植物建模软件。 德森等人。(1998)描述了一个生态系统模拟模型来填充冬菜面积的问询。该模型模拟输入这是高度的地图和一个水地图,几个生态 ,性能及植物物种,如增长速度,并可以选择,一种植物的初次分配。在此基础上,同时考虑到阳光和水占竞争规则的土壤,一distri - 工厂内部实行外包一个地区的反复确定(见图。1B)条,分运行几个。
另一个由哈默斯植被安置程序(2001年),是在生态系统的基础上。他使用高程数据,相对海拔,坡度,坡向和多形噪声选择一已定义的生态系统。地面植被纹理生成在运行时,根据生态系统的详细程度。生态系统也决定了每个车间的数目种,然后随机放置。
植被模拟程序提供了可信的结果,往往是已经应用在现代的游戏,例如使用商业软件包SpeedTree。
5.路网
新一代的城市道路网络的可使用多种方式进行,其中我们对待格局为基础的办法,左旋体系,代理模拟和张量场。最简单的方法是生成一个密集方格网(如格罗伊特等(2003))。位移噪音被添加到网格点,创造一个不重复的网络,但这个技术是有限的。一个更复杂的方法来创建的道路是通过模板的使用,如Sun等人提出的。(2002年)。他们观察几种常见的网络和目标模式在实际道路重造。对于每一个模式,有一个相应的模板:一个人口为基础的模板(实施随着人口的Voronoi图的中心),一个光栅和径向模板,或混合模板。路线图的主要干线是公路,这是第一次使用这些模式产生模板。简单的规则适用于检查其有效性。当遇到不可逾越的地区(如海洋),他们将被丢弃或转移。其次,主要道路经常弯曲,以避免大海拔梯度。它们涵盖的地区与街道充满了光栅。
帕里什和穆勒(2001)使用一个扩展的L系统,以提高他们的道路网络。L -系统是目标驱动和目标人口密度(道路尝试连接人口中心)和具体的道路格局。这种模式的例子是光栅或径向模式。其L系统扩展与规则,有一种倾向,连接道路,以现有的新建议十字路口和规则检查的有效性和高程道路就无法通行的地形限制。街道还插入到简单电网的其余地区。
凯利和麦凯布(2007)介绍交互式编辑CityGen城市,其中一个用户定义三维地形中的主要道路放置节点。这些地区的道路被封闭,可填补有三种模式:第一,曼哈顿风格的网格,工业增长和道路与交通死角美国郊区道路等。(2006)描述在南方一些实验中发现的复制道路结构的道路与非正规住区的主要使用是一对组合的Voronoi图,L -系统或定期细分和无位移道路噪声。他们在合理的模式成功地再现了观察。
不同的语法和模式为基础的方法上面做讨论,莱希纳等。(2003年)采取代理的办法,他们在不仅包括城市到地区住宅,商业和工业区,但像政府大楼也有特殊的地区,广场,和机构。他们的地方命名为扩展和连接器,在两个代理商,位置的地形图。在城市的扩展搜索无关的领域。当它找到这样一个网络的地区,是位于现有道路不太远,它找到最合适的该地区的道路连接到网络。在一定半径,该连接器代理启动从某一个位置现有的网络和随机选择另一个网络位置上的。它检查的最短路径长度来这个地方。如果旅行时间太长,直接连接道路被添加到网络。在莱希纳等。(2006年),作者用这个法,除其他事项外,代理商是负责道路的快速建设的主要城市的连接通过,并代理,发展小街道。这种方法使结果可信,但缺点是它有一个很长的运行时间。陈等人。(2008)提出张量场的使用交互式建模的道路网络。他们定义了如何建立共同的道路模式(网格,径向边界)利用张量字段。道路网络是一个来自一个张量场,通过跟踪从种子点的简化在主要的特征向量的方向,直到停止条件得到满足。接下来,沿着这条追查曲线新的种子点放在追踪特征向量简化的垂直(小)方向。用户可以将这种模式作为一种新的径向张量场,顺利的领域,或以当地限制特定领域的一个方向。噪音使道路网络不正常,从而更加合理。
在所讨论的方法中,配置文件的影响基本地形图和海拔要考虑到不同程度。大多数方法只需要基本的措施,以避免过于陡峭上升的道路,通过道路和水体。凯利和麦凯布(2007年)计划的确切路径用户之间的主要道路设置节点有一个在海拔高达变化可能的。尽管如此,这项措施并不足够,还需要地形修改,以适应道路。布吕内和Neyret(2008)提出一个简单而有效剖面混合的进路法,在着色地图使用。
6.城市环境
凯利和麦凯布(2006)给出的概述中几种方法生成一个详细的城市环境。沃森等人。 (2008年)作的艺术实践概述国家。
城市的产生程序是常用的方法:从一开始密集的公路网并确定由街道封闭区域的多边形。这些地区的细分结果抽签,有不同的细分方法,例如见帕里什和穆勒(2001)或凯利和麦凯布(2007年)。要填充这些地段的楼宇,无论是该地段的形状是直接用作足迹的建筑物,通过简单地挤出了足迹到一个随机的高度,可以生成一个大的城市摩天大楼和办公室。要获取更有趣的建筑造型,设计出了几种方法。
格罗伊特等。(2003年)生成一层办公楼原始形状结合成数计划和挤压这些不同的高度。帕里什和穆勒(2001年)开始与矩形平面图及申请的L -系统,完善的建设。这两种方法是最有用的相对简单的办公建筑模型。
旺卡等。(2003)介绍文法概念的分裂语法,正式上下文无关建筑模型设计制作。该语法类似于分裂的L -系统,而是基于形状为较原始的元素符号。传播的过程中,在他们的系统,具体的建筑风格,可以通过设置被收购重写属性开始符号。在一个建筑模型,不同的风格,可以每层楼(如1间店铺公寓建设在地面层)。他们的做法主要注重于产生连贯和可信的门面。对于相对简单的形建筑物。Larive和加伊德拉(2006)使用的语法类似,所谓的墙语法。有了这个语法它们能够产生额外的墙几何细节,如阳台。
穆勒等人。(2006)适用于另一种类型的文法,语法形状命名。主要的一个形状的语法是,它使用分裂的语法使上下文敏感的规则,上下文自由的规则,是在这种情况下允许的屋顶可能性模型和旋转形状。他们开始工会建设的几个体积形状边界的定义。这个形状分为地面和由此产生的正面是Windows为墙壁,门窗用是指一个语法体系。在最后一步,屋顶是建筑物顶部上兴建的。楼显示了道路网络和图。产品所产生的相应城市的商业,CityEngine(程序,公司。,2009)。除了众所周知的商业楼宇,语法可以同样是住宅建筑,如古罗马的家园或郊区别墅。
穆勒等人。(2006年)能产生视觉上有说服力的建设模型,芬肯策勒和本德尔(2008)注意到有关的语义信息的每一个角色建筑物内形成完整的缺失。他们提出要抓住这个语义信息在1型图。他们的工作流程包括三个步骤。建设起一个粗略的轮廓,建筑风格图可以应用到这种模式。语义图在这中间结果代表性的建筑,可再生修改或以不同的风格。在最后一步,几何的基础上创建的中间模型,纹理应用,产生在一个完整的3D建筑。芬肯策勒(2008)外墙更详细地描述了一代在他们的屋顶和系统。
Yong等人。(2004)描述了一个方法来创建白话式的东南住宅使用中文扩展形状语法。语法是层次和水平开始在市(而在其他方法形状语法应用到个别建筑物的足迹)。然后语法生产的街道,房屋,道路,并进一步制作组件与这些房子如门,窗户,墙壁和屋顶。通过实例数控制规则(定义,因为,成份比例限制)的建筑物的有效性,可以断言。通过应用此语法体系,一个典型的中国古代东南城镇可以生成合理的结果,因为这些城市的建筑风格是非常严格的结构。
穆勒等。(2007年)用不同于一般建造的建筑物的方法。其方法为输入一个单一的形象建设一个真正的外观和能重建一个详细的三维外观模型,采用了一代组合成像和形状语法。
虽然上述方法快速,直观地给予令人满意的结果,但它们产生的城市往往缺乏一个现实的结构。新的研究结合现有的城市土地利用理论和在生成过程的模型。Groenewegen等。 (2009年)提出了一种方法,产生地区分布区类型的不同而西方在欧洲的土地利用模式的城市。它考虑到1,其中包括大量的相关因素的历史吸引某些类型的地形(山边,海洋核心的城市和,河流),例如有工业或高档住宅小区。韦伯等人。(2009年)使用类似(虽然稍简化)的时间超过一个仿真模型的城市扩展。他们的系统速度快(每个模拟约1秒)且互动,这意味着用户可以通过改变模拟指南绘画的道路或土地使用价值的地形。
7.结论
地形建模程序方法越来越为学术界行业吸引,有希望替代昂贵的手动创建虚拟世界。我们已将这些方法分为五个方面,并讨论了种类繁多的研究方法和结果:地形高程,水元素,植被,道路网络和城市环境。
从它的最初几年,重点主要是发电机组的高度图,到现在为止,环境转向越来越多的现实城市,存在着相当多的研究成果。许多基本的程序方法积木等共同部署,改写文法和简单模拟系统,其中大量的变种,往往对于特定领域,现正建议,特别是在城市内的道路和类别。在所有类别进行讨论,与水有关的领域显然是最不发达。
对于即将到来的研究,有几个有趣的趋势已经确定。其中,有希望的方向可以归纳如下: 第一,性能和交互性的程序方法将继续改善,往往意味着对GPU的并行编程。第二,道路网络和城市地区必将继续改善水平的变化细节,但现实的飞跃将可能会由部署在越来越多的语义程序生成过程和生成的模型(Tutenel等。,2008)。 而在去年,关键的一个程序方法的广泛应用于非专家像艺术家(如游戏设计师,方案设计者)整合程序方法的框架内,提供除其他事项外,更直观的控制工具,以生成完整的模型和地形非侵入性机制,以保持一致性的功能(斯梅利克等。,2009)。