#VRML V2.0 utf8 # 8. Schritt: Der Schachtelinhalt 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 complete Transform { # Schachtelinhalt children[ DEF hollow Transform { children[ Transform { rotation 0 1 0 0.78 children [ Transform { translation -2 1.375 0 children [ Cube { groesse 2 1.25 2} ] } # 240 Transform { translation -2 -1.375 0 children [ Cube { groesse 2 1.25 2} ] } Transform { translation 2 1.375 0 children [ Cube { groesse 2 1.25 2} ] } Transform { translation 2 -1.375 0 children [ Cube { groesse 2 1.25 2} ] } Transform { translation 0 1.625 0 children [ Cube { groesse 2 0.75 2} ] } Transform { translation 0 -1.625 0 children [ Cube { groesse 2 0.75 2} ] } # 270 Transform { translation -3.75 0 0 children [ Cube { groesse 1.5 4 2} ] } Transform { translation 3.75 0 0 children [ Cube { groesse 1.5 4 2} ] } Transform { rotation 0 0 1 0.78 translation 4.5 2.5 0 children [ Cube { groesse 2.8 1.5 2} ] } Transform { rotation 0 0 1 -0.78 translation 4.5 -2.5 0 children [ Cube { groesse 2.8 1.5 2} ] } Transform { rotation 0 0 1 -0.78 translation -4.5 2.5 0 children [ # 300 Cube { groesse 2.8 1.5 2} ] } Transform { rotation 0 0 1 0.78 translation -4.5 -2.5 0 children [ Cube { groesse 2.8 1.5 2} ] }, DEF total Transform { children [ DEF ABC Transform { translation 0 -0.75 -2 children [ DEF AchseABC Transform { translation 0 0 0 rotation 0 0 1 1.57 children[ Shape{ appearance Appearance {material Material {diffuseColor 0.5 0.5 0.5}} geometry Cylinder {radius 0.1 height 6} } ] }, DEF AB Transform { translation 0 1.5 0 children [ DEF AchseAB Transform { # 330 translation 0 0 0 rotation 0 0 1 1.57 children[ Shape{ appearance Appearance {material Material {diffuseColor 0.5 0.5 0.5}} geometry Cylinder {radius 0.1 height 6} } ] }, DEF A Transform { rotation 1 0 0 1.57 translation 0 0 4 children [ DEF AchseA Transform { translation 0 0 0 rotation 0 0 1 1.57 children[ Shape{ appearance Appearance {material Material {diffuseColor 0.5 0.5 0.5}} geometry Cylinder {radius 0.1 height 4} } ] }, Wand { groesse 4 0.2 1, mitte 0 -0.1 0.5 } ] }, DEF B Transform { translation 0 0 2 # 360 children [ Wand { groesse 6 0.2 4, mitte 0 0 0} ] } ] }, DEF C Transform { rotation 1 0 0 1.57 translation 0 0.75 0 children [ Wand {groesse 6 0.2 1.5, mitte 0 0 0} ] } ] }, DEF EF Transform { translation 0 -0.75 2 children [ DEF AchseEF Transform { translation 0 0 0 rotation 0 0 1 1.57 children[ Shape{ appearance Appearance {material Material {diffuseColor 0.5 0.5 0.5}} geometry Cylinder {radius 0.1 height 6} } ] }, DEF F Transform { # 390 translation 0 1.5 0 children [ DEF AchseF Transform { translation 0 0 0 rotation 0 0 1 1.57 children[ Transform { translation 0 2.5 0 children [ Shape{ appearance Appearance {material Material {diffuseColor 0.5 0.5 0.5}} geometry Cylinder {radius 0.1 height 1} } ] }, Transform { translation 0 -2.5 0 children [ Shape{ appearance Appearance {material Material {diffuseColor 0.5 0.5 0.5}} geometry Cylinder {radius 0.1 height 1} } ] } ] }, Wand { groesse 6 0.2 3.75, mitte 0 0 -2}, Wand { groesse 1 0.2 0.25, mitte -2.5 0 -0.125}, Wand { groesse 1 0.2 0.25, mitte 2.5 0 -0.125}, ] }, DEF E Transform { rotation 1 0 0 1.57 translation 0 0.75 0 children [ Wand {groesse 6 0.2 1.5, mitte 0 0 0} ] } ] }, DEF GHIJK Transform { translation 3 0 2 children [ DEF GH Transform { translation -6 -0.75 -2 children [ DEF AchseGH Transform { translation 0 0 0 rotation 1 0 0 1.57 children[ Shape{ appearance Appearance {material Material {diffuseColor 0.5 0.5 0.5}} geometry Cylinder {radius 0.1 height 4} } ] }, DEF G Transform { # 450 translation 0 1.5 -0.125 children [ DEF Achse Transform { translation 0 0 0.125 rotation 1 0 0 1.57 children[ Shape{ appearance Appearance {material Material {diffuseColor 0.5 0.5 0.5}} geometry Cylinder {radius 0.1 height 4} } ] }, Wand {groesse 3 0.2 3.75, mitte 1.5 0 0}, Wand {groesse 1 0.2 0.25, mitte 0.5 0 2}, ] }, DEF H Transform { rotation 0 0 1 1.57 translation 0 0.75 0 children [ Wand {groesse 1.5 0.2 4, mitte 0 0 0} ] } ] }, DEF JK Transform { translation 0 -0.75 -2 children [ # 480 DEF AchseJK Transform { translation 0 0 0 rotation 1 0 0 1.57 children[ Shape{ appearance Appearance {material Material {diffuseColor 0.5 0.5 0.5}} geometry Cylinder {radius 0.1 height 4} } ] }, DEF K Transform { translation 0 1.5 -0.125 children [ DEF AchseK Transform { translation 0 0 0.125 rotation 1 0 0 1.57 children[ Shape{ appearance Appearance {material Material {diffuseColor 0.5 0.5 0.5}} geometry Cylinder {radius 0.1 height 4} } ] }, Wand {groesse 3 0.2 3.75, mitte -1.5 0 0}, Wand {groesse 1 0.2 0.25 , mitte -0.5 0 2}, ] }, DEF J Transform { # 510 rotation 0 0 1 1.57 translation 0 0.75 0 children [ Wand {groesse 1.5 0.2 4, mitte 0 0 0} ] } ] }, DEF I Transform { translation -3 -0.75 -2 children [ Wand {groesse 6 0.2 4, mitte 0 0 0} ] }, DEF Inhalt Transform { translation -3 0 -2 children [ Shape { appearance Appearance { material Material {diffuseColor 0.8 0.2 0.2 } texture ImageTexture { url "images/logo.gif"} } geometry Box { size 5.8 1.3 3.8 } }, Shape { appearance Appearance { material Material {diffuseColor 0.887 0.965 0.902 } } geometry Box { size 5.6 1.1 3.6 }# 540 } ] } ] }, DEF D Transform { translation 0 -0.75 0 children [ Wand {groesse 6 0.2 4, mitte 0 0 0} ] } ] } ] } ] }, DEF fill1 Transform { children [ Transform { rotation 0 1 0 2.35 children [ Transform { translation -0.5 1 0 children [ Cube { groesse 1 0.5 2} ] }, Transform { translation -0.5 -1 0 # 570 children [ Cube { groesse 1 0.5 2} ] }, Transform { translation -1.5 1.375 0 children [ Cube { groesse 1 1.25 2} ] }, Transform { translation -1.5 -1.375 0 children [ Cube { groesse 1 1.25 2} ] }, Transform { translation -3 0 0 children [ Cube { groesse 2 4 2} ] }, Transform { rotation 0 0 1 -0.78 translation -4.5 2.5 0 children [ Cube { groesse 2.8 1.5 2} ] }, Transform { # 600 rotation 0 0 1 0.78 translation -4.5 -2.5 0 children [ Cube { groesse 2.8 1.5 2} ] } ] } ] }, DEF fill2 Transform { children [ Transform { rotation 0 1 0 3.14 children [ USE fill1 ] } ] } ] } DEF Clock TimeSensor { cycleInterval 20.0 loop TRUE } DEF orient1 OrientationInterpolator { key [0, 0.05, 0.1, 0.15, 0.2] # 630 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.05, 0.1, 0.15, 0.2] keyValue [1 0 0 0 , 1 0 0 -1, 1 0 0 -2, 1 0 0 -3, 1 0 0 -4] } DEF orient3 OrientationInterpolator { key [0.25, 0.3, 0.35, 0.4, 0.45] 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.25, 0.3, 0.35, 0.4, 0.45] keyValue [1 0 0 0 ,1 0 0 -1, 1 0 0 -2, 1 0 0 -3, 1 0 0 -4] } DEF ort1 PositionInterpolator { key [0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,1] keyValue [0 0 0,0 5 0,0 10 0,2 15 0,7 15 0, 12 15 0,17 15 0,19 10 0,21 5 0,21 0 0,21 0 0,21 0 0] } 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 # 660 ROUTE orient4.value_changed TO Deckelre.set_rotation ROUTE Clock.fraction_changed TO ort1.set_fraction ROUTE ort1.value_changed TO complete.set_translation