#VRML V2.0 utf8 NavigationInfo { type ["WALK", "ANY"] } Fog { visibilityRange 7 color .2 .1 .1 } Viewpoint { description "start" position 0 1.7 0 orientation 0 1 0 0 } Viewpoint { description "top" position 0 20 -5 orientation 1 0 0 -1.57 } Background{ skyColor .2 .1 .1} DEF ROOT Transform { children[ Shape{ appearance Appearance{ material Material { diffuseColor .2 .2 .2 emissiveColor .8 .8 .8 } texture ImageTexture { url "maze.jpg" } } geometry IndexedFaceSet{ solid FALSE coord Coordinate{ point[ -12 0 1, 12 0 1, 12 0 -12, -12 0 -12, -12 2 1, 12 2 1, 12 2 -12, -12 2 -12 -10 0 -1, -1 0 -1, 1 0 -1, 10 0 -1, 10 0 -10, 1 0 -10, -1 0 -10, -10 0 -10, -10 2 -1, -1 2 -1, 1 2 -1, 10 2 -1, 10 2 -10, 1 2 -10, -1 2 -10, -10 2 -10, -12 0 -1, -12 2 -1 ]} coordIndex[ 0 1 5 4 -1 1 2 6 5 -1 2 3 7 6 -1 3 0 4 7 -1 15 8 16 23 -1 9 14 22 17 -1 13 10 18 21 -1 11 12 20 19 -1 24 9 17 25 -1 10 11 19 18 -1 12 13 21 20 -1 14 15 23 22 -1 ] texCoord TextureCoordinate{ point [0 0, 1 0, 1 1, 0 1, .5 0, .5 1]} texCoordIndex [0 1 2 3 -1 0 1 2 3 -1 0 1 2 3 -1 0 1 2 3 -1 0 1 2 3 -1 0 1 2 3 -1 0 1 2 3 -1 0 1 2 3 -1 0 4 5 3 -1 0 4 5 3 -1 0 4 5 3 -1 0 4 5 3 -1 ] }} Shape{ appearance Appearance{ material Material { emissiveColor .1 0 0 } } geometry IndexedFaceSet{ solid FALSE coord Coordinate{ point[-12 0 -12, 12 0 -12, 12 0 1, -12 0 1]} coordIndex[0 1 2 3 -1] }} DEF poly Transform { translation -11 1 -2 scale .2 .2 .2 children[ Shape { appearance Appearance { material Material { diffuseColor 1 1 0 } } geometry IndexedFaceSet { coord Coordinate { point [ 0 0 2.803 1.868 0 -2.089 -.934 1.618 -2.089 -.934 -1.618 -2.089 -2.089 1.618 .934 -2.089 -1.618 .934 -.357 -2.618 .934 2.446 -1 .934 2.446 1 .934 -.357 2.618 .934 .357 -2.618 -.934 .357 2.618 -.934 2.089 1.618 -.934 -2.446 -1 -.934 -2.446 1 -.934 2.089 -1.618 -.934 .934 1.618 2.089 .934 -1.618 2.089 -1.868 0 2.089 0 0 -2.803 .258 .447 .099 -.516 0 .099 .258 -.447 .099 -.319 0 -.418 .16 -.276 -.418 .16 .276 -.418 -.16 -.276 .418 -.16 .276 .418 .319 0 .418 .516 0 -.099 -.258 .447 -.099 -.258 -.447 -.099 ] } coordIndex [ 20,0,1,-1, 20,1,4,-1, 20,4,7,-1, 20,7,2,-1, 20,2,0,-1, 21,0,2,-1, 21,2,6,-1, 21,6,9,-1, 21,9,3,-1, 21,3,0,-1, 22,0,3,-1, 22,3,8,-1, 22,8,5,-1, 22,5,1,-1, 22,1,0,-1, 23,1,5,-1, 23,5,11,-1, 23,11,10,-1, 23,10,4,-1, 23,4,1,-1, 24,2,7,-1, 24,7,13,-1, 24,13,12,-1, 24,12,6,-1, 24,6,2,-1, 25,3,9,-1, 25,9,15,-1, 25,15,14,-1, 25,14,8,-1, 25,8,3,-1, 26,4,10,-1, 26,10,16,-1, 26,16,13,-1, 26,13,7,-1, 26,7,4,-1, 27,5,8,-1, 27,8,14,-1, 27,14,17,-1, 27,17,11,-1, 27,11,5,-1, 28,6,12,-1, 28,12,18,-1, 28,18,15,-1, 28,15,9,-1, 28,9,6,-1, 29,10,11,-1, 29,11,17,-1, 29,17,19,-1, 29,19,16,-1, 29,16,10,-1, 30,12,13,-1, 30,13,16,-1, 30,16,19,-1, 30,19,18,-1, 30,18,12,-1, 31,14,15,-1, 31,15,18,-1, 31,18,19,-1, 31,19,17,-1, 31,17,14,-1, ] } } ]} ]} DEF Clock TimeSensor { cycleInterval 15 loop TRUE} DEF Animation OrientationInterpolator { key [ 0, .25 .5 .78 1 ] keyValue [ 0 1 0 0, 0 1 0 1.51, 0 1 0 3.14, 0 1 0 4.65, 0 1 0 0 ]} ROUTE Clock.fraction_changed TO Animation.set_fraction ROUTE Animation.value_changed TO poly.rotation