在环境仿真中使用科学模型的制作方法

文档序号:6596055阅读:584来源:国知局
专利名称:在环境仿真中使用科学模型的制作方法
在环境仿真中使用科学模型
背景技术
许多计算机游戏引擎提供对地球的3D(三维)图形仿真,用户可通过该图形仿真进行导航。仿真环境的生成涉及大量手动工作,包括对诸如山脉、湖泊和森林之类的地面元素的手动定位。对于仿真环境的高度细节视图而言,3D对象可被手动放置在环境中;这些对象可以是单个的树木或楼宇,或者形状可与将填充该形状的对象(诸如,树木)集合一起定义且仿真引擎随后可自动使用来自已定义集合的对象来填充该形状。该过程非常复杂和耗时,并且必须对游戏/仿真引擎的每一个新版本重复。为了减少所需的手动工作量,可从航空影像或现有3D模型(诸如,Microsoft Virtual Earth )中获取数据。然而,在仿真引擎中使用的信息通常是高度优化的(诸如, 受限制的多边形计数或优化的结构地图),因此现存的数据通常是不可用的,或在航空影像的情况下,仍然需要大量的手动编辑且不能被自动处理。以下描述的各实施例不限于解决所产生仿真图形环境的已知方法的缺点中的任一个或全部的实现。

发明内容
下面呈现了本发明的简要概述,以便向读者提供基本理解。本概述不是本发明的详尽概述,并且不标识本发明的关键/重要元素,也不描述本发明的范围。其唯一的目的是以简化形式呈现此处所公开的一些概念,作为稍后呈现的更详细的描述的序言。描述了使用科学模型来生成图形虚拟环境。在一实施例中,使用了至少两个不同的科学模型。表示真实世界环境的输入数据被第一科学模型(诸如,气候模型)所使用,并且由第一科学模型所输出的数据随后被馈入第二不同的科学模型(诸如,生态模型)以便于生成仿真数据。仿真数据(例如,可细化特定植物种类的所需填充密度以及它们的大小和龄期)随后由图形仿真引擎用于生成可例如被用于诸如飞行仿真游戏的计算机游戏中的图形虚拟环境。通过结合附图参考以下详细描述,可更易于领会并更好地理解许多附带特征。


根据附图阅读以下详细描述,将更好地理解本发明,在附图中图1是用于生成图形虚拟环境的系统的示意图;图2是用于生成图形虚拟环境的系统的一部分的示意图;图3是用于生成图形虚拟环境的系统的操作的示例方法的流程图;图4是四个科学模型的网络的示意图;图5是示出用于虚拟环境的不同部分的重叠科学模型的示意图;图6是示出将时间方面结合到用于生成图形虚拟环境的系统中的流程图;以及图7示出其中可实现此处所描述的方法的各个实施例的示例性基于计算的设备。在各个附图中使用相同的附图标记来指代相同的部件。
具体实施例方式下面结合附图提供的详细描述旨在作为本发明示例的描述,并不旨在表示可以构建或使用本发明示例的唯一形式。本描述阐述了本发明示例的功能,以及用于构建和操作本发明示例的步骤的序列。然而,可以通过不同的示例来实现相同或等效功能和序列。图1是用于生成图形虚拟环境的系统100的示意图,图形虚拟环境诸如可例如被用于计算机游戏或训练/教学工具中的仿真图形世界。系统100包括基于至少两个科学模型102、104的仿真引擎100。科学模型(诸如科学模型102、104)通常包括对物理系统中发生的机理或动态的数学表示,并可被用于对物理系统作出预测,或提高对物理系统的理解。它们通常使用来自真实系统的数据而被参数化(诸如,它们可包括已使用真实世界数据生成的用以对真实世界的诸如森林生长、气候、降雪之类的某一方面进行建模的算法或规则集),并且它们的预测通常针对真实数据集进行测试(诸如,针对来自气候、降雪等的已知值)。科学模型的示例包括在由Purves和I^cala所著的“森林动态预测模型(Predictive Models of Forest Dynamics) ”(发表于“科学”(Science)第 320 期) 中描述的森林模型、在由Sibly等人所著的“关于哺乳动物、鸟类、鱼类和昆虫的种群规则 (On the Regulation of Populations of Mammals,Birds,Fish and Insects),,(发表于“科学”(kience)第309期)中描述的作为动物种群模型的逻辑斯蒂方程(Logistic Equation)、(例如在由^erratt和Smith所著的“循环种群中的周期性迁移潮实地研究禾口反应—扩散模型(Periodic Travelling Waves in Cyclic Populations :field studies and reaction-diffusion models) " ( ^lf-" (Journal of the Royal Society hterfaceM2008) 5,483-505中描述的)关于种群一猎物相互关系的罗森茨韦格禾口麦克阿瑟(Rosenzweig&MacArthur)模型、(例如,在 http//en. wikipedia. org/ wiki/Compartmental_models_in_epidemiology#The_SIR_model 中描述的)SIR 疾病模型 (SIR disease model)以及可被用于预测并计算大气变化的MM5社区模型(MM5community model)。在一个示例中,提供关于植被的信息的生态模型可与气候模型组合。基于多年的气候数据,通过生态模型来计算植被的外观。科学模型通过共享数据来进行交互(如箭头106、108所示),从而从科学模型之一输出的数据被用作对另一个科学模型的输入数据。在一示例中,第一模型可以是植物模型,而第二模型可以是动物模型。植物模型可确定特定区域中的植物(例如,海平面处的棕榈树以及山地中的松柏植物),并且基于此植物信息,动物模型可确定栖息于特定区域中的动物的种类。模型可以是链锁在一起的,例如以使来自模型A的数据可被馈入模型B (箭头 106),并且还可存在反馈,例如以使来自模型B的数据被反馈为模型A的进一步迭代的输入 (箭头108)。使用上述简单示例,该反馈可导致动物的存在对特定区域内生长的植物有影响。为了在科学模型之间共享数据,使用在此称为“科学数据集”(SDS)的数据结构。该科学数据集提供了公共数据模型,其带有对由不同的科学模型所生成的不同种类数据的统一接口。科学数据集中的每个数据元可具有相关联的元数据。元数据可描述由科学模型所使用的真实数据,以使不同的模型可找到它们所需要的数据。元数据可附加地(或替换地)提供不同数据元值的出处的细节,例如,值是如何改变的、哪个科学模型导致了该改变,等等, 从而可重演场景(因为有可能重建先前版本的科学数据集)。
可存储在科学数据集中的数据的示例包括空气温度值的三维数组。这种数组的元数据可指定第一维度表示不同的纬度、第二维度表示经度、而第三维度表示时刻。此外, 元数据可指定数据以摄氏度为单位,并且数据由MM5中尺度天气模型来计算。另外的三个数据数组可提供与温度数组的单个层、行和列所对应的实际纬度、经度和时间值。该同一个数据集可具有表示特定年份的特定森林样地处的树木的同期组群的直径、高度和密度的三个数组。由于科学数据集包括来自多个科学模型的数据元,任何特定的科学模型仅可读取并写入数据元子集的值。通常科学模型包括具有五个或六个输入参数的算法。为便于此,如图2所示,可使用输入和/或输出过滤器202、204。输入过滤器202从科学数据集206中提取特定科学模型的所需输入数据元(例如,通过从特定数组中选择特定子集),并执行该科学模型所需的任何必要格式化操作。输出过滤器204从科学模型中获取输出数据,并格式化该数据以使其可被写入科学数据集206。输出滤波器204也可生成与任何被修改的数据元相关联的元数据,且该元数据可对科学数据集中的任何现存元数据进行替换或添加。更先进的过滤器(不论是输入/输出)可执行数据变换,诸如聚集和/或内插。在一些示例中,可能不需要输入和/或输出过滤器。系统100还包括图形仿真引擎110 (例如基于DirectX的3D仿真引擎),图形仿真引擎Iio从仿真引擎101 (即,从科学模型的组合,如箭头112所示)接收仿真数据,并生成图形虚拟环境。仿真数据定义将被放置在虚拟环境的特定区域中的对象,且还定义对象的属性,诸如种群、分布、外观、大小和年龄,例如对于森林地区,仿真数据可定义树木类型、 树木年龄/大小以及各个特定类型/年龄/大小的数量。仿真数据的内容将取决于所使用的科学模型(诸如,当使用动物种群模型时其可定义动物)以及输入数据。可通过使用过滤器210将科学数据集中的数据进行变换来生成仿真数据208 (如图2所示)。过滤器210 将科学数据集中的数据变换(或提取)为图形仿真引擎110所需的格式,并可作为图形仿真引擎的输入过滤器(以与输入过滤器202相类似的方式)操作。过滤器210的确切操作将取决于图形仿真引擎的API。图形仿真引擎110将仿真数据转换至图形虚拟环境。这可以使用对象的图形表示库(例如,不同种类、不同年龄、在不同季节所观察的树木等等)来完成。这些对象的图形表示可根据在仿真数据中所定义的属性而被放置到环境中。系统可以例如使用现有的图形仿真引擎,现有的图形仿真引擎已经被开发为在计算机游戏中使用或在开发计算机游戏时使用(例如,Microsoft Flight Simulator所使用的图形仿真引擎)。图1示出了元素之间的多个箭头(例如,箭头106、108),其表示数据流。虽然作为示例仅仅使用了单向箭头,可以认识到,任何所示元素之间的通信可以是单向的(在任一个方向)或是双向的,并且除了图1所示的数据流之外(或替代图1所示的数据流)数据可以在多个方向上、多个元素之间流动。该系统100的操作可参考图3所示的流程图来描述。输入数据114(其可以是真实世界数据)被导入第一科学模型102(框30 ,且该科学模型使用输入数据114以及其他所需输入数据(诸如仿真特定数据和/或用户定义参数116)来运行(框304)。运行科学模型的结果被输出到科学数据集(框306),其随后被用作第二科学模型的输入数据。第二科学模型104从科学数据集导入数据(框308),并且也可导入其他输入数据,诸如原始输入数据114和/或其他所需的仿真特定数据和用户定义参数118。导入数据被用于运行第二科学模型(框310),且结果被输出至科学数据集(框311)。已经运行了两个科学模型 102、104的组合,可生成仿真数据(框31 ,并且该仿真数据被图形仿真引擎110用于生成图形虚拟环境(框314)。如上所述,仿真数据的生成(框312中)可以是数据变换或数据提取处理,且可以被认识为是图形仿真引擎110从科学数据集的读取操作的一部分。在许多示例中,该图形虚拟环境是3D图形环境;然而,本系统100和方法也可被用于生成环境的其他图形表示。使用如上所述的系统和方法,可通过使用科学模型来生成图形虚拟环境,以基于各种参数来改变生态系统或生物群系。可自动或采用减少的手动操作来生成图形虚拟环境。代替从适合特定季节的预定植物集合中进行选择(其中该集合必须被手动定义因此是劳动密集的,并且给出了引入误差的机会),科学模型可被用于针对世界上的特定一部分基于输入参数(季节、气候数据等等)而提供合适的植被。进一步的,如下所述,科学模型可被用于以动态方式改变环境,例如,以显示一地区在未来的50年之后或在过去的100年之前是何种样貌,和/或在游戏进行期间动态地适应环境(例如,作为用户在游戏中与环境的交互或作为人类足迹影响的结果,诸如给定地区中的森林采伐,其中该数据作为外部数据集而可用)。在一些示例中,可存在从第二科学模型至第一科学模型的反馈,如在图3中也示出的。在这样的示例中,第二科学模型104输出数据至科学数据集(框311),并且来自该更新后的科学数据集的数据随后在第一科学模型102被重新运行(框304)之前被导入第一科学模型102(框318)。接下来是第一科学模型的第二次迭代(框304),结果被输出至科学数据集(框306)中。本方法的其他方面可以重复(例如,第二科学模型的第二次迭代, 框308到311),或替换地第一科学模型的输出以更新后的科学数据集(来自框306)的形式可被用于生成仿真数据(框312,如虚线箭头320所示)。使用上述的方法(例如,方法框302-314或框302-318)而生成的图形虚拟环境存在许多不同的应用,并且一个示例应用是用于生成3D图形环境以便在诸如飞行、列车、驾驶或其他仿真游戏的计算机游戏中使用。图形虚拟环境可以替换地被用于教学或训练工具中(例如,在Microsoft ESP 中)。这些工具可以多种方式使用该工具可实现对科学模型的组合的结果的观测,例如允许数据被循环;并且在另一个示例中,该工具可被用于推理/预测方法中以查看对模型进行附加/改变的效果。在一些示例中,本系统可实现仿真结果的比较(其中可连续或实质上并行地运行仿真),以使用户能观测到所呈现的图形虚拟环境中的区别。在这样的应用中,本方法可进一步包括将图形虚拟环境显示给特定计算机游戏的玩家(框32 ,或显示给教学或训练工具的使用者。可以理解,虽然图3示出了使用两个科学模型的组合来生成仿真数据,但这仅仅是作为示例,并且可替换地使用多于两个科学模型。当使用多于两个科学模型时,存在任何方式的模型之间的反馈。图4示出了四个模型的网络的示例森林模型402(例如,在以上所引用的由Purves和Pacala所著的“森林动态预测模型(Predictive Models of Forest Dynamics),,中描述的森林模型),气候模型404 (例如,匪5社区模型)、降雪(或其他气候 / 天气)模型 406 (例如,在 http://www. emc. ncep. noaa. gov/modelinfo/ 上可获得的全球预测系统(GFS))以及二氧化碳模型408 (例如,在http //www. icsu-scope. org/downloadpubs/scope 13/chapter01. html上可获得的由Bolin等人所著的“全球生物地球化学碳循环(The Global Biogeochemical Carbon Cycle) ”中所描述的)。在所示示例中, 气候模型404直接与降雪模型406进行交互,例如,因为气候是确定降雪的(例如,除了也可作为输入数据的一部分而被导入降雪模型的地面海拔信息之外)一个因素,并且降雪量将影响日光的反射,而这随后影响温度(气候模型的一部分)。气候模型404还提供被用作森林模型402的输入的数据,而森林模型402随后提供被用作二氧化碳模型408的输入的数据。来自二氧化碳模型的输出被反馈回气候模型404。在所有情况中,在网络内的科学模型之间的交互是经由科学数据集进行的,其中第一模型对科学数据集进行写入,并且另一模型从科学数据集读取数据的一部分或全部。在两个模型可独立工作(例如,它们不向科学数据集中的同一个数据元进行写入)的情况中,有可能并行地运行科学模型,而不要求串行操作(如图3所示)。在一系统中,可能有必要最初执行数次迭代以到达稳定位置(例如,由于科学模型之间的复杂交互,如图4的示例所示)。一旦所需的科学模型已经运行,则来自科学模型组合(或网络)的结果输出被用于生成仿真数据410。图形仿真引擎(例如,图1中的图形仿真引擎110)使用的是仿真数据410来生成图形虚拟环境。在一些实施方式中,科学模型可被用于生成和/或修改运行时(例如,在计算机游戏的运行时)的虚拟环境。在初始要求多个迭代以到达稳定位置(例如,到达科学数据集中的稳定值或到达稳定的仿真数据) 的情况中,这些初始迭代可在设计时运行,并且这些初始迭代的结果(例如,结果科学数据集和任意其他仿真特定数据)可被用作为运行时系统的输入数据114。可以理解,不同的科学模型要求不同的输入数据以使其能够运行。此输入数据可包括从科学数据集导入(例如框308和318)或任意其他源导入的数据,且系统内使用的任意或全部科学模型可从多个源导入输入数据。这些数据源可以是系统外部的(例如,图1中的输入数据114与数据源116和118)。外部数据源116、118可被本地地存储(例如,在计算机游戏中提供),或可以是远程数据库,诸如可由在线服务所提供并跨越网络(例如经由互联网)存取。这些远程数据库的一示例是提供大约过去50年的气候数据(例如,以MM5 社区模型所使用的MM5格式)的气候数据库。在使用在线服务的情况中,服务可按需提供数据,并且系统100可从服务下载所选择的数据(例如,特定日期的数据),并且该下载的数据可被用于在本地系统上创建新的环境信息。在线服务可以是免费提供的,或用户有必要为所下载的数据付费。在一些示例中,输入数据(或其子集)可反映真实世界(例如,实际地理信息,诸如特定区域的海拔、土地类别、历史性的气候数据等等)或可描述虚拟世界(例如,用于在虚幻世界中进行的计算机游戏)。在一示例中,输入数据可描述世界上的特定区域和生态系统的典型植被。真实世界数据集的进一步示例可包括世界测地系统(WGS84)和USGS LIDAR(光探测和测距)。也存在大型的数据库,其给出气象站数据、天气再分析产品(例如,国际卫星地表气候学计划ISLSCP)、气候学(例如来自气候研究单位CRU),并给出地球系统模型(例如,IMOGEN)的结果。种类数据库包括国家森林目录(例如,美国农业部森林服务处的森林目录和分析,USDA FIA)以及标本数据库(例如,全球生物多样性信息机构和国家历史博物馆以及英国的皇家植物园)。存在有保护区和国家公园的数据库(例如,非洲水源计划,干旱和水缺地区、联合国环境计划一世界自然资源保护监控中心的赠予)以及全球陆地使用数据库(例如,HYDE和相关产品)。在大小方面,这些数据库的每一个都使用卫星数据来缩小化,例如,“M0DIS”产品包含每8天周期的数据、地面上每Ixl公里的网格的数据、总共8年的数据(进一步的卫星数据可从http://WWW. geos. ed. ac. uk/research/ eochem/sat. html 获得)。数据源116、118可包括仿真特定数据,诸如仿真中的3D对象的细节以及赋予每个对象的真实世界属性(例如,该对象所盛行的特殊生态社区、生长率、所偏好的土壤中的水分含量、丛生或群体生长的趋势、海拔优选,等等)或用户定义参数(例如,诸如森林大火、 森林砍除之类的人类一环境交互的细节)。在一示例中,仿真特定数据可包括对所导入的任何真实世界数据的重叠细节修改(例如,将全部温度数据人为增加2°C、移除特定种类、工业以及城市影响,等等)。输入数据和输入参数可被改动以便于改动模型的输出。用户定义参数的值可影响科学模型所导入的输入数据,例如当用户定义针对虚拟环境的时间(诸如年份)时,科学模型将导入所选择的年份(或该年之前的一时段)的气候数据。如上所述,科学模型可被用来基于可包括用户输入参数(诸如日期或年份)的输入数据来修改和/或生成运行时的虚拟环境。结果是,虚拟环境可被调适为对应于用户所选择的特定日期或年份的输入数据而出现。由于用户与游戏或环境的交互,也可使用在此所述的方法在游戏进行期间修改图形虚拟环境。这样的修改可导致用户定义参数的改变,用户定义参数是用于生成仿真数据的科学模型网络的输入。当生成虚拟环境时,如上所述,不同的科学模型以及不同的科学模型组合可被用于环境的不同区域。例如,森林模型402仅可被用于森林区域,而河流模型(图4中没有示出)可被用于对存在河流之处(可由真实世界数据或仿真特定数据来定义)的水流进行建模(例如,水位、冲蚀等等)。图5示出包括重叠科学模型的虚拟环境的平面图,重叠科学模型可用于该虚拟环境的生成。通常,仿真环境中的世界被分割为类似大小的片块(tile), 例如,大片块501。该基本仿真信息,例如可按照A. Szofran所著的(且可在http //www. fsinsider. com/developers/Pages/GlobalTerrain. aspx 获得的)“用于飞行仿真的全球地形技术(‘Global Terrain Technology for Flight Simulation') ”中所描述的来生成的仿真信息,可提供诸如与地形、土地等级、和表面类型有关的信息的数据。然而,包括在本文中描述的系统中的科学模型可取决于可用的真实世界(或其他输入)数据提供多种不同尺度(导致多种不同的片块大小)。例如,这可以是在20x20m到700x700m的范围内,而其他数据可在IOxlOkm到200x200km的方形中可用。来自不同科学模型的数据被重叠,并且不同的层被组合(通过模型之间的交互,如上所述),以提高覆盖度以及结果图形虚拟环境的质量。在图5的示例中,(片块501中的)基本仿真信息与来自三个科学模型的片块502、 504,506中的信息相组合。可以看到,在一些区域中,除了基本仿真信息之外使用单个科学模型;然而在其他地区中存在重叠(例如,地区508、510),并且在此多于一个科学模型进行交互(如上所述),以便于生成特定区域的虚拟环境。在特定示例中,图5示出三个模型, 其可以是例如提供与森林生长有关的信息的第一模型(片块502)、提供与该区域的典型矮树丛和灌木丛有关的信息的第二模型(片块504)以及作为河流模型的第三模型(片块 506)。哪个模型被应用到哪个区域的细节(例如,表示图5中图示的信息的数据)作为仿真特定数据的一部分被提供给仿真引擎(例如仿真引擎101)。可使用该仿真的坐标系来提供该数据。可以理解,除了针对虚拟环境的不同区域使用不同的科学模型之外(或代替针对虚拟环境的不同区域使用不同的科学模型),不同的输入数据可被用于不同的区域。为了减少在使用上述的方法生成图形虚拟环境时在运行时的任何等待,使用一个或多个模型或参数计算的部分或全部数据可被预先计算。预先计算的数据可被用于在运行时初始生成虚拟环境,随后可使用两个或多个科学模型的组合对其进行后续地修改(在运行时,例如在计算机程序运行时),如上所述。当使用预先计算的数据可导致虚拟环境在运行时的更快加载以及消除或减少延迟时,这通常要求更大的数据存储,因此不适于存储器受限的应用。然而,使用在此描述的技术而不进行预先计算(在此术语“预先计算”不包括在设计时使用迭代来生成运行时所用的初始输入数据)可导致减小的数据存储,因为在运行时使用科学模型组合来生成图形虚拟环境所需的输入数据集不是非常庞大。初始系统可包括如上所述在生成虚拟环境时所用的一组科学模型。如上所述,两个或多个科学模型的任何组合可被用于环境的特定区域,并且可存在使用仅仅一个模型的一些区域(例如,如图5的图示中所示的)。新模型随后可被添加到系统中,替换现有的科学模型或补充系统中已有的科学模型,例如以提供改进的虚拟环境(例如,在准确度、细节等方面)。这提供了更新系统的能力,并且因此提供了更新所得图形虚拟环境的能力而不需要手动地重新生成整个环境。如果所有科学模型都能从科学数据集进行读取并对其写入 (无论使用或不使用输入/输出过滤器),那么科学模型可以如上所述的方式互相作用。通过在运行时使用科学模型来生成图形虚拟环境(如上所述),本系统可进一步被安排为从可用数据在时间上做出推断(向前或向后)。在这样的情况中,科学模型(例如,上述的森林模型)可被运行以基于针对时间t可用的数据来预测时间t+x或t-x处(其中χ可以是任意值并且可以是例如由用户定义的)的与虚拟环境相关联的参数。在一些示例中,用户界面可向用户提供一滑块,以使用户能运行时动态地修改所生成的虚拟环境,例如其中改变滑块的位置对应于改变χ的值。在一些示例中,不同的科学模型可被用于不同的时间段,其类似于针对不同的图形区域使用不同的科学模型。存在针对被安排为将这些时间方面结合到图形虚拟环境的生成中的系统的许多示例应用。多个示例包括基于当前条件(例如,特定区域的干旱或特定植被类型的季节性死亡)利用年度降雨/湿度数据来影响给定地区的植被分布,或利用湿度和风/天气数据来影响在虚拟世界中运行的仿真(诸如森林大火仿真)。该数据可被用于预测情况(诸如在接下来的M-48小时中火势会如何),或用于基于已知数据集分析过去事件的影响。下面的描述提供了模型链锁的实现方式的简单示例。在该示例中,每个科学模型包括一数学函数以计算一个或多个参数Ml(a,b,c,t)M2(i,j)M3(χ, y)每个函数的输入和输出可以是单个值、矢量或矩阵。该示例在模型Ml中使用时间 (变量t)。模型M2是基于一些观测数据(变量i)以及模型Ml的输出(变量j)来计算的。使用模型M3,其中将模型Ml和M2的输出作为输入χ和y。任意模型的形式不影响实现,并且它们是可被重新使用的组件且提供一些“黑盒”功能。可使用过滤器来确保数据从 SDS转换或转换为SDS。当实现过滤器时可通过指定一算法来手动执行该转换,该算法可统一多个值以及将多个值变成特定格式并且添加任何所需的元数据。该算法的开发可针对每个模型手动完成,并且一旦完成,就可使用科学数据集将多个模型链接在一起。图6是示出时间如何被结合在本文中所描述的方法和系统的流程图。输入数据 601可例如是基于真实时间观测而收集的数据,并且其被馈入模型A 602,模型A 602将时间结合为其参数之一(与如上描述的Π —起)。初始时模型可在时间t运行,但通过将时间603结合到模型中,这可被偏移为在时间t+n运行,并且结果是可使用完全不同的数据集 (与时间t所用的数据集相比)。第二科学模型即模型B 604使用模型A的输出作为输入。 该模型的输入是来自模型A的在时间t+n的计算。在该示例中,该模型604不要求任何时间作为输入,因为其仅仅基于来自(一个或多个)先前模型的输入。如果模型A随后用新数据重新运行(如箭头605所示),则增加进一步的时间增量,因此新计算的时间将为t+n+m, 并且再一次使用新的数据集。该过程将被重复,直到达到期望时间(例如,t+n+m+x)。上述的方法可进一步被用于测试和/或验证所生成的虚拟环境,其可进一步减少所需要的手动工作量(例如,手动检查)。例如,通过允许科学模型在时间上向前运行,任何在放置特定植物上的错误将被自动消除,因为科学模型将使该植物消失。在特定示例中,如果在原始输入数据中,棕榈树被不小心地包括在极地区域中,则当在时间上向前运行时,用于在极地区域植物生长的科学模型将使棕榈树消失(例如,死亡或被消除),因为其属性不兼容于该特定区域内的气候。在另一个示例中,通过获取该系统的输出并将其作为输入数据反馈回该系统,可执行验证。如果该系统产生错误消息且不能生成由图形仿真引擎使用的仿真数据,那么在原始输入数据中就有可能有错误。此外(或替换地),如果在使用该测试输入数据时系统产生振荡数据(而不是稳定状态情况),那么也有可能在原始输入数据中有错误且因此在测试下输出中存在问题。这些方法也可被用于测试已经被手动生成的图形虚拟环境,或使用在此描述的方法的替换性方法。在这样的示例中,测试下的环境可被输入至在此描述的该系统,并且如果结果不是稳定环境,则测试下的环境可被认为包含错误。现有的图形仿真引擎使用多种技术来基于针对虚拟环境的特定区域所需的细节水平减少计算,其中更靠近观察者的对象相比于那些远方的对象以详细得多的细节显示, 而在视域之外的对象完全不被呈现。这些技术与在此所述的方法相兼容,并且这些已知技术可与在此所述的方法相组合地使用。图7示出了可以实现为计算和/或电子设备中的任何形式的,其中可以实现上述所描述的方法中的任何方法的实施例的示例性基于计算的设备700的各种组件。基于计算的设备700可以是,例如,游戏控制台或游戏服务器。基于计算的设备700还包括一个或多个处理器702,该一个或多个处理器可以是微处理器、控制器、或用于处理计算可执行指令以控制设备的操作从而运行科学模型,生成仿真数据并生成图形虚拟环境的任何其他合适类型的处理器。可以在基于计算的设备上提供包括操作系统704的平台软件或任何其他合适的平台软件,以允许诸如图形仿真引擎 706以及运行科学模型710的仿真引擎708的应用程序软件在设备上执行。计算机可执行指令可使用诸如存储器712这样的任何计算机可读介质来提供。存储器具有任何合适的类型,诸如随机存取存储器(RAM)、诸如磁或光存储设备等任何类型的盘存储设备、硬盘驱动器、或CD、DVD或其他盘驱动器。也可以使用闪存、EPROM或EEPR0M。 存储器712可被用于存储科学模型710、科学数据集714、仿真特定数据716以及任何其他数据718(例如,用户定义参数、从远程源下载的数据,等等)。基于计算的设备700也包括一个或多个接口,诸如显示接口 720、用户输入接口 722以及通信接口 724。显示接口 720被安排为向显示设备(未在图7中示出)提供图形虚拟环境,并且取决于基于计算的设备的类型,该设备也可包括显示设备(例如,用于便携式游戏控制台)。用户输入接口 722与诸如游戏控制台、鼠标或键盘之类的用户输入设备 (图7中没有示出)通过接口连接,并被安排为从这样的设备接收用户输入信号。通信接口 7M被安排为与诸如在线服务、数据库等等之类的外部数据源进行通信和/或从外部数据源接收数据。所接收的任何数据可被存储在存储器712中(例如,作为其他数据718)。尽管此处将各示例描述并示出为在游戏服务器或游戏控制台中实现,但是所描述的系统只是作为示例而非限制来提供的。本领域熟练技术人员可以认识到,这些本发明示例适用于多种不同类型的游戏系统的应用,并且以上描述的本发明方法和系统也可被用于与计算机游戏不同的应用,诸如用于教学或训练(如上所述的)或科学研究。可以理解,虽然在此描述的技术被描述为在运行时使用,但在一些应用中这些技术仅可在设计时使用以生成在运行时被结合到游戏/工具中并且是静态的图形虚拟环境。 在这样的示例中,在此描述的方法被用于开发循环以生成环境的静态快照。进一步地,虽然以上所述的技术被描述为被用于生成图形虚拟环境,可以理解,这些技术也可被应用于生成其他类型的图形输出或非图形虚拟环境的应用,例如输出为数字的计算机仿真。这种应用的一个示例是如下的计算机仿真制订树木生长和种类多样性的统计,并且向用户提供结果的数字表示而并非图形表示。此处所使用的术语“计算机”是指带有处理能力以便它可以执行指令的任何设备。 本领域的技术人员将认识到,这样的处理能力被集成到许多不同的设备中,因此,术语“计算机”包括PC、服务器、移动电话、个人数字助理和许多其他设备。此处所描述的方法可以通过有形的存储介质上的计算机可读形式的软件来执行。 软件可以适合于在并行处理器或串行处理器上执行,以便方法步骤可以以任何合适的顺序或基本同时实现。这承认,软件可以是有价值的,单独地可交换的商品。它旨在包含运行于或者控制 “哑”或标准硬件以实现所需功能的软件。它还旨在包含例如用于设计硅芯片,或者用于配置通用可编程芯片的HDL(硬件描述语言)软件等“描述”或者定义硬件配置以实现期望功能的软件。本领域技术人员会认识到,用于存储程序指令的存储设备可分布在网络上。例如, 远程计算机可以存储被描述为软件的进程的示例。本地或终端计算机可以访问远程计算机并下载软件的一部分或全部以运行程序。可另选地,本地计算机可以根据需要下载软件的片段,或在本地终端上执行一些软件指令,并在远程计算机(或计算机网络)上执行另一些软件指令。本领域的技术人员还将认识到,通过利用本领域的技术人员已知的传统技术,软件指令的全部,或一部分可以通过诸如DSP、可编程逻辑阵列等等之类的专用电路来实现。对精通本技术的人显而易见的是,此处给出的任何范围或设备值可以被扩展或改变,而不会丢失寻求的效果。
可以理解,上文所描述的优点可以涉及一个实施例或可以涉及多个实施例。各实施例不仅限于解决任何或全部所陈述的问题的那些实施例或具有任何或全部所陈述的优点那些实施例。进一步可以理解,对“一个”项目的引用是指那些项目中的一个或多个。此处所描述的方法的步骤可以在适当的情况下以任何合适的顺序,或同时实现。 另外,在不偏离此处所描述的主题的精神和范围的情况下,可以从任何一个方法中删除各单独的框。上文所描述的任何示例的各方面可以与所描述的其他示例中的任何示例的各方面相结合,以构成进一步的示例,而不会丢失寻求的效果。此处使用了术语“包括”旨在包括已标识的方法的框或元件,但是这样的框或元件不包括排它性的列表,方法或设备可以包含额外的框或元件。可以理解,上面对一较佳实施例的描述只是作为示例给出并且本领域的技术人员可以做出各种修改。以上说明、示例和数据提供了对本发明的各示例性实施例的结构和使用的全面描述。虽然上文以一定的详细度或参考一个或多个单个实施例描述了本发明的各实施例,但是,在不偏离本发明的精神或范围的情况下,本领域的技术人员可以对所公开的实施例作出很多更改。
权利要求
1.一种用于生成图形虚拟环境的方法,包括接收输入数据(302),至少一部分所述输入数据表示真实物理环境; 使用至少两个不同的科学模型的组合来处理所述输入数据以生成仿真数据 (304-312);以及根据所述仿真数据使用图形仿真引擎来生成图形虚拟环境(314);
2.如权利要求1所述的方法,其特征在于,还包括在计算机游戏中向所述计算机游戏的玩家显示所述图形虚拟环境(320);
3.如权利要求1或2所述的方法,其特征在于,使用至少两个不同的科学模型的组合来处理所述输入数据以生成仿真数据包括使用第一科学模型来处理所述输入数据(304);将数据从所述第一科学模型输出至数据结构(306),所述数据结构包括预定义顺序的多个数据元以及与所述多个数据元中的每一个相关联的元数据;以及使用来自所述数据结构的所述多个数据元的至少一个子集来运行第二科学模型 (308-310);将数据从所述第二科学模型输出至所述数据结构(311);以及从所述数据结构中提取数据以生成仿真数据(312)。
4.如权利要求3所述的方法,其特征在于,所述与数据元相关联的元数据包括数据元值的出处信息。
5.如权利要求3或4所述的方法,其特征在于,还包括使用来自所述数据结构的所述多个数据元中的至少一个子集来运行另一个科学模型, 该另一个科学模型包括所述第一科学模型以及第三科学模型中的一个。
6.如前述权利要求中的任一项所述的方法,其特征在于,所述输入数据的至少一部分包括以下至少之一仿真特定数据以及表示真实物理环境的数据。
7.如前述权利要求中的任一项所述的方法,其特征在于,使用至少两个不同的科学模型的组合来处理所述输入数据以生成仿真数据包括,在运行时使用至少两个不同的科学模型的组合来从所述输入数据在时间上进行外插以生成仿真数据。
8.如前述权利要求中的任一项所述的方法,其特征在于,还包括使用至少两个不同的科学模型的不同组合来为所述图形虚拟环境的不同区域生成仿真数据。
9.一种用于生成图形虚拟环境的系统(100),包括 多个不同的科学模型(102,104,710);至少一个输入数据源(114、116、118、714、716、718);仿真引擎(101、708),被安排为从至少一个输入数据源导入数据,并使用所述多个不同的科学模型中的至少两个来处理所述数据以生成仿真数据;以及图形仿真引擎(110、706),被安排为根据所述仿真数据生成图形虚拟环境。
10.如权利要求9所述的系统,其特征在于,还包括存储在存储器(712)中的数据结构006、714),所述数据结构包括预定义顺序的多个数据元以及与所述多个数据元中的每一个相关联的元数据,其中所述仿真引擎进一步被安排为将来自所述多个不同的科学模型中的第一科学模型的输出数据写入所述数据结构 (306);以及从所述数据结构读取数据,作为所述多个不同科学模型中的第二科学模型的输入数据 (308)。
11.如权利要求9或10所述的系统,其特征在于,所述至少一个输入数据源中的一个包括通信接口(7M),所述通信接口被安排为从在线服务以及远程数据储存器的至少一个中取回数据。
12.如权利要求9-11中的任一项所述的系统,其特征在于,所述仿真引擎进一步被安排为使用所述多个不同科学模型中的至少两个来从数据在时间上进行外插以生成仿真数据。
13.如权利要求9-12中的任一项所述的系统,其特征在于,还包括 处理器(702);以及存储器(712);并且其中所述仿真引擎包括存储在所述存储器中的设备可执行指令,这些设备可执行指令在执行时使得处理器从至少一个输入数据源中导入数据,并使用所述多个不同科学模型中的至少两个来处理所述数据以生成仿真数据,以及所述图形仿真引擎包括存储在所述存储器中的设备可执行指令,这些设备可执行指令在执行时使得处理器根据所述仿真数据生成图形虚拟环境。
14.如权利要求13所述的系统,进一步包括显示接口(720),被安排为在显示设备上呈现所述图形虚拟环境。
15.一种存储在一个或多个有形设备可读介质上的计算机游戏,所述计算机游戏包括用于执行如下步骤的设备可执行指令存取输入数据(302),至少一部分所述输入数据表示真实物理环境; 使用至少两个不同的科学模型来处理所述输入数据,以生成仿真数据(304-312); 根据所述仿真数据来生成3D图形虚拟环境(314);以及显示所述3D图形虚拟环境(322)。
全文摘要
描述了使用科学模型来生成图形虚拟环境。在一实施例中,使用了至少两个不同的科学模型。表示真实世界环境的输入数据被第一科学模型(诸如气候模型)所使用,并且由第一科学模型所输出的数据随后被馈入第二不同科学模型(诸如,生态模型)以便于生成仿真数据。仿真数据(例如,细化特定植物种类的所需填充密度以及它们的大小和龄期)随后由图形仿真引擎用来生成可例如在诸如飞行仿真游戏的计算机游戏中使用的图形虚拟环境。
文档编号G06F9/455GK102265259SQ200980152867
公开日2011年11月30日 申请日期2009年12月22日 优先权日2008年12月23日
发明者A·海尔, M·皮斯利, V·卢特萨瑞夫 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1