一种基于场景漫游的虚拟森林仿真信息多级联动方法及其系统的制作方法

文档序号:6366702阅读:421来源:国知局
专利名称:一种基于场景漫游的虚拟森林仿真信息多级联动方法及其系统的制作方法
技术领域
本发明属于虚拟现实技术领域,涉及的是ー种基于场景漫游的虚拟森林仿真信息多级联动方法及其系统。
背景技术
大規模的虚拟森林场景仿真包含了在动态环境影响下不同时空尺度的树木生长变化情況。在时空尺度上可以将森林场景分为三种不同粒度场景细粒度单木场景、中粒度林分场景和粗粒度全林分场景。现有的森林仿真系统一般都是针对各自特定的应用需求,采用对应的ー种生长模型或仿真技术来进行単一粒度的森林生长仿真。这些系统往往都是针对个性化需求单独设计和开发的,当用户需要从ー个粒度的场景转换到另ー个粒度的场景时需要根据树木生长模型和环境因素进行重新计算,其计算过程非常耗时。由于这些虚拟森林仿真系统没有建立不同粒度场景信息之间的关联关系,因此,无法从ー种粒度的仿真场景快速转换到另ー种粒度的仿真场景,严重影响了大規模森林场景绘制和漫游速度。事实上,通过分析和识别虚拟森林场景的漫游操作,并利用不同粒度森林场景仿真信息之间的关联和映射关系,可以实现虚拟森林场景信息的快速联动和场景变换,从而加快大规模森林场景的绘制速度,提升虚拟森林场景漫游的实时性。

发明内容
本发明的目的在于不同粒度森林仿真场景变换时需要利用不同的生长模型重新计算而产生的耗时过长问题,本发明提供ー种能利用不同粒度场景信息之间的关联关系,并通过树木生物量的修正计算,快速获取新粒度森林场景中的树木生物量为主的基于场景漫游的虚拟森林仿真信息多级联动方法及其系统。本发明的目的是通过如下技术方案来完成的ー种基于场景漫游的虚拟森林仿真信息多级联动方法,该方法包括如下步骤(I)利用森林生长模型计算各树木的生物量大小,井根据计算得到的各树木生物量大小从场景数据库中查找与树木生物量相对应的树木可视化模型,在计算机屏幕上绘制虚拟森林场景;(2)通过自动方式识别虚拟森林仿真场景实时交互漫游过程中的仿真事件,并确定仿真事件的事件标识和事件类型;(3)实时获取仿真事件发生时的仿真场景參数,并从所述的仿真场景參数中提取出当前视点与虚拟森林仿真场景中各树木生长位置之间的距离,形成视点与树木的视距对照表;所述的树木生长位置是树木在虚拟森林场景中生长地点的三维坐标信息,所述的仿真场景參数包括用户视点位置、各树木的生长位置、各树木的生物量和各树木的三维模型
信息;(4)根据仿真事件引起的场景视角或视点的变化,重新计算用户新视点的位置,并计算新视点与虚拟森林仿真场景中各树木生长位置之间的距离,形成新视点与树木的视距对照表;所述的新视点是指进行仿真事件操作后虚拟森林仿真的视角或视点会发生变化,从而产生的不同于当前视点的用户视点;(5)根据视点与树木的视距对照表、新视点与树木的视距对照表中各树木的视距大小,并通过对不同粒度场景的视距区间的比对,确定进行粒度转换时的虚拟森林仿真信息的联动方式;所述的虚拟森林仿真信息的联动方式包括大粒度转换到小粒度和小粒度转换到大粒度;(6)根据选定的虚拟森林仿真信息联动方式确定虚拟森林场景中修正树木生物量的联动策略,并利用所述的联动策略对原树木生物量进行修正得到新虚拟森林仿真场景中的新树木生物量;所述的树木生物量替换策略可以是中或细粒度场景到粗粒度场景、粗或细粒度场景到中粒度场景、中或粗粒 度场景到细粒度场景三种方式中任ー种;(7)利用修正后的新树木生物量,从场景数据库中查找与新树木生物量相对应的树木可视化模型,在计算机屏幕上重新绘制虚拟森林场景。进ー步,所述步骤(I)中,所述的森林生长模型至少是细粒度、中粒度、粗粒度的森林生长模型中的ー种,所述的树木生物量是指树木在设定时间内积累的有机质总量,用单位时间积累的平均质量来表示,所述的树木可视化模型是三维树木模型、树木图片或其它表不树木的符号。再进ー步,所述步骤(2)中,所述的仿真事件是用户通过鼠标、键盘和操作手柄中至少ー种设备进行的虚拟森林场景漫游操作,所述的仿真事件标识是标记仿真事件唯一编码,用于识别仿真事件对象,所述的事件类型是平移、旋转、放大、縮小操作中的ー种。更进一歩,所述步骤(5)中,转换方式包括以下六种粗粒度全林分场景到中粒度林分场景、粗粒度全林分场景到细粒度单木场景、中粒度林分场景到细粒度单木场景、细粒度单木场景到中粒度林分场景、细粒度单木场景到粗粒度全林分场景和中粒度林分场景到粗粒度全林分场景。ー种基于场景漫游的虚拟森林仿真信息多级联动系统,该系统由仿真应用层和数据层组成,所述的仿真应用层包括仿真參数模块、生长仿真模块、信息联动模块、策略管理模块、生长模型管理模块、场景管理模块,以及漫游事件监控和管理模块;所述的数据层至少包括场景联动策略库、生长模型库以及场景数据库。所述的生长模型管理模块用于对不同粒度森林场景的生长模型进行管理,建立不同粒度森林场景与植物生长模型直接的对应关系;所述的策略管理模块负责管理不同场景粒度进行转换时用于修正树木生物量的联动策略,以及不同粒度场景的视距区间的參数;所述的场景管理模块包含对场景中树木的管理、场景中地物的管理以及场景地形的管理;所述的仿真參数模块负责管理森林场景仿真初始的參数和用户自定义的仿真參数,所述的森林场景初始參数包括树木初始化參数、植物生长模型參数和默认森林环境參数信息,所述的用户自定义仿真參数是根据用户实际情况设定输入的场景环境及模型參数;所述的生长仿真模块可以根据用户设定的场景环境參数,从生长模型库中选择合适的植物生长模型对不同粒度的森林场景进行生长的模拟;所述的漫游事件监控和管理模块负责对场景漫游过程中的仿真事件进行定义和管理,一个完整的仿真事件包含事件标识、影响參数和时间属性等内容;仿真事件模块需要对不同类型的仿真事件进行定义,并在仿真过程中对仿真事件进行检测分析,根据分析结果选择合适的场景转换策略;所述的信息联动模块在仿真事件模块对仿真事件进行分析得到结果后,根据所选择的联动策略对场景信息进行转换,完成不同粒度森林场景仿真信息的联动。 数据层提供虚拟森林仿真过程中的生长模型数据信息,以及不同场景粒度森林场景仿真信息进行转换时的场景数据和联动策略信息;所述的联动策略库存储场景转换策略和粒度转换信息数据;所述的粒度转换信息数据至少包括树种初始信息、树木分布信息和场景环境信息;所述的生长模型库用于存储不同粒度场景森林生长所需要的生长模型,以及用于生长模型计算所需要的參数;所述的场景数据库包括可视化树木模型、树木分布图、场景地形数据、场景环境參数、场景树木信息,以及除树木外的其他地物数据。进ー步,所述场景数据库中,所述的树木可视化模型是用于场景可视化的三维树木模型、树木图片或其它表示树木的符号,所述的树木分布图表示场景中各树木的生长位置信息,所述的地形数据至少包括地形坐标和地形纹理信息,所述的场景环境參数包含温度、水份和阳光信息,所述的场景树木数据包括粗粒度、中粒度和细粒度三个不同粒度场景的树木信息数据。本发明的技术构思为本发明通过仿真应用层软件自动识别虚拟森林仿真场景实时交互漫游过程中的仿真事件,并预估仿真事件引起的场景视角或视点的变化,重新计算用户新视点的位置和各树木到视点的距离,然后按照定义的不同粒度场景的视距区间确定不同粒度转换时的树木生物量修正策略,并从场景数据库中读取相应的可视化树木模型在新粒度虚拟森林场景中进行绘制,从而完成虚拟森林仿真信息的多级联动过程。本发明的有益效果为本发明通过仿真应用层软件和数据层的相应数据库实现了虚拟森林仿真信息的多级联动,提供了大規模虚拟森林仿真中不同粒度场景信息之间的快速和准确地转换,有效地減少了虚拟森林仿真场景转换时的耗时过长的问题,提高了大规模虚拟森林场景生成的快速性和场景漫游的实时性。


图I是本发明所述系统构成示意图。图2是本发明所述基于场景漫游的虚拟森林仿真信息多级联动方法框图。
图3是场景的视点、树木距离范围与不同粒度模型转换关系图。
具体实施例方式下面将结合附图对本发明作详细的介绍实施例I參照图2,ー种基于场景漫游的虚拟森林仿真信息多级联动方法,该方法是
(I)利用森林生长模型计算各树木的生物量大小,井根据计算得到的各树木生物量大小从场景数据库中查找与树木生物量相对应的树木可视化模型,在计算机屏幕上绘制虚拟森林场景;所述的森林生长模型至少是细粒度、中粒度、粗粒度的森林生长模型中的ー种,所述的树木生物量是指树木在一定时间内积累的有机质总量,可以用单位时间积累的平均质量来表示,所述的树木可视化模型可以是三维树木模型、树木图片或其它表示树木的符号;

(2)通过自动方式识别虚拟森林仿真场景实时交互漫游过程中的仿真事件,并确定仿真事件的事件标识和事件类型;所述的仿真事件是用户通过鼠标、键盘和操作手柄中至少ー种设备进行的虚拟森林场景漫游操作,所述的仿真事件标识是标记仿真事件唯一编码,用于识别仿真事件对象,所述的事件类型可以是平移、旋转、放大、縮小操作中的ー种;(3)实时获取仿真事件发生时的仿真场景參数,并从所述的仿真场景參数中提取出当前视点与虚拟森林仿真场景中各树木生长位置之间的距离,形成视点与树木的视距对照表;所述的树木生长位置是树木在虚拟森林场景中生长地点的三维坐标信息,所述的仿真场景參数包括用户视点位置、各树木的生长位置、各树木的生物量、各树木的三维模型信息;(4)根据仿真事件引起的场景视角或视点的变化,重新计算用户新视点的位置,并计算新视点与虚拟森林仿真场景中各树木生长位置之间的距离,形成新视点与树木的视距对照表;所述的新视点是指进行仿真事件操作后虚拟森林仿真的视角或视点会发生变化,从而产生的不同于当前视点的用户视点;(5)根据视点与树木的视距对照表、新视点与树木的视距对照表中各树木的视距大小,并通过对不同粒度场景的视距区间的比对,确定进行粒度转换时的虚拟森林仿真信息的联动方式;所述的虚拟森林仿真信息的联动方式包括大粒度转换到小粒度和小粒度转换到大粒度,具体可以分为六种转换方式粗粒度全林分场景到中粒度林分场景、粗粒度全林分场景到细粒度单木场景、中粒度林分场景到细粒度单木场景、细粒度单木场景到中粒度林分场景、细粒度单木场景到粗粒度全林分场景、中粒度林分场景到粗粒度全林分场

牙ヽ;(6)根据选定的虚拟森林仿真信息联动方式确定虚拟森林场景中修正树木生物量的联动策略,并利用所述的联动策略对原树木生物量进行修正得到新虚拟森林仿真场景中的新树木生物量;所述的树木生物量替换策略可以是中或细粒度场景到粗粒度场景、粗或细粒度场景到中粒度场景、中或粗粒度场景到细粒度场景三种方式中任ー种;(7)利用修正后的新树木生物量,从场景数据库中查找与新树木生物量相对应的树木可视化模型,在计算机屏幕上重新绘制虚拟森林场景。实施例2參照图1,一种实现如上所述基于场景漫游的虚拟森林仿真信息多级联动方法的系统,该系统由仿真应用层I和数据层2组成。仿真应用层I提供了虚拟森林仿真过程以及參数的可视化管理和维护功能,包括仿真參数模块3、生长仿真模块4、信息联动模块5、漫游事件监控和管理模块6、策略管理模块7、生长模型管理模块8、场景管理模块9等;数据层2提供了虚拟森林仿真过程中的生长模型数据信息,以及不同场景粒度森林场景仿真信息进行转换时的场景数据和联动策略信息,包括场景联动策略库10、生长模型库11和场景数据库12。
仿真应用层的生长模型管理模块用于对不同粒度森林场景的生长模型进行管理,建立不同粒度森林场景与植物生长模型直接的对应关系。仿真应用层的策略管理模块负责管理不同场景粒度进行转换时用于修正树木生物量的联动策略,以及不同粒度场景的视距区间的參数。仿真应用层的场景管理模块包含对场景中树木的管理、场景中地物的管理(非树木地物)以及场景地形的管理。仿真应用层的仿真參数模块负责管理森林场景仿真初始的參数和用户自定义的仿真參数。其中,森林场景初始參数包括树木初始化參数、植物生长模型參数和默认森林环 境參数信息,用户自定义仿真參数是根据用户实际情况设定输入的场景环境及模型參数。仿真应用层的生长仿真模块可以根据用户设定的场景环境參数,从生长模型库中选择合适的植物生长模型对不同粒度的森林场景进行生长的模拟。仿真应用层的漫游事件监控和管理模块负责对场景漫游过程中的仿真事件进行定义和管理,一个完整的仿真事件包含事件标识、影响參数和时间属性等内容;仿真事件模块需要对不同类型的仿真事件进行定义,并在仿真过程中对仿真事件进行检测分析,根据分析结果选择合适的场景转换策略。 仿真应用层的信息联动模块在仿真事件模块对仿真事件进行分析得到结果后,根据所选择的联动策略对场景信息进行转换,完成不同粒度森林场景仿真信息的联动。数据层的联动策略库存储场景转换策略和粒度转换信息数据。粒度转换信息数据至少包括树种初始信息(树种、初始年龄、初始胸径等)、树木分布信息和场景环境信息。数据层的生长模型库用于存储不同粒度场景森林生长所需要的生长模型,以及用于生长模型计算所需要的參数。数据层的场景数据库包括可视化树木模型、树木分布图、场景地形数据、场景环境參数、场景树木信息,以及除树木外的其他地物数据;所述的树木可视化模型是用于场景可视化的三维树木模型、树木图片或其它表示树木的符号,所述的树木分布图表示了场景中各树木的生长位置信息,所述的地形数据至少包括地形坐标和地形纹理信息,所述的场景环境參数包含温度、水份、光照等信息,所述的场景树木数据包括粗粒度、中粒度和细粒度三个不同粒度场景的树木信息数据。图2所示,本发明基于场景漫游的虚拟森林仿真信息多级联动方法,具体包括如下步骤(I)利用仿真应用层软件的仿真參数设置模块3设置虚拟森林仿真树种、树龄、光照、水份、温度、场景粒度等參数;生长仿真模块4根据设定的场景粒度參数从生长模型库11中获取该粒度对应的森林生长模型,并通过森林生长模型计算各树木的生物量数值,然后根据计算得到的各树木生物量大小从场景数据库12中查找与树木生物量相对应的树木可视化模型,并在计算机屏幕上绘制虚拟森林场景。生长模型库11中存储了细粒度、中粒度、粗粒度等不同粒度森林生长模型。粗粒度场景用于模拟较大范围内的森林景观特征,表现为大規模森林场景在较大时空尺度内的演替,计算时主要使用林窗模型。中粒度场景主要描述ー个固定区域内的各个物种的生长特征,体现各个物种植物在生长过程中与周围植物之间的相互作用,采用Lotka-Volterra模型来模拟中粒度场景的植物的生长。细粒度场景描述植物单个个体在小范围空间内的生长特征,采用FON模型计算目标树木周围其他树木对其的影响,并进ー步计算目标树木特定位置的环境因素对其生长和形态上的影响。对虚拟森林场景进行可视化吋,根据树木生物量的大小从场景数据库12中选择对应的树木可视化模型。为了加速虚拟森林场景的可视 化,可以用三维树木模型、树木图片或其它符号来表示场景中的树木。(2)漫游事件监控和管理模块6自动识别用户通过鼠标、键盘和操作手柄中等设备进行的虚拟森林场景漫游操作引起的仿真事件,并确定仿真事件的事件标识和事件类型。仿真事件标识是标记仿真事件唯一编码,用于识别仿真事件对象。仿真事件类型包括平移、旋转、放大、縮小等,分别表示对虚拟森林场景进行平移操作、旋转操作、放大操作、縮小操作等场景漫游动作。通过对鼠标、键盘或操作手柄等设备操作行为的判断识别仿真事件。以鼠标操作为例,可以包括鼠标单击、鼠标双击、鼠标拖动等操作。当鼠标事件发生时,首先通过系统消息机制获得鼠标事件的相关信息,如发生鼠标単/双击事件时,系统会接收到WM_LBUT0ND0WN/WM_LBUT0NDBLCLK鼠标事件消息,通过消息可以得到事件标识、事件发生时鼠标的位置等信息;其次,通过所获得的鼠标事件信息对事件进行分析,判断鼠标事件的类型并关联相应的处理函数,如WM_LBUT0ND0WN消息会关联到OnLButtonDown函数,WM_LBUTONDBLCLK会关联到OnLButtonDblClk函数;最后,根据分析结果确定仿真事件的事件标识和事件类型。(3)漫游事件监控和管理模块6实时获取仿真事件发生时的仿真场景參数,并从所述的仿真场景參数中提取出当前视点与虚拟森林仿真场景中各树木生长位置之间的距离,形成视点与树木的视距对照表。仿真场景參数包括用户视点位置、各树木的生长位置、各树木的生物量、各树木的三维模型信息、仿真事件的起始时间和结束时间等信息;其中,树木生长位置是树木在虚拟森林场景中生长地点的三维坐标信息。对于不同视距的树木,场景中采用不同的树木生长模型对树木的生长进行计算,并且采用不同精细程度的树木三维模型进行绘制。当场景中树木与视点距离较近时,所以采用细粒度生长模型对树木的生长进行计算并且采用精细的植物三维模型绘制场景中的树木;当场景中树木与视点距离中等时,使用中粒度生长模型对树木的生长进行模拟,并采用简化后的植物三维模型绘制树木;当场景中树木与视点距离较远时,则使用粗粒度生长模型对树木生长进行模拟,并采用Billboard技术直接使用纹理贴图。(4)漫游事件监控和管理模块6根据仿真事件引起的场景视角或视点的变化,重新计算用户新视点的位置,并计算新视点与虚拟森林仿真场景中各树木生长位置之间的距离,形成新视点与树木的视距对照表。新视点是指进行仿真事件操作后虚拟森林仿真的视角或视点会发生变化,从而产生的不同于当前视点的用户视点。重新计算用户新视点的位置是ー个运动预估过程,具体方法如下首先,采用多个运动參数对用户视点信息和视点运动信息进行描述;其中,用户视点信息包括视点位置、视点方向、视角大小等;用户视点运动信息包括视点运动方向、视角改变量以及视点位置变化量等。当视点变化时,更新视点的參数信息,根据新的视点參数对场景中的树木进行判断,确定树木是否在可见区域内、是否选择不同的LOD模型等。其次,利用第一歩中保存的视点运动信息和当前视点位置信息,对视点的运动进行预测。进行视点运动预测时,先分析上一次视点运动的信息,包括视点位置的变化、视角的变化、视点方向的变化等,并对当前视点进行和上次视点运动相同的改变得到下一次可能的视点信息,然后根据预测的视点信息对场景信息进行预先的判断。(5)信息联动模块5根据视点与树木的视距对照表、新视点与树木的视距对照表中各树木的视距大小,并通过对不同粒度场景的视距区间的比对,确定进行粒度转换时的虚拟森林仿真信息的联动方式。虚拟森林仿真信息的联动方式包括大粒度转换到小粒度和小粒度转换到大粒度良两大类方法,具体可以分为六种转换方式粗粒度全林分场景到中粒度林分场景、粗粒度全林分场景到细粒度单木场景、中粒度林分场景到细粒度单木场景、细粒度单木场景到中粒度林分场景、细粒度单木场景到粗粒度全林分场景、中粒度林分场景到粗粒度全林分 场

-5^ O当虚拟森林场景生成时,用户的初始视点位置距离场景树木较远(图3,L > L2,L表示当前视点与树木之间的距离,LI、L2为系统设定的距离參数),可以观察到ー个非常大区域内场景树木的生长情况,但是由于距离的原因,此时只能观察到视域内树木的大致生长情况,而无法清晰的观察到每棵树木生长情况的差别。用户视点不断的向前推进,与树木的距离越来越近,当用户视点与树木的距离L在(L1,L2)范围内时,为了使用户能够观察到不同树木生长情况的不同,系统使用中粒度林分模型来计算这个距离范围内的树木生长情况。用户视点继续推迸,当有树木与视点的距离L < LI吋,生长仿真模块4将采用单木细粒度生长模型对这ー距离内的树木进行生长计算,此时用户可以看到树木比较精细的三维特征。通过对不同粒度场景的视距区间的比对后,可以确定采用的生长模型粒度,计算公式如下
O L >12Kl = < I LI < L < L2
2 L<Ll其中,!^表示场景中与视点距离为L的树木所使用的粒度模型(O表示粗粒度,I表示中粒度,2表示细粒度);L表示视点与场景中树木的距离;L1、L2为系统设点的參数。(6)信息联动模块5根据选定的虚拟森林仿真信息联动方式确定虚拟森林场景中修正树木生物量的联动策略,并利用相应的联动策略对原树木生物量进行修正得到新虚拟森林仿真场景中的新树木生物量。树木生物量替换策略包括中或细粒度场景到粗粒度场景、粗或细粒度场景到中粒度场景、中或粗粒度场景到细粒度场景三种策略。信息联动模块5根据相应的联动策略快速计算树木在新场景中的生物量。具体方法包括 中或细粒度场景到粗粒度场景的生物量修正策略由于在中、细粒度场景中树木生长的计算远比粗粒度场景要精细,可以使用直接外推法,直接利用中粒度或细粒度场景中的树木生物量作为粗粒度场景的树木生物量。 粗或细粒度场景到中粒度场景的生物量修正策略对于粗粒度场景向中粒度场景转换过程中,由于中粒度场景模拟仿真时主要考虑植物间的相互作用对植物生长的影响,所以在进行生物量修正时需要将植物间的相互作用作为主要考虑的因素。粗粒度场景向中粒度场景转换的生物量修正方法如下首先,根据粗粒度场景的结果计算树木的基准生长速度。对于粗粒度场景,需要对场景内的所有树木的生长速度进行求均,取得整个场景的平均速度,同时排除场景环境条件的影响得到植物的最优生长速度。其次,根据得到的基准生长速度和中粒度场景的环境因素求出对应的影响圈半径R,以R作为中粒度场景中所有树木的影响圈半径对粗粒度场景的树木分布图进行遍历,得到场景中的每棵树木计算影响树的总数。然后,通过粗粒度场景的树木分布图来对中粒度场景中的每ー棵树木进行生物量 的修正。粗粒度场景向中粒度场景转换时,修正后树木i的生物量计算方法为Ni =Λ ^1 + ν*Ι I- —*α,.式中,Ns表示植物初始生物量;v表示粗粒度场景中植物生长速度;t表示场景生长时间;m表示中粒度场景中与树木i存在相互作用树木的数量;n为系统预先设定的參数叫表示周围树木的影响參数。对于细粒度场景到中粒度场景,在进行生物量修正时也需要将植物间的相互作用作为主要考虑的因素。细粒度场景向中粒度场景转换的生物量修正方法如下首先,根据细粒度场景的计算结果得到植物的基准生长速度。在进行生物量修正之前我们需要对细粒度场景的计算结果进行处理得到基准生长速度。对于细粒度场景则是直接排除环境因素对植物生长量产生的影响,得到植物间相互作用的生长速度。其次,从场景数据库读取中粒度场景的树木分布图,井根据得到的基准生长速度和中粒度场景的环境因素求出对应的影响圈半径R,以R作为中粒度场景中所有树木的影响圈半径对树木分布图进行遍历,得到场景中的每棵树木计算影响树的总数。然后,通过中粒度场景的树木分布图对场景中每ー棵树木进行生物量的修正。细粒度场景向中粒度场景转换时,修正后树木i的生物量计算方法为#,. = #/! l + v*|^l- —I式中,Ns表示植物初始生物量;V表示细粒度场景中植物生长速度;t表示场景生长时间;m表示中粒度场景中与树木i存在相互作用树木的数量;k为细粒度场景中相关树木数量叫表示周围树木的影响參数。 中或粗粒度场景到细粒度场景的生物量修正策略对于粗、中粒度场景到细粒度场景的转换,因为细粒度场景主要是为了了解植物个体在小范围内的生长情况,其影响因素主要有植物所在的特定环境和植物周围其它树木的影响,所以当从粗、中粒度场景转换到细粒度时,主要从这两个影响因素考虑对植物的生物量进行修正。在中粒度场景中,对于植物的生物量的计算考虑了周围其它植物的影响,所以在进行生物量修正时只需要在进行环境因素考虑。对于粗粒度转换到细粒度,首先需要根据细粒度场景需要计算树木的位置信息在粗粒度场景中捜索存在有相互影响的树木,然后根据用户输入的场景环境信息对粗粒度场景树木的生物量进行修正。粗粒度场景向细粒度场景转换时,修正后树木i生物量的计算方法为
权利要求
1.ー种基于场景漫游的虚拟森林仿真信息多级联动方法,其特征在于该方法包括如下步骤 (1)利用森林生长模型计算各树木的生物量大小,井根据计算得到的各树木生物量大小从场景数据库中查找与树木生物量相对应的树木可视化模型,在计算机屏幕上绘制虚拟森林场景; (2)通过自动方式识别虚拟森林仿真场景实时交互漫游过程中的仿真事件,并确定仿真事件的事件标识和事件类型; (3)实时获取仿真事件发生时的仿真场景參数,并从所述的仿真场景參数中提取出当前视点与虚拟森林仿真场景中各树木生长位置之间的距离,形成视点与树木的视距对照表;所述的树木生长位置是树木在虚拟森林场景中生长地点的三维坐标信息,所述的仿真场景參数包括用户视点位置、各树木的生长位置、各树木的生物量和各树木的三维模型信息; (4)根据仿真事件引起的场景视角或视点的变化,重新计算用户新视点的位置,并计算新视点与虚拟森林仿真场景中各树木生长位置之间的距离,形成新视点与树木的视距对照表;所述的新视点是指进行仿真事件操作后虚拟森林仿真的视角或视点会发生变化,从而产生的不同于当前视点的用户视点; (5)根据视点与树木的视距对照表、新视点与树木的视距对照表中各树木的视距大小,并通过对不同粒度场景的视距区间的比对,确定进行粒度转换时的虚拟森林仿真信息的联动方式;所述的虚拟森林仿真信息的联动方式包括大粒度转换到小粒度和小粒度转换到大粒度; (6)根据选定的虚拟森林仿真信息联动方式确定虚拟森林场景中修正树木生物量的联动策略,并利用所述的联动策略对原树木生物量进行修正得到新虚拟森林仿真场景中的新树木生物量;所述的树木生物量替换策略可以是中或细粒度场景到粗粒度场景、粗或细粒度场景到中粒度场景、中或粗粒度场景到细粒度场景三种方式中任ー种; (7)利用修正后的新树木生物量,从场景数据库中查找与新树木生物量相对应的树木可视化模型,在计算机屏幕上重新绘制虚拟森林场景。
2.如权利要求I所述的ー种基于场景漫游的虚拟森林仿真信息多级联动方法,其特征在于所述步骤(I)中,所述的森林生长模型至少是细粒度、中粒度、粗粒度的森林生长模型中的ー种,所述的树木生物量是指树木在设定时间内积累的有机质总量,用単位时间积累的平均质量来表示,所述的树木可视化模型是三维树木模型、树木图片或其它表示树木的符号。
3.如权利要求I或2所述的ー种基于场景漫游的虚拟森林仿真信息多级联动方法,其特征在干所述步骤(2)中,所述的仿真事件是用户通过鼠标、键盘和操作手柄中至少ー种设备进行的虚拟森林场景漫游操作,所述的仿真事件标识是标记仿真事件唯一编码,用于识别仿真事件对象,所述的事件类型是平移、旋转、放大、缩小操作中的ー种。
4.如权利要求I或2所述的ー种基于场景漫游的虚拟森林仿真信息多级联动方法,其特征在于所述步骤(5)中,转换方式包括以下六种粗粒度全林分场景到中粒度林分场景、粗粒度全林分场景到细粒度单木场景、中粒度林分场景到细粒度单木场景、细粒度单木场景到中粒度林分场景、细粒度单木场景到粗粒度全林分场景和中粒度林分场景到粗粒度全林分场景。
5.一种实现如权利要求I所述基于场景漫游的虚拟森林仿真信息多级联动方法的系统,其特征在于该系统由仿真应用层和数据层组成,所述的仿真应用层包括仿真參数模块、生长仿真模块、信息联动模块、策略管理模块、生长模型管理模块、场景管理模块,以及漫游事件监控和管理模块;所述的数据层至少包括场景联动策略库、生长模型库以及场景数据库。
所述的生长模型管理模块用于对不同粒度森林场景的生长模型进行管理,建立不同粒度森林场景与植物生长模型直接的对应关系; 所述的策略管理模块负责管理不同场景粒度进行转换时用于修正树木生物量的联动策略,以及不同粒度场景的视距区间的參数; 所述的场景管理模块包含对场景中树木的管理、场景中地物的管理以及场景地形的管理; 所述的仿真參数模块负责管理森林场景仿真初始的參数和用户自定义的仿真參数,所述的森林场景初始參数包括树木初始化參数、植物生长模型參数和默认森林环境參数信息,所述的用户自定义仿真參数是根据用户实际情况设定输入的场景环境及模型參数; 所述的生长仿真模块可以根据用户设定的场景环境參数,从生长模型库中选择合适的植物生长模型对不同粒度的森林场景进行生长的模拟; 所述的漫游事件监控和管理模块负责对场景漫游过程中的仿真事件进行定义和管理,一个完整的仿真事件包含事件标识、影响參数和时间属性等内容;仿真事件模块需要对不同类型的仿真事件进行定义,并在仿真过程中对仿真事件进行检测分析,根据分析结果选择合适的场景转换策略; 所述的信息联动模块在仿真事件模块对仿真事件进行分析得到结果后,根据所选择的联动策略对场景信息进行转换,完成不同粒度森林场景仿真信息的联动。
数据层提供虚拟森林仿真过程中的生长模型数据信息,以及不同场景粒度森林场景仿真信息进行转换时的场景数据和联动策略信息; 所述的联动策略库存储场景转换策略和粒度转换信息数据;所述的粒度转换信息数据至少包括树种初始信息、树木分布信息和场景环境信息; 所述的生长模型库用于存储不同粒度场景森林生长所需要的生长模型,以及用于生长模型计算所需要的參数; 所述的场景数据库包括可视化树木模型、树木分布图、场景地形数据、场景环境參数、场景树木信息,以及除树木外的其他地物数据。
6.如权利要求5所述的系统,其特征在于所述场景数据库中,所述的树木可视化模型是用于场景可视化的三维树木模型、树木图片或其它表示树木的符号,所述的树木分布图表示场景中各树木的生长位置信息,所述的地形数据至少包括地形坐标和地形纹理信息,所述的场景环境參数包含温度、水份和阳光信息,所述的场景树木数据包括粗粒度、中粒度和细粒度三个不同粒度场景的树木信息数据。
全文摘要
一种基于场景漫游的虚拟森林仿真信息多级联动方法,包括如下步骤(1)利用森林生长模型计算各树木的生物量大小,在计算机屏幕上绘制虚拟森林场景;(2)通过自动方式识别虚拟森林仿真场景实时交互漫游过程中的仿真事件;(3)形成视点与树木的视距对照表;(4)形成新视点与树木的视距对照表;(5)确定进行粒度转换时的虚拟森林仿真信息的联动方式;(6)确定虚拟森林场景中修正树木生物量的联动策略;(7)从场景数据库中查找与新树木生物量相对应的树木可视化模型,在计算机屏幕上重新绘制虚拟森林场景。以及实现该方法的系统。本发明有效地解决了虚拟森林仿真场景转换时的耗时过长的问题,提高了场景操作的实时性。
文档编号G06T17/00GK102646287SQ201210076769
公开日2012年8月22日 申请日期2012年3月21日 优先权日2012年3月21日
发明者夏佳佳, 苏中原, 范菁, 董天阳 申请人:浙江工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1