论文部分内容阅读
本论文是黑龙江省教育厅十二五课题《基于vrml的虚拟实验室研究(9388)》的成果部分,课题组成员为:梁海、吴国文、田志德、周亚林、张海波。
摘要:本文简要的介绍了有关地理数据的可视化处理方法,主要介绍通过vrml实现地理数据的可视化处理的方法,以及通过vrml实现虚拟地理实验室的主要途径,介绍了几款用于虚拟地理实验室建模工具软件。
关键词:vrml 地理模型 可视化
地理模型的建立,是一个从定性到定量的综合集成过程,建立地理模型,不但需要基本地理知识和地理学有关理论的支撑,而且还需要借鉴和运用其他相关学科的理论方法好技术,特别是数理方法和计算机应用技术。
本文主要从地理数据的可视化方面,从计算机实现方面进行简要的介绍。目前,地理数据的可视化,建立三维模型的软件众多。在静态效果制作方面比较著名的三维建模工具有Autodesk公司的AutoCAD、Discreet公司的3ds Max;在影视动画的制作方面有Alias公司的MAYA;在虚拟仿真方面有Silicon Graphics(sGI)公司的OpenGL、Multigen Paradigm公司的Multigen Creator;在GIS方面有名的软件有ESRI公司的ArcScene,国内武汉适普公司的IMAGIS、北京灵图公司的VRMap;在上述各种类型的软件中,要本着操作性好、适用性高、通用性强、功能性全等原则选择一种最好的方式建立场景模型。由于本文重点在于建立一个可靠的三维场景、用于漫游浏览、进而向实现GIS功能转化,因此,对建模软件的选择也应基于上述几点全面考虑。AutoCAD、3ds Max和MAYA虽然是效果制作和动画领域的主流,但模型过于复杂是它们用来直接实现虚拟漫游建模的瓶颈;OpenGL是三维图形的标准,用作三维建模需要从底层开发做起,工作量大、开发周期长是目前应用上的最大障碍;ArcScene在三维模块方面还不太成熟;IMAGIS和VILMap在国内刚刚起步,建模功能还不够完善,与主流建模工具存在不小差距,浏览大场景效率不高且实现的GIS功能也非常有限。
要使建立的场景能顺利地完成驱动漫游,高效的模型数据结构是实现这一功能的关键之一。除此之外,缩减多边形面数也是实施仿真的必要环节。面数越少,意味着在实时的视景仿真中,计算机所要处理的信息量就越少,这将会有力地减轻计算机在仿真时计算的负担,从而减少计算机渲染图形所要的时间,提高帧率,有利于画面的连续性。所以,并非所有的建模软件都能够很好地用于动态仿真。
以3ds Max为例,它的模型数摄采用单层模型,是平面形式的,而非仿真漫游顺序的树状索引格式,所以他用作仿真环境不能有效地组织各数据节点,从而限制了实时绘制画面的帧率。此外,3ds Max制作出来的一张效果图模型往往存在几万甚至几十万个面,单是静态渲染就已经是一项非常耗时的工作了,况且它对硬件的要求也是非常的高,所以用它来建立实验室模型也不是最合适的。
通过上述对备主流建模软件功能的分析与综合比较,笔者认为vrml能有效组织模型结果、减少模型数量,最适会用于地理实验室的建模工作。但是,考虑到场景中存在部分复杂物体,所以地理实验室以vrml软件建模为主,同时用3ds Max等作为辅助工具,极大限度地提高建模效率。
VRML(Virtual Reality Modeling Language)即虚拟现实建模语言。是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模语言,也具有平台无关性。是目前Internet上基于 WWW的三维互动网站制作的主流语言。本质上是一种面向web,面向对象的三维造型语言,而且它是一种解释性语言。VRML的对象称为结点,子结点的集合可以构成复杂的景物。结点可以通过实例得到复用,对它们赋以名字,进行定义后,即可建立动态的VR(虚拟世界)。
VRML中的动画是通过路由和事件来实现的。为了使虚拟空间具有动感,构造指令可以包含绑定指令,绑定指令描述如何将节点绑定在一起。VRML绑定包括:绑定在一起的节点和在节点之间绑定的路由或者叫做路径。绑定两个节点之后,第一个节点通过这样的路径传送给第二个节点的信息叫作事件。事件包含一个值。当一个节点接收到一个事件时,它将根据节点的特征开始动画或者其它事情。通过绑定多个节点,用户可以创建许多路由,从而使空间更加具有动感。
VRML中的自身交互可以做到什么程度
如果要使你的空间具有交互性,你可以给一个造型附带一个传感器,该传感器使用一个定点设备来感知观察者的动作。当观察者点击到一个附带有传感器的造型时,传感器就输出一个事件,这个事件就被路由到其它的节点来开始一个动画。
TouchSensor是一种用来检测观察者的接触和将事件输出的传感器。这些输出描述了在何时、何地,观察者接触到了可感知的造型。CylinderSensor、PlaneSensor和SphereSensor节点也可用来检测何时观察者接触到一个可感知的造型,并且提供了用来改变造型位置和方向的输出。
在VRML中,你可以将一个传感器附在一个造型上,用它来检测观察者的移动、点击和拖动。当观察者与一个可感知的造型相互作用时,你就可以把传感器的输出连入一个线路中,从而引起造型的移动和动画的播放。
感知观察者接近常使用三种方法:感知观察者的可视性、感知观察者的接近性和通过碰撞检测。
可见传感器从观察者的位置和方向来感知在空间中的一个长方体区域是否可视。你可以通过这些传感器来启动和停止动画或者控制其他的动作,这些动作仅当一个可感知的区域可见时是必要的。通过给出中心和尺寸,你可以指定一个由VisibilitySensor节点感测的空间区域。
碰撞检测是检测空间中观察者与造型接近和碰撞的时间。碰撞节点在检测观察者的碰撞时做两件事:
通过CollideTime eventOut事件输出当前的绝对时间。以上就是VRML场景中的几种交互,使用这些交互我们可以做到类似电灯开启,自动滑动门等效果。
摘要:本文简要的介绍了有关地理数据的可视化处理方法,主要介绍通过vrml实现地理数据的可视化处理的方法,以及通过vrml实现虚拟地理实验室的主要途径,介绍了几款用于虚拟地理实验室建模工具软件。
关键词:vrml 地理模型 可视化
地理模型的建立,是一个从定性到定量的综合集成过程,建立地理模型,不但需要基本地理知识和地理学有关理论的支撑,而且还需要借鉴和运用其他相关学科的理论方法好技术,特别是数理方法和计算机应用技术。
本文主要从地理数据的可视化方面,从计算机实现方面进行简要的介绍。目前,地理数据的可视化,建立三维模型的软件众多。在静态效果制作方面比较著名的三维建模工具有Autodesk公司的AutoCAD、Discreet公司的3ds Max;在影视动画的制作方面有Alias公司的MAYA;在虚拟仿真方面有Silicon Graphics(sGI)公司的OpenGL、Multigen Paradigm公司的Multigen Creator;在GIS方面有名的软件有ESRI公司的ArcScene,国内武汉适普公司的IMAGIS、北京灵图公司的VRMap;在上述各种类型的软件中,要本着操作性好、适用性高、通用性强、功能性全等原则选择一种最好的方式建立场景模型。由于本文重点在于建立一个可靠的三维场景、用于漫游浏览、进而向实现GIS功能转化,因此,对建模软件的选择也应基于上述几点全面考虑。AutoCAD、3ds Max和MAYA虽然是效果制作和动画领域的主流,但模型过于复杂是它们用来直接实现虚拟漫游建模的瓶颈;OpenGL是三维图形的标准,用作三维建模需要从底层开发做起,工作量大、开发周期长是目前应用上的最大障碍;ArcScene在三维模块方面还不太成熟;IMAGIS和VILMap在国内刚刚起步,建模功能还不够完善,与主流建模工具存在不小差距,浏览大场景效率不高且实现的GIS功能也非常有限。
要使建立的场景能顺利地完成驱动漫游,高效的模型数据结构是实现这一功能的关键之一。除此之外,缩减多边形面数也是实施仿真的必要环节。面数越少,意味着在实时的视景仿真中,计算机所要处理的信息量就越少,这将会有力地减轻计算机在仿真时计算的负担,从而减少计算机渲染图形所要的时间,提高帧率,有利于画面的连续性。所以,并非所有的建模软件都能够很好地用于动态仿真。
以3ds Max为例,它的模型数摄采用单层模型,是平面形式的,而非仿真漫游顺序的树状索引格式,所以他用作仿真环境不能有效地组织各数据节点,从而限制了实时绘制画面的帧率。此外,3ds Max制作出来的一张效果图模型往往存在几万甚至几十万个面,单是静态渲染就已经是一项非常耗时的工作了,况且它对硬件的要求也是非常的高,所以用它来建立实验室模型也不是最合适的。
通过上述对备主流建模软件功能的分析与综合比较,笔者认为vrml能有效组织模型结果、减少模型数量,最适会用于地理实验室的建模工作。但是,考虑到场景中存在部分复杂物体,所以地理实验室以vrml软件建模为主,同时用3ds Max等作为辅助工具,极大限度地提高建模效率。
VRML(Virtual Reality Modeling Language)即虚拟现实建模语言。是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模语言,也具有平台无关性。是目前Internet上基于 WWW的三维互动网站制作的主流语言。本质上是一种面向web,面向对象的三维造型语言,而且它是一种解释性语言。VRML的对象称为结点,子结点的集合可以构成复杂的景物。结点可以通过实例得到复用,对它们赋以名字,进行定义后,即可建立动态的VR(虚拟世界)。
VRML中的动画是通过路由和事件来实现的。为了使虚拟空间具有动感,构造指令可以包含绑定指令,绑定指令描述如何将节点绑定在一起。VRML绑定包括:绑定在一起的节点和在节点之间绑定的路由或者叫做路径。绑定两个节点之后,第一个节点通过这样的路径传送给第二个节点的信息叫作事件。事件包含一个值。当一个节点接收到一个事件时,它将根据节点的特征开始动画或者其它事情。通过绑定多个节点,用户可以创建许多路由,从而使空间更加具有动感。
VRML中的自身交互可以做到什么程度
如果要使你的空间具有交互性,你可以给一个造型附带一个传感器,该传感器使用一个定点设备来感知观察者的动作。当观察者点击到一个附带有传感器的造型时,传感器就输出一个事件,这个事件就被路由到其它的节点来开始一个动画。
TouchSensor是一种用来检测观察者的接触和将事件输出的传感器。这些输出描述了在何时、何地,观察者接触到了可感知的造型。CylinderSensor、PlaneSensor和SphereSensor节点也可用来检测何时观察者接触到一个可感知的造型,并且提供了用来改变造型位置和方向的输出。
在VRML中,你可以将一个传感器附在一个造型上,用它来检测观察者的移动、点击和拖动。当观察者与一个可感知的造型相互作用时,你就可以把传感器的输出连入一个线路中,从而引起造型的移动和动画的播放。
感知观察者接近常使用三种方法:感知观察者的可视性、感知观察者的接近性和通过碰撞检测。
可见传感器从观察者的位置和方向来感知在空间中的一个长方体区域是否可视。你可以通过这些传感器来启动和停止动画或者控制其他的动作,这些动作仅当一个可感知的区域可见时是必要的。通过给出中心和尺寸,你可以指定一个由VisibilitySensor节点感测的空间区域。
碰撞检测是检测空间中观察者与造型接近和碰撞的时间。碰撞节点在检测观察者的碰撞时做两件事:
通过CollideTime eventOut事件输出当前的绝对时间。以上就是VRML场景中的几种交互,使用这些交互我们可以做到类似电灯开启,自动滑动门等效果。