虚拟现实7041936.pptx
《虚拟现实7041936.pptx》由会员分享,可在线阅读,更多相关《虚拟现实7041936.pptx(70页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、三 基于VRML的虚拟建模 VRML场景创建场景创建VRML颜色、纹理与灯光模型颜色、纹理与灯光模型VRML声音与声音与LOD加速加速VRML动画与交互动画与交互地形的地形的LOD模型实现模型实现实习工具VRML编辑器编辑器VRMLPadVRML浏览浏览Parallel Graphics公司的公司的Cortona3DSMAX Cortona浏览器界面浏览器界面:VRMLVRML场景创建场景创建VRMLVRML中几何形体的基本构成模块是造型,造型中几何形体的基本构成模块是造型,造型由节点和其域及域值描述构成由节点和其域及域值描述构成VRMLVRML中几何造型节点中几何造型节点5 5类类原始几何造
2、型节点(原始几何造型节点(Box,Cone,Cylinder,SphereBox,Cone,Cylinder,Sphere)点、线、面集节点(点、线、面集节点(PointSetPointSet,IndexedLineSetIndexedLineSet,IndexedFaceSetIndexedFaceSet,CoordinateCoordinate)海拔节点(海拔节点(ElevationGridElevationGrid)挤出节点(挤出节点(ExtrusionExtrusion)文本造型节点(文本造型节点(TextText)VRML文件结构文件结构 文本叙述文本叙述(Textual Descr
3、iption)文件,文件,可用任何文本编辑器编写可用任何文本编辑器编写VRML文件,保文件,保存成存成.wrl文件。文件。#VRML V2.0 utf8#Draw the columnShape appearance DEF Yellow Appearance material Material diffuseColor 1.0 1.0 0.0geometry Cylinder radius 0.5height 4.0#Draw the baseTransform translation0-3 0children Shapeappearance USE Yellowgeometry Box s
4、ize 2.0 2.0 2.0节点节点 VRML文件最基本的单位,节点还包文件最基本的单位,节点还包含子节点含子节点(Child Node)和描述节点属性的字和描述节点属性的字段段(Fields)。Shape节点:用来形容对象的几何形状节点:用来形容对象的几何形状(Geometry节点,如球体、长方体和圆柱体节点,如球体、长方体和圆柱体)及外观及外观(Appearance节点,如表面的颜色、节点,如表面的颜色、透明度和光滑度透明度和光滑度)的节点。的节点。前例中的一个节点前例中的一个节点 geometry Cylinder radius 0.5 height 4.0 一个节点通常包含节点的名称
5、一个节点通常包含节点的名称(如如Cylinder),一对大括号一对大括号,以及,以及字段和字段值字段和字段值(如如radius 0.5)。字段和字段值描述节点的属性。字段和字段值描述节点的属性。Shape造型节点造型节点重要的基本节点之一重要的基本节点之一定义一个定义一个VRML造型具有的几何尺寸和外观造型具有的几何尺寸和外观所有的所有的VRML造型都使用造型都使用shape节点创建节点创建 Shape节点:构建虚拟对象的轮廓,即节点:构建虚拟对象的轮廓,即模型。包含两个字段,模型。包含两个字段,Appearance(外观外观)节点和节点和Geometry(几何几何)节点字段。节点字段。Sha
6、pe节点语法:节点语法:Shape exposedField SFNode appearance NULL exposedField SFNode geometry NULL 字段说明字段字段说明说明appearance该字段包含一个该字段包含一个AppearanceAppearance节点。节点。geometry该字段包含一个该字段包含一个AppearanceAppearance节点。节点。节点值(SFNode):表明一个属性节点,控制造型节点创建造型。几何造型节点GeometryGeometry域的域值用于设定一个几何造型域的域值用于设定一个几何造型节点节点简单几何造型节点简单几何造型节点
7、长方体长方体BOX球体球体Sphere圆锥体圆锥体Cone圆柱体圆柱体Cylinder复杂几何造型节点复杂几何造型节点点集点集线集线集面集面集几何箱型节点几何箱型节点Box Box Box节点:节点:构建一个箱型几何对象构建一个箱型几何对象,是,是ShapeShape节点的节点的GeometryGeometry节点之一字段是节点之一字段是sizesize,控制箱型的尺寸,长、高和宽分别位于,控制箱型的尺寸,长、高和宽分别位于X X轴、轴、Y Y轴和轴和Z Z轴。如果没有设置箱型对象的轴。如果没有设置箱型对象的位置,它的几何中心默认位置在原点位置,它的几何中心默认位置在原点(0,0,0)(0,0
8、,0),长、高、宽的默认值为,长、高、宽的默认值为(2,2,2)(2,2,2)。yxzSize2Size2Size2Box节点Box节点语法:Box field SFVec3f size 2 2 2#(0,)字段说明字段字段说明说明size该字段用于控制箱型体尺寸的大小,默认值为该字段用于控制箱型体尺寸的大小,默认值为(2 2 2)(2 2 2)。三维浮点矢量(SFVec3f和MFVec3f):值为3个浮点值,用于指定三维位置。#VRML V2.0 utf8 Shape appearance Appearance material Material geometry Box size 3 2
9、3 几何圆锥体节点几何圆锥体节点ConeCone Cone(圆锥体)节点:圆锥体。Shape节点的Geometry节点之一。尺寸由bottomRadius(底部半径)和height(高)两个字段控制;还有两个布尔值的字段分别为side和bottom,控制圆锥体四周和底部是否要创建。它的默认位置,顶点在(0,height/2,0),底部圆心在(0,-height/2,0)。布尔值(SFBool):开关值。值为TRUE或FALSE,常用于指定某一属性的开关或关闭。bottomRadiusheight/2height+x+y+zCone Node Syntax Cone field SFFloat
10、bottomRadius 1#(0,)field SFFloat height 2#(0,)field SFBool side TRUE field SFBool side TRUE 字段说明字段字段说明说明bottomRadius定义圆锥体的底部圆半径大小,默认值为定义圆锥体的底部圆半径大小,默认值为 1 1。height定义圆锥体的高,默认值为定义圆锥体的高,默认值为 2 2。side该字段是一个布尔值,用来决定圆锥体的四周是否创建。该字段是一个布尔值,用来决定圆锥体的四周是否创建。bottom该字段是一个布尔值,用来决定圆锥体的底部是否创建,默该字段是一个布尔值,用来决定圆锥体的底部是否
11、创建,默认值为认值为TRUETRUE。浮点值(SFFloat):浮点值。值为具有正负之分的实数,用于指定某一确定的数值属性。#VRML V2.0 utf8Shape appearance Appearance material Material geometry Cone bottomRadius 2height 4side TRUEbottom FALSE几何圆柱体节点几何圆柱体节点CylinderCylinder Cylinder(Cylinder(圆柱体圆柱体)节点:构建一个圆柱节点:构建一个圆柱体。体。是是ShapeShape节点的节点的GeometryGeometry节点之一。控节点
12、之一。控制外型大小的字段分别是制外型大小的字段分别是height(height(高高)和和radius(radius(半径半径);还有三个布尔值的字段分别;还有三个布尔值的字段分别是是bottombottom、sideside和和toptop,确定底部、四周和,确定底部、四周和顶部是否创建。若没有给定任何的起始位置,顶部是否创建。若没有给定任何的起始位置,它的几何中心位置在原点它的几何中心位置在原点(0,0,0)(0,0,0)。+x+y+zsidetoptottomradiusheight/2heightCylider Node Syntax Cylinder field SFBool bot
13、tom TRUE field SFFloat height 2#(0,)field SFFloat radius 1#(0,)field SFBool side TRUE field SFBool top TRUE 字段说明字段字段说明说明bottom该字段是一个布尔值,决定圆柱体的底部是否建立,默认值为该字段是一个布尔值,决定圆柱体的底部是否建立,默认值为 TRUETRUE。height用于定义圆柱体的高度,默认值为用于定义圆柱体的高度,默认值为 2 2。radius用于定义圆柱体的底部半径,默认值为用于定义圆柱体的底部半径,默认值为1 1。side该字段是一个布尔值,决定圆柱体的四周是否创
14、建。默认值为该字段是一个布尔值,决定圆柱体的四周是否创建。默认值为TRUETRUE。top该字段是一个布尔值,用于决定圆柱体的顶部是否创建,默认值为该字段是一个布尔值,用于决定圆柱体的顶部是否创建,默认值为TRUETRUE。#VRML V2.0 utf8Shapeappearance Appearance material Material geometry Cylinder radius 1.5height 3side TRUEbottom TRUEtop FALSE几何球体节点几何球体节点SphereSphere Sphere Sphere节点是一个最基本的节点是一个最基本的Geometr
15、yGeometry节节点。用于构建球体,只有一个字段,控制半点。用于构建球体,只有一个字段,控制半径的径的radiusradius字段,其默认几何中心位置在原字段,其默认几何中心位置在原点点(0,0,0)(0,0,0)。+x+y+zradiusSphere Node Syntax Sphere field SFFloat radius 1#(0,)字段说明字段字段说明说明radius用来定义球体的半径,默认值为用来定义球体的半径,默认值为1 1。#VRML V2.0 utf8Shape appearance Appearance material Material geometry Spher
16、eradius 1.6点集合节点点集合节点PointSetPointSet 一个一个VRMLVRML的点是利用坐标的点是利用坐标x x、y y、z z定义出定义出位置。位置。PointSetPointSet节点是将很多点集合起来。节点是将很多点集合起来。PointSetPointSet包含两个字段,这两个字段都是节包含两个字段,这两个字段都是节点:一个是点:一个是colorcolor字段,用字段,用ColorColor节点来控制节点来控制颜色;另一个是颜色;另一个是coordcoord字段,用字段,用CoordinateCoordinate节节点来控制坐标。点来控制坐标。字段说明字段字段说明说
17、明color该字段包含一个该字段包含一个Color节点,用来定义每一个点的颜色。节点,用来定义每一个点的颜色。coord该字段包含一个该字段包含一个Coordinate节点,用来定义每一个点的坐标。节点,用来定义每一个点的坐标。PointSet Node Syntax PointSet exposedField SFNode color NULL exposedField SFNode coord NULL 字段说明字段字段说明说明point该字段用来定义一连串几何对象的坐标值。该字段用来定义一连串几何对象的坐标值。Coordinate Node Syntax Coorinate Expose
18、dFieldMFVec3f point#(-,)#VRML V2.0 utf8Shape geometry PointSet color Color color 1.0 0.0 0.0,#RED 0.0 1.0 0.0,#GREEN 0.0 0.0 1.0,#BLUE 0.0 0.0 0.0,#BLACK 1.0 1.0 1.0,#WHITE 1.0 1.0 0.0,#YELLOW 0.0 1.0 1.0,#GREENBLUE 1.0 0.0 1.0#PURPLEcoord Coordinate point 1.0 1.0 1.0,1.0 -1.0 1.0,-1.0 -1.0 1.0,-1.0
19、 1.0 1.0,1.0 1.0 -1.0,1.0 -1.0 -1.0,-1.0 -1.0 -1.0,-1.0 1.0 -1.0 指针线集合节点指针线集合节点IndexedLineSetIndexedLineSet VRML的线是由两点连接所构成的一条直线。IndexedLineSet节点就是将许多线集合在一起,并给定每条线一个指针(Index)。字段说明字段字段说明说明color该字段包含一个该字段包含一个ColorColor节点,用来定义每一个点的颜色。节点,用来定义每一个点的颜色。coord该字段包含一个该字段包含一个CoordinateCoordinate节点,用来定义每一个位置。节点
20、,用来定义每一个位置。colorIndex该字段用来定义一连串指针,每个指针对应该字段用来定义一连串指针,每个指针对应ColorColor节点的每节点的每组颜色值。组颜色值。coordPerVertex该字段是布尔值,该字段是布尔值,TRUETRUE表示提供每一个顶点一个颜色,此为表示提供每一个顶点一个颜色,此为默认值;默认值;FALSEFALSE表示提供每一组表示提供每一组PolyLinesPolyLines一个颜色。一个颜色。coordIndex该字段用来定义一连串指针用于该字段用来定义一连串指针用于CoordinateCoordinate节点,每个指针节点,每个指针用来指出那些顶点相连和
21、相连的顺序。用来指出那些顶点相连和相连的顺序。事件说明事件事件说明说明set_colorIndex该事件是一个该事件是一个eventIn事件,用来设置事件,用来设置colorIndex字段的值。字段的值。set_coordIndex该事件是一个该事件是一个eventIn事件,用来设置事件,用来设置coordIndex字段的值。字段的值。#VRML V2.0 utf8Shape appearance Appearance material Material emissiveColor 1.0 1.0 1.0 geometry IndexedLineSet coord Coordinate poi
22、nt 0.0 1.0 0.0,#Index 0 1.0 0.0 1.0,#Index 1 1.0 0.0-1.0,#Index 2 -1.0 0.0-1.0,#Index 3 -1.0 0.0 1.0,#Index 4 coordIndex#side 0,1,-1,0,2,-1,0,3,-1,0,4,-1,#bottom 1,2,3,4,1,-1 上例中创建一个四角锥。坐标指针坐标指针坐标坐标(x,y,z)00,1,011,0,121,0,-13-1,0,-14-1,0,1由上表构成的5组PolyLinesPolylines1,2,3,4,10,10,20,30,402143三维PolyLin
23、es四角锥地表网格地表网格节点节点ElevationGridElevationGrid用来描述地表特征的节点:高山、丘陵和平用来描述地表特征的节点:高山、丘陵和平地的地表不规则变化地的地表不规则变化 将某一个要描述的地表区域分割成很多网格,将某一个要描述的地表区域分割成很多网格,定义网格的个数,再定义网格的长和宽,最后定义网格的个数,再定义网格的长和宽,最后定义网格的高度,可以描述出想要表达的地表定义网格的高度,可以描述出想要表达的地表形状形状ElevationGridElevationGrid节点适合于立体地形图的构建;节点适合于立体地形图的构建;zxDimension,i=04zDimen
24、sion,i=03xy012345101501123423981419181716xSpacingzSpacingheight(18)ElevationGrid Node Syntax ElevationGrid eventIn MFFloat set-height exposedField SFNode color NULL exposedField SFNode normal NULL exposedField SFNode texCoord NULL field MFFloat height#(-,)field SFBool ccw TRUE field SFBool colorPerV
25、ertex TRUE field SFFloat creaseAngle 0#0,field SFBool normalPerVertex TRUE field SFBool solid TRUE field SFINT32 xDimension 0#0,field SFFlost xSpacing 1.0#0,field SFINT32 zDimension 0#0,field SFFlost zSpacing 1.0#0,字段说明字段说明字段字段说明说明color该字段可以包含一个该字段可以包含一个ColorColor节点,以提供每个顶点或四边形所需的颜色。节点,以提供每个顶点或四边形所需
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟现实 7041936
限制150内