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