www.pudn.com > HF¶àýÌå.rar > classroom2.wrl, change:2003-05-26,size:28133b
#VRML V2.0 utf8
#classroom.wrl
WorldInfo {
title "classroom"
info [ "Copyright WX~CHN 05-2003,Author:HF~Daisy£¬E-mail:hf_daisy@etang.com" ]
}
#add a proximitysensor to set scene parameter and viewpoints
DEF Proximity0 ProximitySensor { center 0 0 0 size 600 600 600 }
DEF about Transform{
children[
Transform{
translation -0.1 -0.75 -2.0
children[
Transform {
translation -0.4 0 0
children
Shape{
appearance Appearance{
material Material{
}
texture ImageTexture {
url "neuq_rc/fashegan.jpg"
}
}
geometry Text {
string "Welcome To HF's Classroom! "
fontStyle FontStyle {
language "en"
size 0.1
}
}
}
}
Group {
children
DEF neuq Transform {
translation -0.1 0.60 1.4
scale 0.2 0.2 0.2
children[
Transform {
rotation 1 0 0 3.142
children [
Shape {
appearance DEF neuqcolor Appearance {
material Material {
diffuseColor 0.8 0.51 0.09
specularColor 0.92 0.43 0.01
ambientIntensity 0.117
shininess 0.4
}
}
}
#add timesensor to set navigation method &loop
DEF time TimeSensor {
cycleInterval 5.0 loop TRUE
}
]
}
]
}
}
]
}
]
}
ROUTE Proximity0.position_changed TO Proximity0.set_center
ROUTE Proximity0.position_changed TO about.set_translation
ROUTE Proximity0.orientation_changed TO about.set_rotation
NavigationInfo {type "WALK" speed 0.5 headlight FALSE avatarSize [0.25,1.6,0.25]}
DEF view Viewpoint {position -3.3 3.2 15.3 orientation 0 1 0 0 fieldOfView 0.7363 description "try" jump FALSE}
Viewpoint { position -4.5 1.6 3.0 orientation 0 1 0 -1.3 fieldOfView 0.7363 description "frontleft"}
Viewpoint { position -2.8 3.5 3.0 orientation 0 1 0 -1.835 fieldOfView 0.8363 description "frontleft1"}
Viewpoint { position 0 2.0 4.0 orientation 1 0 0 0.15 fieldOfView 0.7363 description "frontmiddle"}
Viewpoint { position 4.5 1.6 3.0 orientation 0 1 0 1.3 fieldOfView 0.7363 description "frontright"}
Viewpoint { position 4.7 1.5 1.01 orientation 0 1 0 2.131 fieldOfView 0.9363 description "frontright1"}
Viewpoint { position 2 3.2 15.3 orientation 0 1 0 1.271 fieldOfView 0.7363 description "back"}
Viewpoint { position 0 3.2 15.3 orientation 0 1 0 0 fieldOfView 0.7363 description "back1"}
PointLight {intensity 0.5 color 1 1 1 attenuation 1 0 0 on TRUE location 0 2 8.1 radius 30}
PointLight {intensity 0.5 color 1 1 1 attenuation 1 0 0 on TRUE location 0 2 14.5 radius 30}
PointLight {intensity 0.5 color 1 1 1 attenuation 1 0 0 on TRUE location 4.2 3.5 15 radius 30}
PointLight {intensity 0.5 color 1 1 1 attenuation 1 0 0 on TRUE location -4.2 3.5 15 radius 30}
PointLight {intensity 0.5 color 1 1 1 attenuation 1 0 0 on TRUE location 4.2 3 8 radius 30}
PointLight {intensity 0.5 color 1 1 1 attenuation 1 0 0 on TRUE location -4.2 3 8 radius 30}
PointLight {intensity 0.5 color 1 1 1 attenuation 1 0 0 on TRUE location 4.2 3 2.5 radius 30}
PointLight {intensity 0.5 color 1 1 1 attenuation 1 0 0 on TRUE location -4.2 3 2.5 radius 30}
PointLight {intensity 0.5 color 1 1 1 attenuation 1 0 0 on TRUE location 0 3 2.5 radius 30}
Transform {
translation 0 2 -0.2
children Shape {
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/front1.jpg"
}
}
geometry Box {size 7.6 4 0.4}
}
}
#Sound {
# source AudioClip {
# url "neuq_rc/neuq.wav"
# loop TRUE
# }
# minFront 15
# minBack 15
# maxBack 20
# maxFront 20
# spatialize FALSE
#}
#draw huandengping
#when lazhi
DEF duomeitikongzhi Transform {
translation 0 0 0
children [
#mubu
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/media1.jpg"
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ -1.2 1.1 0.01,
1.2 1.1 0.01,
1.2 3.5 0.01,
-1.2 3.5 0.01,]
}
coordIndex [0 1 2 3 -1]
}
}
#juanzhou
Transform {
translation 0 1.1 0.01
rotation 0 0 1 1.571
children
Shape {
appearance Appearance {
texture ImageTexture {
url "neuq_rc/duomeiti.jpg"
}
}
geometry Cylinder {radius 0.01 height 2.6}
}
}
]
}
#when juanqi
DEF duomeitikongzhi1 Transform {
translation 0 0 0
children [
DEF touch2 TouchSensor {enabled FALSE }
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/mediazhe.jpg"
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ -1.35 4.0 0.015,
-1.35 3.5 0.015,
1.35 3.5 0.015,
1.35 4.0 0.015,]
}
coordIndex [0 1 2 3 -1]
texCoord TextureCoordinate {
point [0 1, 0 0,1 0, 1 1]
}
texCoordIndex [0 1 2 3 -1]
}
}
]
}
#laqiqingkuang
DEF scene Transform {
children [
DEF touch1 TouchSensor {enabled TRUE }
Shape {
appearance DEF huandeng Appearance {
material DEF touming Material {transparency 0}
#the beginning face of huandengping
texture ImageTexture {
url "media.jpg"
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ -1.1 1.2 0.015,
1.1 1.2 0.015,
1.1 3.4 0.015,
-1.1 3.4 0.015,]
}
coordIndex [0 1 2 3 -1]
}
}
#set a touchsensor to help switch media interface
DEF huandengswitch TouchSensor {}
#add script to set action of switch huandeng's face
DEF cscript Script {
field SFBool on TRUE
eventIn SFBool set_active
eventOut SFBool on_changed
url "vrmlscript:
function set_active (b,tm){
//ignore button releases
if(b==FALSE) return;
//toggle on button presses
if(on==TRUE) on=FALSE;
else on=TRUE;
on_changed=on;
}"
}
DEF faceselector Script {
#the beginning statius of computer
field SFNode onface ImageTexture {url "media.jpg"}
#teacher's lecturing content
field SFNode offface ImageTexture {url "vrml2.jpg"}
eventIn SFBool set_selection
eventOut SFNode face_changed
url"vrmlscript:
function set_selection (b,tm){
if(b==TRUE) face_changed=onface;
else face_changed=offface;
}"
}
]
}
ROUTE huandengswitch.isOver TO cscript.set_active
ROUTE cscript.on_changed TO faceselector.set_selection
ROUTE faceselector.face_changed TO huandeng.set_texture
#switch mubu laqi/juanqi
DEF scrip1 Script {
eventIn SFTime change
field SFInt32 chose 1
eventOut SFFloat tr
url "javascript:
function change(){
tr=chose
}"
}
DEF time1 TimeSensor {cycleInterval 8}
DEF pos1 PositionInterpolator {
keyValue[0 0 0 0 2.3 0]
key[0 1]
}
DEF time2 TimeSensor {cycleInterval 8}
DEF pos2 PositionInterpolator {
keyValue[0 2.3 0 0 0 0]
key[0 1]
}
DEF scalar ScalarInterpolator {
key [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 ]
keyValue [1 1 1 1 1 1 1 1 1 1 0]
}
DEF scrip Script {
eventIn SFTime change
field SFBool enable FALSE
eventOut SFBool able1
eventOut SFBool able2
url "javascript:
function change(){
enable=!enable
able1=enable
able2=!enable
}"
}
ROUTE touch1.touchTime TO time1.startTime
ROUTE touch1.touchTime TO scrip1.change
ROUTE scrip1.tr TO touming.transparency
ROUTE touch1.touchTime TO scrip.change
ROUTE scrip.able1 TO touch2.enabled
ROUTE time1.fraction_changed TO pos1.set_fraction
ROUTE pos1.value_changed TO duomeitikongzhi.set_translation
ROUTE touch2.touchTime TO time2.startTime
ROUTE time2.fraction_changed TO scalar.set_fraction
ROUTE scalar.value_changed TO touming.transparency
ROUTE touch2.touchTime TO scrip.change
ROUTE scrip.able2 TO touch1.enabled
ROUTE time2.fraction_changed TO pos2.set_fraction
ROUTE pos2.value_changed TO duomeitikongzhi.set_translation
#draw blackboard
Transform {
translation 0 1.75 0.0025
children Shape {
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/brackground1.jpg"
}
}
geometry Box {
size 4.2 1.5 0.01
}
}
}
#add fans:use "fan1.wrl"
Transform {translation 0 3.4 5.4 children DEF fan Inline{url "neuq_rc/fan1.wrl"}}
Transform {translation 2.7 3.4 5.4 children USE fan }
Transform {translation -2.7 3.4 5.4 children USE fan }
Transform {translation 0 3.4 10.8 children USE fan }
Transform {translation 2.7 3.4 10.8 children USE fan }
Transform {translation -2.7 3.4 10.8 children USE fan }
#draw backwall
Transform {
translation 0 2.8 16.4
children Shape {
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/backwall.jpg"
}
}
geometry Box {size 13.2 2.4 0.4}
}
}
#draw front ground:between jiangtai and the first row zhuoyi
Transform {
translation 0 -0.2 2.1
children Shape {
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/bottom11ground.jpg"
repeatS FALSE
repeatT FALSE
}
textureTransform TextureTransform { scale 1 1 }
}
geometry Box {size 13.2 0.4 4.75}
}
}
#draw middle ground
#draw ground under desk and chair:the head row
DEF bottomground Transform {
translation 0 -0.0545 4.75
children [
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/bottomground.jpg"
}
}
geometry Box {size 13.2 0.4 0.9}
}
#draw jietixiaoguo
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/jietifront.jpg"
}
}
geometry Box {size 13.2 0.38 0.92}
}
]
}
Transform {
translation 0 0.091 0.9
children USE bottomground
}
Transform {
translation 0 0.2365 1.8
children USE bottomground
}
Transform {
translation 0 0.382 2.7
children USE bottomground
}
Transform {
translation 0 0.5275 3.6
children USE bottomground
}
Transform {
translation 0 0.673 4.5
children USE bottomground
}
Transform {
translation 0 0.8185 5.4
children USE bottomground
}
Transform {
translation 0 0.964 6.3
children USE bottomground
}
Transform {
translation 0 1.1095 7.2
children USE bottomground
}
#ground under the last row
Transform {
translation 0 1.255 8.1
children USE bottomground
}
#the back ground
Transform {
translation 0 1.4005 14.8
children[
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/bottom12.jpg"
}
}
geometry Box {size 13.2 0.4 3}
}
#draw jietixiaoguo
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/jietifront.jpg"
}
}
geometry Box {size 13.2 0.38 3.02}
}
]
}
#draw leftwall
Transform {
translation -6.8 2 9.5
children Shape {
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/leftwall.jpg"
}
}
geometry Box {size 0.4 4 13.4}
}
}
#draw rightwall
Transform {
translation 6.8 2 9.5
children Shape {
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/rightwall.jpg"
}
}
geometry Box {size 0.4 4 13.4}
}
}
#draw ceiling
Transform {
translation 0 4.005 8.1
rotation 0 1 0 3.1416
children Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/tianhuaban.png"
}
}
geometry Box {
size 13.2 0.01 16.2
}
}
}
#add the most right row's riguangdeng:use "deng.wrl"
DEF riguangdeng Group {
children [
Transform {
translation 4.21 4.0 14.88
rotation 0 1 0 1.5708
children DEF dengguan Inline { url "neuq_rc/deng.wrl"}
}
Transform {
translation 4.21 4.0 12.45
rotation 0 1 0 1.5708
children USE dengguan
}
Transform {
translation 4.21 4.0 10.03
rotation 0 1 0 1.5708
children USE dengguan
}
Transform {
translation 4.21 4.0 7.63
rotation 0 1 0 1.5708
children USE dengguan
}
Transform {
translation 4.21 4.0 5.21
rotation 0 1 0 1.5708
children USE dengguan
}
Transform {
translation 4.21 4.0 2.79
rotation 0 1 0 1.5708
children USE dengguan
}
]
}
Transform {
translation -2.99 0 0
children USE riguangdeng
}
Transform {
translation -5.39 0 0
children USE riguangdeng
}
#add zuizuopai riguangdeng
Transform {
translation -8.44 0 0
children USE riguangdeng
}
#draw leftdoorwall
Transform {
translation -5.32 2 1.6
rotation 0 1 0 0.6196
children Shape {
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/leftdoorwall.jpg"
}
}
geometry Box {
size 3.6 4 0.4
}
}
}
#draw left doortop
Transform {
translation -5.06 2.38 1.4
rotation 0 1 0 0.6196
children [
Shape {
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/doortop1.jpg"
}
}
geometry Box {
size 1.9 0.38 0.96
}
}
Shape {
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/doortop.jpg"
}
textureTransform TextureTransform { scale 1 3 }
}
geometry Box {
size 1.86 0.4 1
}
}
]
}
#draw rightdoorwall
Transform {
translation 5.32 2 1.6
rotation 0 1 0 -0.6196
children Shape {
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/rightdoorwall.jpg"
}
}
geometry Box {
size 3.6 4 0.4
}
}
}
#draw conner wall beside leftdoor
Transform {
translation -3.935 2 0.36
children Shape{
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/littlewall.jpg"
}
}
geometry Box {
size 0.4 4 0.71
}
}
}
#draw conner wall beside rightdoor
Transform {
translation 3.935 2 0.36
children Shape{
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/littlewall.jpg"
}
}
geometry Box {
size 0.4 4 0.71
}
}
}
#draw front ground:between heiban and jiangtai
Transform {
translation 0 0.06 0.36
children Shape {
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/bottom11ground.jpg"
repeatS FALSE
repeatT FALSE
}
textureTransform TextureTransform { scale 1 1 }
}
geometry Box {size 7.66 0.12 0.75}
}
}
Transform {
translation 0 0.055 0.37
children Shape {
appearance Appearance {
material Material {
}
texture ImageTexture {
url "neuq_rc/buttomground.jpg"
repeatS FALSE
repeatT FALSE
}
textureTransform TextureTransform { scale 16 2 }
}
geometry Box {size 7.66 0.12 0.75}
}
}
#draw zhuzi:front,left,right
DEF zhuzi Group {
children [
Transform {
children [
Shape {
appearance Appearance {
material Material {}
}
geometry IndexedFaceSet {
coord DEF bbox Coordinate {
point [ 6.4 4 10.6,
6.4 0 10.6,
6.4 0 11,
6.4 4 11,
7 4 10.6,
7 0 10.6,
7 0 11,
7 4 11,]
}
}
}
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/zhuzifront.jpg"
}
}
geometry IndexedFaceSet {
coord USE bbox
coordIndex [0 1 2 3 -1]
texCoord TextureCoordinate {
point [0 1,0 0, 1 0, 1 1]
}
texCoordIndex [ 0 1 2 3 -1]
}
}
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/zhuzileft.jpg"
}
}
geometry IndexedFaceSet {
solid FALSE
coord USE bbox
coordIndex [0 1 5 4 -1]
texCoord TextureCoordinate {
point [0 1,0 0, 1 0, 1 1]
}
texCoordIndex [ 0 1 2 3 -1]
}
}
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/zhuziright.jpg"
}
}
geometry IndexedFaceSet {
solid FALSE
coord USE bbox
coordIndex [3 2 6 7 -1]
texCoord TextureCoordinate {
point [0 1,0 0, 1 0, 1 1]
}
texCoordIndex [ 0 1 2 3 -1]
}
}
]
}
#draw yinxiang
Transform {
translation 6.25 3.4 10.8
rotation 0 0 1 0.25
children[
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/yinxiang.jpg"
}
}
geometry Box {
size 0.2 0.3 0.5
}
}
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/fashegan.jpg"
}
}
geometry Box {
size 0.19 0.31 0.51
}
}
]
}
]
}
Transform {
translation 0 0 21.6
rotation 0 1 0 3.1416
children USE zhuzi
}
#draw zhuzi:front1,left1,right1 ##after zhuzi1
DEF zhuzi2 Group {
children [
Transform {
translation 0 0 -5.4
children [
Transform {
children [
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/zhuzifront1.jpg"
}
}
geometry IndexedFaceSet {
coord USE bbox
coordIndex [0 1 2 3 -1]
texCoord TextureCoordinate {
point [0 1,0 0, 1 0, 1 1]
}
texCoordIndex [ 0 1 2 3 -1]
}
}
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/zhuzileft1.jpg"
}
}
geometry IndexedFaceSet {
solid FALSE
coord USE bbox
coordIndex [0 1 5 4 -1]
texCoord TextureCoordinate {
point [0 1,0 0, 1 0, 1 1]
}
texCoordIndex [ 0 1 2 3 -1]
}
}
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/zhuziright1.jpg"
}
}
geometry IndexedFaceSet {
solid FALSE
coord USE bbox
coordIndex [3 2 6 7 -1]
texCoord TextureCoordinate {
point [0 1,0 0, 1 0, 1 1]
}
texCoordIndex [ 0 1 2 3 -1]
}
}
]
}
#draw yinxiang
Transform {
translation 6.25 3.4 10.8
rotation 0 0 1 0.25
children[
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/yinxiang.jpg"
}
}
geometry Box {
size 0.2 0.3 0.5
}
}
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/fashegan.jpg"
}
}
geometry Box {
size 0.19 0.31 0.51
}
}
]
}
]
}
]
}
Transform {
translation 0 0 10.8
rotation 0 1 0 3.1416
children USE zhuzi2
}
#draw projector:touyingyi
Transform {
translation -0.125 3.3 4
scale 1.5 1.5 1.5
children [
Shape {
appearance Appearance {
material Material {
}
}
geometry IndexedFaceSet {
coord DEF bbox Coordinate {
point [ 0 0 0,
0 0.08 0,
0.19 0.08 0,
0.19 0 0,
0 0 0.25,
0 0.08 0.25,
0.19 0.08 0.25,
0.19 0 0.25,]
}
}
}
#front side of projector
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/boxfront.jpg"
}
}
geometry IndexedFaceSet {
coord USE bbox
coordIndex [0 1 2 3 -1]
texCoord TextureCoordinate {
point [0 1,0 0, 1 0, 1 1]
}
texCoordIndex [ 0 1 2 3 -1]
}
}
#back side of projector
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/boxback.jpg"
}
}
geometry IndexedFaceSet {
solid FALSE
coord USE bbox
coordIndex [4 5 6 7 -1]
texCoord TextureCoordinate {
point [0 1,0 0, 1 0, 1 1]
}
texCoordIndex [ 0 1 2 3 -1]
}
}
#bottom of projector
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/boxbottom.jpg"
}
}
geometry IndexedFaceSet {
solid FALSE
coord USE bbox
coordIndex [7 3 0 4 -1]
texCoord TextureCoordinate {
point [0 1,0 0, 1 0, 1 1]
}
texCoordIndex [ 0 1 2 3 -1]
}
}
#left side of projector
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/boxleft.jpg"
}
}
geometry IndexedFaceSet {
solid FALSE
coord USE bbox
coordIndex [5 4 0 1 -1]
texCoord TextureCoordinate {
point [0 1,0 0, 1 0, 1 1]
}
texCoordIndex [ 0 1 2 3 -1]
}
}
#right side of projector
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/boxleft.jpg"
}
}
geometry IndexedFaceSet {
solid FALSE
coord USE bbox
coordIndex [2 3 7 6 -1]
texCoord TextureCoordinate {
point [0 1,0 0, 1 0, 1 1]
}
texCoordIndex [ 0 1 2 3 -1]
}
}
#top of projector
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/boxleft.jpg"
}
}
geometry IndexedFaceSet {
solid FALSE
coord USE bbox
coordIndex [6 2 1 5 -1]
texCoord TextureCoordinate {
point [0 1,0 0, 1 0, 1 1]
}
texCoordIndex [ 0 1 2 3 -1]
}
}
]
}
#lagan of projector
Transform {
translation 0.03 3.7 4.19
children Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/fashegan.jpg"
}
}
geometry Cylinder {
radius 0.03
height 0.6
}
}
}
#add diaodeng in front of classroom:use "diaodeng.wrl"
Transform{
translation -1.2 3.45 1.25
children Inline {
url "neuq_rc/diaodeng.wrl"
}
}
Transform{
translation 1.2 3.45 1.25
children Inline {
url "neuq_rc/diaodeng.wrl"
}
}
#draw diaodenglalian
DEF denglian Group {
children [
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/fashegan.jpg"
}
}
geometry IndexedLineSet {
coord Coordinate {
point [ -1.7 4.2 1.25,
-1.6 3.5 1.25]
}
coordIndex [0,1,-1]
}
}
Shape {
appearance Appearance {
material Material {}
texture ImageTexture {
url "neuq_rc/fashegan.jpg"
}
}
geometry IndexedLineSet {
coord Coordinate {
point [ -0.7 4.2 1.25,
-0.8 3.5 1.25]
}
coordIndex [0,1,-1]
}
}
]
}
Transform {
translation 2.4 0 0
children USE denglian
}
#add desks and chairs:from the fist middle row to the last middle row:use "zhuoyi.wrl"
DEF yipaizuoyi Group {
children [
#the most left row
Transform {
translation -3.7 0.6 5.05
rotation 0 1 0 1.571
scale 1 1 1.25
children Inline {url "neuq_rc/zhuoyi.wrl"}
}
#the most right row
Transform {
translation 6.25 0.6 5.05
rotation 0 1 0 1.571
scale 1 1 1.25
children Inline {url "neuq_rc/zhuoyi.wrl"}
}
#the middle left row
Transform {
translation -0.04 0.6 5.05
rotation 0 1 0 1.571
scale 1 1 1.25
children Inline {url "neuq_rc/zhuoyi.wrl"}
}
#the middle right row
Transform {
translation 2.54 0.6 5.05
rotation 0 1 0 1.571
scale 1 1 1.25
children Inline {url "neuq_rc/zhuoyi.wrl"}
}
]
}
Transform {translation 0 0.1455 0.9 children USE yipaizuoyi }
Transform {translation 0 0.291 1.8 children USE yipaizuoyi }
Transform {translation 0 0.4365 2.7 children USE yipaizuoyi }
Transform {translation 0 0.582 3.6 children USE yipaizuoyi }
Transform {translation 0 0.7275 4.5 children USE yipaizuoyi }
Transform {translation 0 0.873 5.4 children USE yipaizuoyi }
Transform {translation 0 1.0185 6.3 children USE yipaizuoyi }
Transform {translation 0 1.164 7.2 children USE yipaizuoyi }
Transform {translation 0 1.3095 8.1 children USE yipaizuoyi }
#add desks and chairs at back left(right) three rows
#left last row but two
Transform {
translation -3.7 2.07 14.05
rotation 0 1 0 1.571
scale 1 1 1.25
children Inline {url "neuq_rc/zhuoyi.wrl"}
}
#right last row but two
Transform {
translation 6.25 2.07 14.05
rotation 0 1 0 1.571
scale 1 1 1.25
children Inline {url "neuq_rc/zhuoyi.wrl"}
}
#left last row but one
Transform {
translation -3.7 2.07 14.95
rotation 0 1 0 1.571
scale 1 1 1.25
children Inline {url "neuq_rc/zhuoyi.wrl"}
}
#right last row but one
Transform {
translation 6.25 2.07 14.95
rotation 0 1 0 1.571
scale 1 1 1.25
children Inline {url "neuq_rc/zhuoyi.wrl"}
}
#left last row
Transform {
translation -3.7 2.07 15.85
rotation 0 1 0 1.571
scale 1 1 1.25
children Inline {url "neuq_rc/zhuoyi.wrl"}
}
#right last row
Transform {
translation 6.25 2.07 15.85
rotation 0 1 0 1.571
scale 1 1 1.25
children Inline {url "neuq_rc/zhuoyi.wrl"}
}
#draw jiangtai
Transform {
translation 0 0.5 1.15
scale 1 1 0.7
children DEF jiangtai Shape {
appearance Appearance {
material Material {}
texture ImageTexture {url "neuq_rc/jiangtai.jpg"}
textureTransform TextureTransform {scale 1 1}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ -0.6 0.5 0.4,
-0.6 -0.5 0.4,
0.6 0.5 0.4,
0.6 -0.5 0.4,
0.6 0.5 -0.4,
0.6 -0.5 -0.4,
-0.6 0.5 -0.4,
-0.6 -0.5 -0.4,
0 0.5 0.5,
0 -0.5 0.5,
-0.3 0.5 0.48,
-0.3 -0.5 0.48,
0.3 0.5 0.48,
0.3 -0.5 0.48 ]
}
coordIndex[ 4, 5, 7, 6, -1, 6, 7, 1, 0, -1, 2, 3, 5, 4, -1,
6, 0, 10, 8, 12, 2, 4, -1, 13,9, 11, 1, 7, 5, 3, -1,
0, 1, 11, 10, -1, 11, 9, 8, 10, -1, 9, 13, 12, 8, -1,
13, 3, 2, 12, -1 ]
creaseAngle 0.7
}
}
}
Transform {
translation 0 1.0 1.15
scale 1.05 0.02 0.8
children USE jiangtai
}
#add animation to make view more living
DEF ViewAniPi PositionInterpolator{
keyValue [ -3.3 3.2 14.3
-3.3 2.4 8.15
-3.3 1.6 3.0
-1.6 1.6 3.0
0.0 1.6 3.0
1.6 1.6 3.0
3.3 1.6 3.0
3.3 2.4 8.15
3.3 3.2 14.3
0.0 3.2 14.3
-3.3 3.2 14.3]
key [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]
}
DEF ViewAniOi OrientationInterpolator {
keyValue [ 0 1 0 -0.0
0 1 0 -0.0
0 1 0 -0.785
0 1 0 -1.571
0 1 0 -0.0
0 1 0 -1.571
0 1 0 -2.356
0 1 0 -3.142
0 1 0 -3.927
0 1 0 -4.713
0 1 0 -0.0 ]
key [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]
}
DEF ViewAniTi TimeSensor {
loop TRUE
cycleInterval 300
}
ROUTE ViewAniTi.fraction_changed TO ViewAniOi.set_fraction
ROUTE ViewAniTi.fraction_changed TO ViewAniPi.set_fraction
ROUTE ViewAniOi.value_changed TO view.orientation
ROUTE ViewAniPi.value_changed TO view.set_position
#add comp-desk and chair:use "deskan.wrl"
Transform {
translation 2.7 0.86 1.96
rotation 0 1 0 2.357
scale 0.3 0.3 0.3
children Inline {url "deskan.wrl"}
}
#classroom.wrl