1、虚拟现实开发文档 罗维 03091350 1. 功能概述 运用vrml语言构造了一个虚拟现实世界。运动物体包括气球,火车,汽车,交通灯等,静止物体包括山脉,树林,房屋,人物,花草,电话亭,国旗,座椅,广告牌,雨伞等,另外还包含背景和声音。 2. 使用说明 2.1广告牌 截图: 程序: #VRML V2.0 utf8 Transform { translation 0.0 0.0 0.0 #背景颜色 children [ Transform {
2、 translation 0.0 0.0 0 children [ #创建广告牌造型 Shape { appearance Appearance{ material Material { diffuseColor 0.2 0.3 0.3 } } geometry Box { #广告牌 size 12 6.5 0.2 } } ] } Transfor
3、m { translation 0.0 0.0 -0.02 children [ Shape { appearance Appearance{ texture ImageTexture { url "advertisement.png" } material Material { diffuseColor 0.0 0.0 0.0 } } geometry Box { size 11 5.6 0.4 #广告屏幕
4、 } } ] } ] } DEF leg Transform{ #广告柱子 translation 5 -4 0.1 scale 0.04 0.04 0.04 children[ Shape { # Shape 模型节点 appearance Appearance{ material Material { #空间物体造型外观 diffuseColor 0.2 0.3 0.3 #一种材料的漫反射颜色
5、 } } geometry Cylinder { #柱体节点 radius 2.0 #圆柱体半径 height 100.0 #圆柱体高 top TRUE #圆柱体有顶 #bottom TRUE #圆柱体有底 bottom FALSE side TRUE #圆柱体有曲面 } } ] } Transform{
6、 #椅子腿 translation -10 0 0 children USE leg } 2.2热气球 截图: 程序: #VRML V2.0 utf8 Group { children [ Background{ skyColor[ 0.2 0.5 0.6 ] } #创建月球造型 Transform{ translation 0 0 0.0 scale 1 1 1 children[ Shape {
7、 #银白颜色 appearance Appearance{ texture ImageTexture { url "balloon.png" } material Material { #空间物体造型外观 diffuseColor 0.5 0.5 0.7 #一种材料的漫反射颜色 ambientIntensity 0.4 #多少环境光被该表面反射 specularColor 0.8 0.8 0.9 #物体镜面反射光线的颜色 shini
8、ness 0.20 #造型外观材料的亮度 } } geometry Sphere { #球体 radius 4 } } ] } ] } Transform{ translation 0 -4 0.0 scale 1 0.6 0.6 children[ Shape { appearance Appearance{ texture ImageTexture { url "color.png" }
9、 material Material { #空间物体造型外观 diffuseColor 0.3 0.2 0.0 #一种材料的漫反射颜色 ambientIntensity 0.4 #多少环境光被该表面反射 specularColor 0.7 0.7 0.6 #物体镜面反射光线的颜色 shininess 0.2 #造型外观材料的亮度 } } geometry Cylinder { #潜艇舰桥(嘹望塔) radius 1.0 he
10、ight 3.0 side TRUE top TRUE bottom TRUE } } ] } 热气球运动程序: #VRML V2.0 utf8 DEF fly1 Transform { #引入月球造型 children Inline {url "balloon.wrl"} } DEF Time1 TimeSensor { #时间传感器 cycleInterval 32 loop TRUE
11、 } DEF flyinter1 PositionInterpolator { #移动位置节点 key [ #相对时间的逻辑值 0.0,0.083,0.166,0.252,0.332,0.412,0.496,0.581,0.664,0.747,0.83,0.913,1.0 ] keyValue [ #空间坐标的位置值与相对时间的逻辑值 0 0 -20, 6.6 0 -15, 13.2
12、0 -9, 20 0 0, 13.2 0 9, 6.6 0 15 0 0 20 -6.6 0 15 -13.2 0 9 -20 0 0 -13.2 0 -9 -6.6 0 -15 0 0 -20 ] } ROUTE Time1.fraction_changed TO flyinter1.set_fraction ROUTE flyinter1.value_changed TO fly1.set_translation 2.3国旗 截
13、图: 程序: #VRML V2.0 utf8 Group { children [ Transform { translation -22 -3 22 scale 0.1 0.1 0.1 children [ Transform{ children [ Shape { appearance Appearance { texture ImageTexture { url "flag.gif"}} geometry
14、Box { size 27 0.1 27 } } ] } Transform { translation 0 15 0 children [ Shape { appearance Appearance { texture ImageTexture { url "flagbase.gif" }} geometry Cylinder { radius 0.2 bottom TRUE
15、 top TRUE height 30 side TRUE} } ] } Transform { children [ Shape { appearance Appearance { texture ImageTexture { url "flagbase.gif" }} geometry Cylinder { radius 2.0
16、 bottom TRUE top TRUE height 1.0 side TRUE} } ] } Transform { translation 4 28 0 scale 2 2 2 children [ Shape { appearance Appearance { texture ImageTexture { url "china.gif"}} geometry Box
17、 { size 4.0 2.0 0.01} } ] } ] } ] } Viewpoint { orientation 0 1 0 1.2 position -15 -2 25 } 2.4公共汽车 截图: 程序: #VRML V2.0 utf8 DEF Bus Transform { children [ DEF body Shape { appearance Appearance { material DEF LtGray_Col
18、or Material { ambientIntensity 0.25 diffuseColor 0.70213 0.70213 0.70213 } texture ImageTexture { url "bus_side.jpg" } } geometry IndexedFaceSet { coord Coordinate { point [ 1.7909 0 -7.67, 1.7909 0 7.6904, 1.7909 1.982 7.6904, 1.7909 3.964 7.1949, 1.7909 3.964 -7.1745, 1.7909 3.4685
19、7.67, -1.8015 0 -7.67, -1.8015 0 7.6904, -1.8015 1.982 7.6904, -1.8015 3.964 7.1949, -1.8015 3.964 -7.1745, -1.8015 3.4685 -7.67 ] } coordIndex [ 0, 5, 4, 2, -1, 0, 2, 1, -1, 4, 3, 2, -1, 11, 6, 7, 8, -1, 9, 10, 11, 8, -1 ] texCoord TextureCoordinate { point [ 0.0077066 0.017324, 0.997
20、41 0.017324, 0.99741 0.49809, 0.96549 0.97886, 0.039633 0.97886, 0.0077066 0.85867, 0.0077066 0.017324, 0.99741 0.017324, 0.99741 0.49809, 0.96549 0.97886, 0.039633 0.97886, 0.0077066 0.85867 ] } } } DEF front01 Shape { appearance Appearance { material USE LtGray_Color texture Image
21、Texture { url "bus_front.jpg" } } geometry IndexedFaceSet { coord Coordinate { point [ 1.7909 0 7.6904, 1.7909 1.982 7.6904, 1.7909 3.964 7.1949, -1.8015 0 7.6904, -1.8015 1.982 7.6904, -1.8015 3.964 7.1949 ] } coordIndex [ 3, 0, 1, 4, -1, 4, 1, 2, 5, -1 ] texCoord TextureCoordinate {
22、 point [ 0.93614 0.018577, 0.93614 0.48085, 0.93614 0.97202, 0.072481 0.018577, 0.072481 0.48085, 0.072481 0.97202 ] } } } DEF top01 Shape { appearance Appearance { material USE LtGray_Color } geometry IndexedFaceSet { coord Coordinate { point [ 1.7909 3.964 7.1949, 1.7909 3.964 -7.
23、1745, -1.8015 3.964 7.1949, -1.8015 3.964 -7.1745 ] } coordIndex [ 2, 0, 1, 3, -1 ] } } DEF back01 Shape { appearance Appearance { material USE LtGray_Color } geometry IndexedFaceSet { coord Coordinate { point [ 1.7909 0 -7.67, 1.7909 3.964 -7.1745, 1.7909 3.4685 -7.67, -1.8015 0 -7.
24、67, -1.8015 3.964 -7.1745, -1.8015 3.4685 -7.67 ] } coordIndex [ 4, 1, 2, 5, -1, 5, 2, 0, 3, -1 ] } } ] translation 0.00532 0 -0.01021 } 2.5汽车 截图: 程序: #VRML V2.0 utf8 Background{ #空间背景中,空中无颜色,即黑色。 topUrl "cloud.jpg" #顶部 frontUrl "cloud.jp
25、g" #前面 backUrl "cloud.jpg" #后面 leftUrl "cloud.jpg" #左面 rightUrl "cloud.jpg" #右面 bottomUrl "water.jpg" #底部 } DEF car Transform{ rotation 0 1 0 1.57 children[ Transform{ translation 0 0 3 rotation 1 0 0 1.57 children Shape{ ap
26、pearance Appearance{ texture ImageTexture { url "tire.png" } material Material{ diffuseColor .1 .1 .1 } } geometry Cylinder{ radius 1 height .5} } } Transform{ translation 0 0 -3 rotation 1 0 0 1.57 chi
27、ldren Shape{ appearance Appearance{ texture ImageTexture { url "tire.png" } material Material{ diffuseColor .1 .1 .1} } geometry Cylinder{radius 1 height .5} } } Transform{ translation 10 0 3 rotation 1 0 0 1.57 chil
28、dren Shape{ appearance Appearance{ texture ImageTexture { url "tire.png" } material Material{ diffuseColor .1 .1 .1} } geometry Cylinder{ radius 1 height .5} } } Transform{ translation 10 0 -3 rotation 1 0
29、0 -1.57 children Shape{ appearance Appearance{ texture ImageTexture { url "tire.png" } material Material{ diffuseColor .1 .1 .1} } geometry Cylinder{ radius 1 height .5} } } #车轮 Tran
30、sform{ translation 6 2 0 children Shape{ appearance Appearance{ texture ImageTexture { url "car_side.png" } material Material{ } } geometry Box{ size 16 3 8 } } } Transform{ translation 6.8 4 0 children S
31、hape{ appearance Appearance{ texture ImageTexture { url "black.png" } material Material{ } } geometry Box{ size 14 3 7 } } } #车身 Tra
32、nsform{ translation -2 3 -3 children Shape{ appearance Appearance{ material Material{ diffuseColor 1 1 1} } geometry Sphere{radius .5} } } Transform{ translation -2 3 3 children Shape{ appearance Appearance{ material
33、 Material{ diffuseColor 1 1 1 } } geometry Sphere{radius .5} } } ] } #车灯 Transform{ translation 0 2 2 rotation 0 1 0 1.571 children Shape{ appearance Appearance{ texture ImageTexture { url "car_front.png"
34、 } material Material{ } } geometry Box{ size 0.01 3 8 } } #车正面 } Transform{ translation 0 4.5 0.2 rotation 0 1 0 1.571 children Shape{ appearance Appearance{ texture ImageTexture { url "glass.png
35、" } material Material{ } } geometry Box{ size 0.01 1.5 6.5 } } #车窗户 } Transform{ translation 0 4.5 -13.8 rotation 0 1 0 1.571 children Shape{ appearance Appearance{ texture ImageTexture {
36、 url "glass.png" } material Material{ } } geometry Box{ size 0.01 1.5 6.5 } } #车窗户 后面 } Transform{ translation 3.55 4.5 -7 rotation 0 0 1 1.571 children Shape{ appearance Appearance{ t
37、exture ImageTexture { url "glass.png" } material Material{ } } geometry Box{ size 1.5 0.01 13 } } #车窗户 侧面 } Transform{ translation -3.5 4.5 -7 rotation 0 0 1 1.571 children Shape{ appeara
38、nce Appearance{ texture ImageTexture { url "glass.png" } material Material{ } } geometry Box{ size 1.5 0.01 13 } } #车窗户 侧面 } 2.6椅子 截图: 程序: #VRML V2.0 utf8 Transform { translation 0.0 0.
39、0 -0.02 children [ Shape { appearance Appearance{ texture ImageTexture { url "chair_wood.jpg" } material Material { diffuseColor 0.2 0.3 0.4 } } geometry Box { size 11 5.6 0.3 #椅子背 } }
40、] } Transform { translation 0 -2.8 2.8 rotation 1 0 0 1.571 children [ Shape { appearance Appearance{ texture ImageTexture { url "chair_wood.jpg" } material Material { diffuseColor 0.6 0.5 0.2 } } geom
41、etry Box { size 11 5.6 0.3 #椅子坐 } } ] } DEF leg Transform { translation 5.3 -5.5 0.3 #椅子腿 rotation 0 0 0 1.571 children [ Shape { appearance Appearance{ texture ImageTexture { url "chair_wood.jpg" }
42、 material Material { diffuseColor 0.6 0.5 0.2 } } geometry Cylinder { radius 0.2 #圆柱体半径 height 5.0 #圆柱体高 top TRUE #圆柱体有顶 #bottom TRUE #圆柱体有底 bottom FALSE side TRUE
43、 #圆柱体有曲面 } } ] } Transform{ #椅子腿 translation -10.5 0 0 children USE leg } Transform{ #椅子腿 translation 0 0 5 children USE leg } Transform{ #椅子腿
44、 translation -10.5 0 5 children USE leg } 2.7广告牌 截图: 程序: #VRML V2.0 utf8 Transform { translation 0.0 0.0 0 scale 5 5 5 children [ DEF side1 Shape { appearance Appearance { texture ImageTexture { url "flag_top.png" } ma
45、terial DEF Blue_Color Material { ambientIntensity 0.197097 diffuseColor 0.1 0.2 0.3 } } geometry Extrusion { creaseAngle 0.541052 crossSection [ 1.00346 0.254188, 1.11821 0.209842, 1.19964 0.115829, 1.22904 -0.006242, 1.19964 -0.128314, 1.11821 -0
46、222327, 1.00346 -0.266673, 1.00346 0.254188 ] orientation 0 0 1 0 scale 1 1 solid FALSE spine [ -0.197562 0 0, -0.253993 0 0 ] } } ] } Transform { translation -1.1 3.3 0 rotation 0 1 0 1.571 children [ Shape { appearance Appearance
47、{ texture ImageTexture { url "flag_middle.png" } material Material { diffuseColor 0.1 0.2 0.3 } } geometry Box { size 2.5 3.5 0.1 #广告屏幕 } } ] } Transform{ #广告柱子 translation -1.
48、1 0.1 0 scale 0.1 0.1 0.1 children[ Shape { # Shape 模型节点 appearance Appearance{ material Material { #空间物体造型外观 diffuseColor 0.1 0.2 0.3 #一种材料的漫反射颜色 } } geometry Cylinder { #柱体节点 radius 1 #圆柱体半
49、径 height 30.0 #圆柱体高 top TRUE #圆柱体有顶 #bottom TRUE #圆柱体有底 bottom FALSE side TRUE #圆柱体有曲面 } } ] } 2.8房屋 截图: 程序: #VRML V2.0 utf8 Group { children[ DEF house1 Transform {
50、 translation -22 12 -24 children [ Shape { appearance Appearance { texture ImageTexture { url "house1.gif" repeatS TRUE repeatT TRUE } } geometry Box { size 20 30 20 } } ] } ] } 2.9山脉 截图:






