#VRML V2.0 utf8 # 9.1: Dieselbe Animation wird jetzt mit einem Mausclick gestartet und durchl„uft # einen Zeitzyklus; neues Durchlaufen durch neuen Mausclick. 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 ] { # Die Prototypen Group { children [ Shape { 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 } } ] } } 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 { url "images/048.jpg"} } geometry Box { size IS groesse } } ] } } Transform { # Der Tisch 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 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 ] } Transform { rotation 0 1 0 -1.57 children [ USE Tischrand ] } ] } Transform { # Die Schachtel 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 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 { 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 { 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} ] } 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} ] } 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 [ 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 { 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 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 { 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 { 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 [ 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 { 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 } } ] } ] }, 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 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 { 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 orient1 OrientationInterpolator { key [0, 0.015, 0.030, 0.045, 0.06] 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.015, 0.03, 0.045, 0.06] 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.08, 0.095, 0.11, 0.125, 0.14] 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.08, 0.095, 0.11, 0.125, 0.14] 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.16, 0.175, 0.19, 0.205, 0.22, 0.235, 0.25, 0.265, 0.27] 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] } DEF orient5 OrientationInterpolator { key [0.22, 0.235, 0.25, 0.265, 0.27] keyValue [0 1 0 0, 0 1 0 0.2,0 1 0 0.4,0 1 0 0.6,0 1 0 0.78] } DEF ort2 PositionInterpolator { key [0.29, 0.305, 0.32, 0.335] keyValue [0 0 0,1 0 1,2 0 2,3 0 3] } DEF ort3 PositionInterpolator { key [0.35, 0.365, 0.38, 0.395, 0.41, 0.425] keyValue [0 0 0,-3 0 3,-6 0 6,-9 0 9,-12 0 12,-15 0 15] } DEF ort4 PositionInterpolator { key [0.43, 0.445, 0.46, 0.475, 0.49] keyValue [0 0 0, 0 0 -3, 0 0 -6, 0 0 -9, 0 0 -12] } DEF orient6 OrientationInterpolator { key [0.51 , 0.525, 0.54, 0.555, 0.57] keyValue [1 0 0 0, 1 0 0 -0.39, 1 0 0 -0.78, 1 0 0 -1.17, 1 0 0 -1.57] } DEF orient7 OrientationInterpolator { key [0.59, 0.605, 0.62, 0.635, 0.65] keyValue [1 0 0 0 , 1 0 0 -0.39, 1 0 0 -0.78, 1 0 0 -1.17, 1 0 0 -1.57] } DEF orient8 OrientationInterpolator { key [0.67, 0.685, 0.70, 0.715, 0,73] keyValue [1 0 0 0 , 1 0 0 0.39, 1 0 0 0.78, 1 0 0 1.17, 1 0 0 1.57] } DEF orient9 OrientationInterpolator { key [0.75, 0.765, 0.78, 0.795, 0.81] keyValue [0 1 0 0 , 0 1 0 -0.39, 0 1 0 -0.78, 0 1 0 -1.17, 0 1 0 -1.57] } DEF orient10 OrientationInterpolator { key [0.83, 0.845, 0.86, 0.875, 0.89] keyValue [0 0 1 0, 0 0 1 0.39, 0 0 1 0.78, 0 0 1 1.17, 0 0 1 1.57] } DEF orient11 OrientationInterpolator { key [0.83, 0.845, 0.86, 0.875, 0.89] keyValue [0 0 1 0, 0 0 1 -0.39, 0 0 1 -0.78, 0 0 1 -1.17, 0 0 1 -1.57] } DEF orient12 OrientationInterpolator { key [0.91 , 0.925, 0.94, 0.955, 0.97] keyValue [0 0 1 0, 0 0 1 0.39, 0 0 1 0.78, 0 0 1 1.17, 0 0 1 1.57] } DEF orient13 OrientationInterpolator { key [0.91 , 0.925, 0.94, 0.955, 0.97] keyValue [0 0 1 0, 0 0 1 -0.39, 0 0 1 -0.78, 0 0 1 -1.17, 0 0 1 -1.57] } DEF orient14 OrientationInterpolator { key [0.91 , 0.925, 0.94, 0.955, 0.97] keyValue [1 0 0 0, 1 0 0 0.39, 1 0 0 0.78, 1 0 0 1.17, 1 0 0 1.57] } DEF orient15 OrientationInterpolator { key [0.91 , 0.925, 0.94, 0.955, 0.97] keyValue [1 0 0 1.57, 1 0 0 1.17, 1 0 0 0.78, 1 0 0 0.39, 1 0 0 0] } DEF Touch TouchSensor { } DEF Time TimeSensor { cycleInterval 50 } # ROUTE Touch.isOver TO Time.set_enabled ROUTE Touch.touchTime TO Time.set_startTime ROUTE Time.fraction_changed TO orient1.set_fraction ROUTE orient1.value_changed TO Deckelvo.rotation ROUTE Time.fraction_changed TO orient2.set_fraction ROUTE orient2.value_changed TO Deckelhi.rotation ROUTE Time.fraction_changed TO orient3.set_fraction ROUTE orient3.value_changed TO Deckelli.rotation ROUTE Time.fraction_changed TO orient4.set_fraction ROUTE orient4.value_changed TO Deckelre.rotation ROUTE Time.fraction_changed TO ort1.set_fraction ROUTE ort1.value_changed TO complete.translation ROUTE Time.fraction_changed TO orient5.set_fraction ROUTE orient5.value_changed TO complete.rotation ROUTE Time.fraction_changed TO ort2.set_fraction ROUTE ort2.value_changed TO fill1.translation ROUTE Time.fraction_changed TO ort3.set_fraction ROUTE ort3.value_changed TO hollow.translation ROUTE Time.fraction_changed TO ort4.set_fraction ROUTE ort4.value_changed TO total.translation ROUTE Time.fraction_changed TO orient6.set_fraction ROUTE orient6.value_changed TO AB.rotation ROUTE Time.fraction_changed TO orient7.set_fraction ROUTE orient7.value_changed TO ABC.rotation ROUTE Time.fraction_changed TO orient8.set_fraction ROUTE orient8.value_changed TO F.rotation ROUTE Time.fraction_changed TO orient9.set_fraction ROUTE orient9.value_changed TO GHIJK.rotation ROUTE Time.fraction_changed TO orient10.set_fraction ROUTE orient10.value_changed TO G.rotation ROUTE Time.fraction_changed TO orient11.set_fraction ROUTE orient11.value_changed TO K.rotation ROUTE Time.fraction_changed TO orient12.set_fraction ROUTE orient12.value_changed TO GH.rotation ROUTE Time.fraction_changed TO orient13.set_fraction ROUTE orient13.value_changed TO JK.rotation ROUTE Time.fraction_changed TO orient14.set_fraction ROUTE orient14.value_changed TO EF.rotation ROUTE Time.fraction_changed TO orient15.set_fraction ROUTE orient15.value_changed TO A.rotation