第六章虚拟现实建模语言vrml1_第1页
第六章虚拟现实建模语言vrml1_第2页
第六章虚拟现实建模语言vrml1_第3页
第六章虚拟现实建模语言vrml1_第4页
第六章虚拟现实建模语言vrml1_第5页
已阅读5页,还剩44页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

地学可视化与景观模拟第六章虚拟现实建模语言Email:余接情第一节VRML概述

第一节VRML概述

第一节VRML概述第一节VRML概述

什么叫VRML?VRML(VirtualRealityMakeupLanguage)是一种面向WEB、面向对象的三维造型解释语言;是一个开放的、可扩展的场景描述语言与标准。不仅支持数据和过程的三维显示,而且能使用户走进视、听效果逼真的虚拟世界。定义了三维应用系统中常用的语言描述,如层次变换、光源、视点、几何造型、动画、材质、雾化和纹理映射等,并具有简单的行为特征描述功能。第一节VRML概述VRML的特点具有强大的网络功能。VRML程序可直接接入Intemet,创建立体网页与网站。具有多媒体功能。能够实现多媒体制作,合成声音、图像以达到影视效果。创建三维立体造型和场景,实现更好的立体交互界面具有人工智能。主要体现在VRML具有感知功能。可以利用感知传感器节点来感受用户及造型之间的动态交互感觉。第一节VRML概述VRML的发展1994年5月日内瓦的第一次WWW年会上,与会者提出要创造三维网络的界面,必须有一种通用的描述性语言,于是诞生了虚拟现实描述语言(VirtualRealityMakeupLanguage),随后改为虚拟现实建模语言。1994年10月,第二届WWW国际会议上公布了VRML1.0的草案,它是由SiliconGraphics,Inc.(SGI)的GavinBell通过选择OpenInventor文件格式中的基本元素,增加必要的WWW特征制定出的。1995年德国举行的Web会议上,第一个VRML浏览器Webspace首次亮相。SGI公司推出了WebspaceAuthor创作工具。第一节VRML概述VRML的发展1996年,对1.0版本进行重大改进的基础上推出了2.0版本,添加了场景交互、多媒体支持,碰撞检测等功能。1997年,经过标准组织的评估后,VRML2.0成为国际标准,并改称VRML97。1998年,VRML组织改为Web3D组织,同时制订了一个Extensible3D(X3D),VRML将结合Java3D和XML等技术,成为Internet上三维虚拟世界的主要标准。第一节VRML概述地理虚拟建模语言(GeoVRML)

一种地理虚拟建模语言。用虚拟建模语言(VRML)为基础来描述地理空间数据。其目的是让用户通过一个在Web浏览器安装的标准的VRML插件来浏览地理参考数据、地图、和三维地形模型。第一节VRML概述地理虚拟建模语言(GeoVRML)对VRML97标准的扩充,包括:(1)支持多种坐标系统和参考椭球(2)全面提高数据精度(3)三维建模型功能进一步增强新增了GeoCoordinate(描述对象的地理坐标)、GeoElevationGrid(建立DTM模型)、GeoLocation(将标准的VRML模型精确植入场景)等10个节点。(4)浏览模式的增强已正式作为附件收入VRML97国际标准,并将作为地理几何组件包括在X3D/VRML200X国际标准中。目前CosmoPlay、ParallelGraphicsCortona®

等VRML/X3D浏览器提供GeoVRML支持。第一节VRML概述VRML文件文本格式扩展名为.wrl二进制格式扩展名为.wrz第一节VRML概述VRML编辑器第一节VRML概述用记事本来编写源程序ParaGraphInternational公司的Internet3DSpaceBuilder由ParallelGraphics公司的VRMLPad

VRML浏览器ParallelGraphics公司的Cortona

SIG公司的CosmoPlayer

Management公司的BSContact

跨平台开源软件OpenVRML

第一节VRML概述VRML示例第二节VRML编程基础#VRMLV2.0utf8#DrawthecolumnShape{ appearanceDEFYellowAppearance { materialMaterial{ diffuseColor1.01.00.0 } } geometryCylinder{ radius0.5 height4.0 } }#DrawthebaseTransform{ translation 0-30 children[ Shape{ appearanceUSEYellow geometryBox{ size2.02.02.0 } } ]}第一行:#VRMLV2.0utf8,唯一必须有的内容。注释用“#”,直到本行结束,不支持多行注释VRML是区分大小写字母的一个VRML文件包含一个而且是唯一的场景图节点一般包括:节点的类型(必需)、一对大括号(必需),括号中的一定数目描述节点属性的域(可选)和域值。第二节VRML编程基础VRML文件构成节点事件造型路由原型脚本第二节VRML编程基础什么是节点?

节点是VRML文件最基本的组成要素,是VRML文件基本的组成部分。节点是对客观世界中各种事物、对象、概念的抽象描述。VRML文件就是由许多节点之间并列或层层嵌套而构成的第二节VRML编程基础每个节点包含子节点和描述节点属性的“域名”或“域值”。在高级语言中称为变量、数组等,在数据库中常称为字段。

什么是节点?“域”分为两种:1)普通“域”(field),相当于高级语言中的普通变量2)“暴露域”(exposeField),相当于C语言中的外部变量。

节点由节点名、一对花括号组成,花括号内又包括节点的域名、域值及域值类型第二节VRML编程基础在同一“节点”中的域遵循如下规则:同一节点中的各个域之间无先后次序之分;节点中的各个域均有自己相应的默认值;不同的域对应不同的域值类型。什么是节点?第二节VRML编程基础什么是事件?每一个节点一般都有两种事件,即一个“入事件”和一个“出事件”。在多数情况下,事件只是一个要改变域值的请求

“入事件”请求节点改变自己某个域的值“出事件”则是请求别的节点改变它的某个域值。第二节VRML编程基础

什么是路由?路由是产生事件和接受事件的节点之间的连接通道。路由的作用将各个不同的节点联系在一起,使虚拟空间具有更好的交互性、立体感、动感性和灵活性。第二节VRML编程基础什么是造型?物体的造型,即场景图由描述对象及其属性的节点组成。第二节VRML编程基础什么是原型?原型是用户建立的一种新的节点类型,而不是一种“节点”。进行了原型定义就相当于扩充了VRML的标准节点类型集。节点的原型是节点对其中的域、入事件和出事件的声明,可以通过原型扩充VRML节点类型集第二节VRML编程基础什么是脚本?脚本是一套程序,与其他高级语言或数据库的接口。脚本可以接受事件,处理事件中的信息,还可以产生基于处理结果的输出事件。第二节VRML编程基础VRML立体空间坐标系xzy第二节VRML编程基础VRML单位。VRML长度单位第二节VRML编程基础VRML角度单位VRML颜色红、绿、蓝(RGB)采用弧度制。Shape节点第三节VRML几何造型定义一个VRML造型具有的几何尺寸和外观所有的VRML造型都使用shape节点创建Shape{

appearanceNULL#exposedFieldSFNode

geometryNULL#exposedFieldSFNode

}SFNode:表明一个属性节点,控制造型节点创建造型。字段说明appearance外观类型,Appearance{}为空域,NULL表示白色无材质。geometry几何形状,为NULL或其它10种造型节点。几何造型节点上述Geometry域的域值用于设定一个几何造型节点。第三节VRML几何造型简单几何造型节点长方体Box球体Sphere圆锥体Cone圆柱体Cylinder复杂几何造型节点点集PointSet线集IndexedLineSet面集IndexedFaceSet挤出造型Extrusion地形ElevationGrid文本Text几何长方体节点——Box第三节VRML几何造型Box{

size222#fieldSFVec3f}示例:#VRMLV2.0utf8Shape{ appearanceAppearance{ materialMaterial{} } geometryBox{ size3.02.03.0 }}字段说明size该字段用于控制箱型体尺寸的大小,默认值为(222)。几何圆锥体节点——Cone第三节VRML几何造型Cone{

bottomRadius1#fieldSFFloat

height2#fieldSFFloat

sideTRUE#fieldSFBool

bottomTRUE#fieldSFBool

}bottomRadiusheight/2height+x+y+z字段说明bottomRadius定义圆锥体的底部圆半径大小,默认值为1。height定义圆锥体的高,默认值为2。side该字段是一个布尔值,用来决定圆锥体的四周是否创建。bottom该字段是一个布尔值,用来决定圆锥体的底部是否创建,默认值为TRUE。几何圆锥体节点——Cone第三节VRML几何造型示例:#VRMLV2.0utf8Shape{ appearanceAppearance{ materialMaterial{} } geometryCone{}}几何圆柱体节点——Cylinder第三节VRML几何造型Cylinder{

bottomTRUE #fieldSFBool

height2 #fieldSFFloat

radius1 #fieldSFFloat

sideTRUE #fieldSFBool

topTRUE #fieldSFBool

}字段说明bottom决定圆柱体的底部是否建立,默认值为TRUE。height圆柱体的高度,默认值为2。radius圆柱体的底部半径,默认值为1。side圆柱体四周是否创建。默认值为TRUE。top圆柱体顶部是否创建,默认值为TRUE。示例:#VRMLV2.0utf8Shape{ appearanceAppearance{ materialMaterial{} } geometryCylinder{ radius3.0 height5.0 }}几何圆柱体节点——Cylinder第三节VRML几何造型几何球体节点——Sphere第三节VRML几何造型Sphere{

radius1#fieldSFFloat

}字段说明radius用来定义球体的半径,默认值为1。示例:#VRMLV2.0utf8Shape{ appearanceAppearance{ materialMaterial{} } geometrySphere { radius3.0}}几何球体节点——Sphere第三节VRML几何造型点集合节点——PointSet第三节VRML几何造型PointSet{

colorNULL#exposedFieldSFNode

coordNULL#exposedFieldSFNode

}域域值或子节点域值colorNULL空值Color节点color[]颜色列表coordNULL空值Coordinate节点point[]点坐标列表点集合节点——PointSet第三节VRML几何造型li2_8.wrl线集合节点——IndexedLineSet第三节VRML几何造型IndexLineSet{

coord NULL #exposedFieldSFNode

coordIndex[] #FieldMFInt32 color NULL #exposedFieldSFNode colorIndex[] #FieldMFInt32 colorPerVertexTRUE #FieldSFBool set_coordIndex set_colorIndex

}域域值或子节点域值colorNULL空值Color节点color[]颜色列表coordNULL空值Coordinate节点point[]点坐标列表事件说明set_colorIndex该事件是一个eventIn事件,用来设置colorIndex字段的值。set_coordIndex该事件是一个eventIn事件,用来设置coordIndex字段的值。线集合节点——IndexedLineSet第三节VRML几何造型坐标序号坐标(x,y,z)00,1,011,0,121,0,-13-1,0,-14-1,0,1Polylines0,1,-10,2,-10,3,-10,4,-11,2,3,4,1由上表构成的5组Lines02143三维PolyLines四角锥线集合节点——IndexedLineSet第三节VRML几何造型li2_9.wrl02143面集合节点——IndexedFaceSet第三节VRML几何造型线集合节点——IndexedLineSet第三节VRML几何造型li2_10.wrl02143ElevationGrid{

xDimension0 #fieldSFINT32

xSpacing1.0 #fieldSFFlost

zDimension0 #fieldSFINT32

zSpacing1.0 #fieldSFFlost

height []#fieldMFFloat

color NULL #exposedFieldSFNode colorPerVertexTRUE #fieldSFBool

normalNULL #exposedFieldSFNode normalPerVertexTRUE #fieldSFBool

texCoord NULL #exposedFieldSFNode ccwTRUE #fieldSFBool

solidTRUE #fieldSFBool

creaseAngle0 #fieldSFFloat set_height #eventInMFFloat

}地表网格节点——ElevationGrid第三节VRML几何造型地表网格节点——ElevationGrid第三节VRML几何造型zxDimension网格点数量,而非网格数量zDimensionxy012345

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论