#VRML V2.0 utf8 # 7. Schritt: Der Tisch dazu WorldInfo { title "Schachtel" } NavigationInfo { type "EXAMINE" } DEF Kamera Viewpoint { fieldOfView 0.5 position -15 30 90 orientation -1 -1 0 0.5 } DirectionalLight { direction -0.7 0 -1 } Background { skyColor 0.35 0.7 1 } PROTO Schachtelwand [ field SFVec3f groesse 10 10 0.2 ] { Group { children [ Shape { # 30 appearance Appearance { material Material {diffuseColor 1 1 0 } textureTransform TextureTransform { scale 1 1 rotation 0} texture ImageTexture { url "images/Image1b.jpg" } } geometry Box { size IS groesse } } ] } } PROTO Schachteldeckel [ field SFVec3f groesse 10 0.2 5 ] { Transform { translation 0 0 2.5 children [ Shape { appearance Appearance { material Material {diffuseColor 1 1 0} texture ImageTexture { url "images/Image1b.jpg"} } geometry Box { size IS groesse } } ] } # 60 } PROTO Textur []{ DEF IT ImageTexture {url "images/palebubbles.jpg"} } PROTO Cube [ field SFVec3f groesse 2 2 2 ]{ Group { children [ Shape { appearance Appearance { material Material { } texture ImageTexture { url "images/palebubbles.jpg"} } geometry Box { size IS groesse } } ] } } PROTO Wand [ field SFVec3f groesse 0 0 0, exposedField SFVec3f mitte 0 0 0] { Transform { translation IS mitte translation 0 0 0 children [ Shape { appearance Appearance { material Material {diffuseColor 1 0.3 0.3 } texture ImageTexture { # 90 url "images/048.jpg"} } geometry Box { size IS groesse } } ] } } Transform { translation 12 -5.5 10 children [ Shape { appearance Appearance { material Material { diffuseColor 0.75 0.75 0.85 transparency 0.5 } } geometry IndexedFaceSet { coord Coordinate { point [ 25 0 25, 25 0 -25, -25 0 -25, -25 0 25 ] } coordIndex [ 0 1 2 3 -1 ] } } Shape { appearance Appearance { material Material { diffuseColor 0.75 0.75 0.85 # 120 transparency 0.5 } } geometry IndexedFaceSet { coord Coordinate { point [ 25 0 25, 25 0 -25, -25 0 -25, -25 0 25 ] } coordIndex [ 3 2 1 0 -1 ] } } DEF Tischrand Transform { translation 25 0 0 rotation 1 0 0 1.57 children [ Shape { appearance Appearance { material Material { diffuseColor 1 0 0} } geometry Cylinder { radius 0.2 height 50 } } ] } Transform { rotation 0 1 0 1.57 children [ USE Tischrand ] } Transform { rotation 0 1 0 3.14 children [ USE Tischrand ] } # 150 Transform { rotation 0 1 0 -1.57 children [ USE Tischrand ] } ] } Transform { translation 0 0 5 children [ Schachtelwand {} ] } Transform { translation 0 0 -5 children [ Schachtelwand {} ] } Transform { rotation 0 1 0 1.57 translation 5 0 0 children [ Schachtelwand { groesse 10.2 10 0.2} ] } Transform { rotation 0 1 0 1.57 translation -5 0 0 # 180 children [ Schachtelwand {groesse 10.2 10 0.2} ] } Transform { rotation 1 0 0 1.57 translation 0 -5 0 children [ Schachtelwand {groesse 10.2 10.2 0.2} ] } Transform { rotation 0 1 0 1.57 translation -5 5 0 children [ DEF Deckelli Transform{ children [Schachteldeckel {}] } ] } Transform { rotation 0 1 0 -1.57 translation 5 5 0 children [ DEF Deckelre Transform{ children [Schachteldeckel {}] } ] } Transform { # 210 translation 0 5 -5 children [ DEF Deckelhi Transform{ children [Schachteldeckel {}] } ] } Transform { rotation 1 0 0 3.14 translation 0 5 5 children [ DEF Deckelvo Transform{ children [Schachteldeckel {}] } ] } DEF Clock TimeSensor { cycleInterval 10.0 loop TRUE } DEF orient1 OrientationInterpolator { key [0, 0.1, 0.2, 0.3, 0.4] keyValue [1 0 0 0, 1 0 0 1, 1 0 0 2, 1 0 0 3, 1 0 0 4] } DEF orient2 OrientationInterpolator { key [0, 0.1, 0.2, 0.3, 0.4] keyValue [1 0 0 0 , 1 0 0 -1, 1 0 0 -2, 1 0 0 -3, 1 0 0 -4] } # 240 DEF orient3 OrientationInterpolator { key [0.5, 0.6, 0.7, 0.8, 0.9] keyValue [1 0 0 0 ,1 0 0 -1, 1 0 0 -2, 1 0 0 -3, 1 0 0 -4] } DEF orient4 OrientationInterpolator { key [0.5, 0.6, 0.7, 0.8, 0.9] keyValue [1 0 0 0 ,1 0 0 -1, 1 0 0 -2, 1 0 0 -3, 1 0 0 -4] } ROUTE Clock.fraction_changed TO orient1.set_fraction ROUTE orient1.value_changed TO Deckelvo.set_rotation ROUTE Clock.fraction_changed TO orient2.set_fraction ROUTE orient2.value_changed TO Deckelhi.set_rotation ROUTE Clock.fraction_changed TO orient3.set_fraction ROUTE orient3.value_changed TO Deckelli.set_rotation ROUTE Clock.fraction_changed TO orient4.set_fraction ROUTE orient4.value_changed TO Deckelre.set_rotation