vrml实例编程 - 图文

更新时间:2023-12-31 23:40:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

VRML实验报告

院系: 班级: 学号: 姓名:

第 1 页 共 20 页

一、 实验目的:

掌握虚拟现实技术复杂三维场景建模技术。在场景中引入环境背景、动画与交互等,构建逼真的三维场景。 二、试验要求:

本次试验为综合性质试验,要求自行设计一个较为复杂的场景或者单体模型,其中包含各种造型与渲染技术,比如纹理材质、光照、环境背景、声音视频、动画与交互等。场景内容不限。

三、实验设计大纲:

1>汽车的设计 2>车载发射器的设计 3>车牌的设计 4>文字的设计 5>汽车车身贴图的设计 6>建筑的设计

7>导弹发射架及平台的设计 8>导弹弹头及弹身的设计 9>导弹火焰的设计

10>导弹发射的运动状态的设计 11>草地的设计 12>车辆的合成 13>所用部件的最终组合

三、试验步骤:

1>汽车的设计 第 2 页 源程序:皮卡.wrl

共 20 页

2>车载发射器的设计 源程序:发射器.wrl

3>车牌的设计 源程序:车牌.wrl

4>文字的设计 源程序:文字.wrl 、导弹文字.wrlq

第 3 页 共 20 页

5>贴图的设计 源程序:合成车辆.wrl 、门牌.wrl

6>建筑的设计 源程序:办公楼.wrl

第 4 页 共 20 页

7>导弹发射架及平台的设计 源程序:导弹发射架.wrl

8>导弹弹头及弹身的设计 源程序:导弹外壳.wrl

第 5 页 共 20 页

9>导弹火焰的设计 源程序:100716116.wrl

10>导弹发射的运动状态的设计 源程序:100716116.wrl

第 6 页 共 20 页

11>草地的设计 源程序:草地.wrl

12>车辆的合成 源程序:合成.车辆wrl

第 7 页 共 20 页

13>所用部件的最终组合 源程序:100716116.wrl

第 8 页 共 20 页

第 9 页 共 20 页

四、试验结果: 最终源程序部分代码: #VRML V2.0 utf8 #创建多个坐标系

#角度 0 30 45 60 90 120 135 150 180 #弧度 0 0.524 0.785 1.047 1.571 2.094 2.356 2.618 3.141 Viewpoint { }

Viewpoint {

position 0 0 100 orientation 0 0 0 0

第 10 页 共 20 页

position 0 10 80 orientation 1 0 0 0 fieldOfView 0 description \jump TRUE

}

fieldOfView 0 description \jump TRUE

Background{

skyAngle [1.2 1.57]

skyColor [ 0 0 1 0 0.5 0.8 1 1 1 groundAngle [1.2 1.571] groundColor }

[0.1 0.1 0.1 0.4 0.3 0.2 0.8 0.8 0.8]

]

#创建场景 Group { children [

Transform {

translation

0 10 -20

rotation 0 1 0 1.571

scale 1 1 1

children Inline {url \办公楼.wrl\

}

Transform { #门牌

translation

0 8 -10

rotation 0 1 0 1.571

scale 0.01 0.1 0.5

children Inline {url \办公楼.wrl\

}

Transform { #门牌

translation

-1 8 -9.3

rotation 0 1 0 0

scale 5 4 3

children Inline {url \门牌.wrl\

第 11 页 共 20 页

}

Transform { #导弹文字

translation

1 -1 30

rotation 1 0 0 -0.5

scale 2 2 2

children Inline {url \导弹文字.wrl\

}

Transform { #草地

translation

1 -1.2 4

rotation 1 0 0 0

scale 3.2 3 4

children Inline {url \草地.wrl\

}

Transform {

translation

0 10 -20

rotation 0 1 0 1.571

scale 1 1 1

children Inline {url \办公楼.wrl\

}

Transform {

translation

-12 0 0

rotation 0 1 0 -1.571

scale 1 1 1

children Inline {url \合成车辆.wrl\

}

Transform {

translation

-6 0 0

rotation 0 1 0 -1.571

scale 1 1 1

children Inline {url \合成车辆.wrl\

第 12 页 共 20 页

}

Transform {

translation

0 0 0

rotation 0 1 0 -1.571

scale 1 1 1

children Inline {url \合成车辆.wrl\

}

Transform {

translation

6 0 0

rotation 0 1 0 -1.571

scale 1 1 1

children Inline {url \合成车辆.wrl\

}

Transform {

translation

12 0 0

rotation 0 1 0 -1.571

scale 1 1 1

children Inline {url \合成车辆.wrl\

} #第二面车辆

Transform {

translation

24 0 6

rotation 0 1 0 3.141

scale 1 1 1

children Inline {url \合成车辆.wrl\

}

Transform {

translation

24 0 12

rotation 0 1 0 3.141

scale 1 1 1

第 13 页 共 20 页

children Inline {url \合成车辆.wrl\

}

Transform {

translation

24 0 18

rotation 0 1 0 3.141

scale 1 1 1

children Inline {url \合成车辆.wrl\

}

Transform {

translation

24 0 24

rotation 0 1 0 3.141

scale 1 1 1

children Inline {url \合成车辆.wrl\

}

Transform {

translation

24 0 30

rotation 0 1 0 3.141

scale 1 1 1

children Inline {url \合成车辆.wrl\

}

#第二面车辆

Transform {

translation

-24 0 6

rotation 0 1 0 0

scale 1 1 1

children Inline {url \合成车辆.wrl\

}

Transform {

translation

-24 0 12

第 14 页 共 20 页

rotation 0 1 0 0

scale 1 1 1

children Inline {url \合成车辆.wrl\

}

Transform {

translation

-24 0 18

rotation 0 1 0 0

scale 1 1 1

children Inline {url \合成车辆.wrl\

}

Transform {

translation

-24 0 24

rotation 0 1 0 0

scale 1 1 1

children Inline {url \合成车辆.wrl\

}

Transform {

translation

-24 0 30

rotation 0 1 0 0

scale 1 1 1

children Inline {url \合成车辆.wrl\

}

Transform { #导弹发射架

translation

3 14 20

rotation 0 1 0 -1.571

scale 1 1 1

children Inline {url \导弹发射架.wrl\

} ] }

第 15 页 共 20 页

Group { children [

DEF dd Transform { translation 2.5 7 19

rotation 0 0 1 0

children [

DEF cyl5 Shape {

appearance Appearance{ material Material { }

texture ImageTexture {

url \迷彩.jpg\ } }

geometry Cylinder { #柱节点

radius 1 #柱体半径 height 15 top TRUE bottom TRUE side TRUE }

} ] }

第 16 页 共 20 页

DEF Touch TouchSensor { # enabled

TRUE

} ] }

Group {#创建导弹弹头部分 children [

DEF dt Transform # { translation 2.5 15.5 19

rotation 0 0 1 0

children [

DEF cy7 Shape {

appearance Appearance{ material Material { }

texture ImageTexture {

url \迷彩.jpg\ } } geometry Cone { # bottomRadius 1 # height 2 bottom TRUE side TRUE

}

第 17 页 左门 door 柱节点

柱体半径 共 20 页

} ] }

DEF Touch2 TouchSensor { # }

} ]

enabled

TRUE

# 创建底火 Group { children [

DEF zh Transform { translation 2.5 -0.5 19 rotation 0 0 1 0 scale

3 3 3

children [ Shape {

appearance Appearance { material Material {

diffuseColor 0.9 0.0 0.0 #一种材料的漫反射颜色

ambientIntensity 0.4 #多少环境光被该表面反射 specularColor 0.7 0.7 0.6 #物体镜面反射光线的颜色 shininess 0.2 #造型外观材料的亮度 transparency 0.0 #物体的透明度

} }

geometry IndexedFaceSet { ccw TRUE solid TRUE

coord Coordinate { point [

第 18 页 共 20 页

##############节点########] } } ] }

DEF Touch3 TouchSensor { # enabled

TRUE

} ] }

DEF Time TimeSensor { # cycleInterval 8.0 loop FALSE

}

DEF flyinter1 PositionInterpolator { # key [ # 0.0,0.3, # 0.7,1.0,

]

keyValue [ # 2.5 7 19 2.5 13 19 2.5 19 19

2.5 25 19

]

}

DEF flyinter2 PositionInterpolator { #

key [ #

0.0,0.3, #第 19 页时间传感器 移动位置节点 相对时间的逻辑值 逻辑时间点的集合 空间坐标的位置值与相对时间的逻辑值移动位置节点 相对时间的逻辑值

逻辑时间点的集合

共 20 页

0.7,1.0, }

]

keyValue [ #空间坐标的位置值与相对时间的逻辑值 ]

2.5 15.5 19 2.5 21.5 19 2.5 27.5 19 2.5 33.5 19

DEF flyinter3 PositionInterpolator { #移动位置节点

key [ #相对时间的逻辑值 0.0,0.3, #逻辑时间点的集合 ]

keyValue [ #空间坐标的位置值与相对时间的逻辑值

0.7,1.0,

2.5 -0.6 19 2.5 5.4 19 2.5 11.4 19 2.5 17.4 19 }

]

ROUTE Touch.touchTime TO Time.startTime

ROUTE Time.fraction_changed TO flyinter1.set_fraction ROUTE Time.fraction_changed TO flyinter2.set_fraction ROUTE Time.fraction_changed TO flyinter3.set_fraction ROUTE flyinter1.value_changed TO ROUTE flyinter2.value_changed TO ROUTE flyinter3.value_changed TO

第 20 页 共 20 页

dd.set_translation dt.set_translation zh.set_translation

本文来源:https://www.bwwdw.com/article/3iix.html

Top