<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Interchange' version='3.3' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'>
  <head>
    <meta content='Wiggle.x3d' name='title'/>
    <meta content='Wiggling cubes illustrate the use of CoordinateInterpolator nodes to vary the coordinates of shapes (in this case a set of IndexedFaceSet cubes).' name='description'/>
    <meta content='David R. Nadeau' name='creator'/>
    <meta content='Don Brutzman' name='translator'/>
    <meta content='1 July 1998' name='created'/>
    <meta content='2 February 2014' name='translated'/>
    <meta content='20 October 2019' name='modified'/>
    <meta content='originals/wioggle.wrl' name='reference'/>
    <meta content='http://www.siggraph.org/s98' name='reference'/>
    <meta content='http://www.siggraph.org/s98/conference/courses/18.html' name='reference'/>
    <meta content='http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/slides/mt0195.htm' name='reference'/>
    <meta content='http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/vrml97.htm' name='reference'/>
    <meta content='https://www.web3d.org/x3d/content/examples/X3dResources.html' name='reference'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Wiggle.x3d' name='identifier'/>
    <meta content='Vrml97ToX3dNist, http://ovrt.nist.gov/v2_x3d.html' name='generator'/>
    <meta content='X3D-Edit, https://www.web3d.org/x3d/tools/X3D-Edit' name='generator'/>
    <meta content='../license.html' name='license'/>
  </head>
  <Scene>
    <WorldInfo info='"Copyright (c) 1997, David R. Nadeau"' title='Wiggling boxes'/>
    <Viewpoint description='Entry view'/>
    <NavigationInfo/>
    <Shape DEF='Wig'>
      <Appearance>
        <Material diffuseColor='0.0 0.5 1.0'/>
      </Appearance>
      <IndexedFaceSet coordIndex='0 1 2 3 -1 4 5 1 0 -1 5 6 2 1 -1 6 7 3 2 -1 7 4 0 3 -1 7 6 5 4 -1'>
        <Coordinate DEF='Coordinates' point='-1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 -1.0 -1.0 1.0 -1.0 -1.0 -1.0 1.0 1.0 -1.0 1.0 1.0 -1.0 -1.0 -1.0 -1.0 -1.0'/>
      </IndexedFaceSet>
    </Shape>
    <Transform rotation='1.0 0.0 0.0 3.1415' translation='-3.0 0.0 0.0'>
      <Shape USE='Wig'/>
    </Transform>
    <Transform rotation='1.0 0.0 0.0 3.1415' translation='3.0 0.0 0.0'>
      <Shape USE='Wig'/>
    </Transform>
    <Transform rotation='1.0 0.0 0.0 3.1415' translation='0.0 0.0 -3.0'>
      <Shape USE='Wig'/>
    </Transform>
    <Transform translation='-3.0 0.0 -3.0'>
      <Shape USE='Wig'/>
    </Transform>
    <Transform translation='3.0 0.0 -3.0'>
      <Shape USE='Wig'/>
    </Transform>
    <Transform rotation='1.0 0.0 0.0 3.1415' translation='0.0 0.0 3.0'>
      <Shape USE='Wig'/>
    </Transform>
    <Transform translation='-3.0 0.0 3.0'>
      <Shape USE='Wig'/>
    </Transform>
    <Transform translation='3.0 0.0 3.0'>
      <Shape USE='Wig'/>
    </Transform>
    <TimeSensor DEF='Clock' cycleInterval='2.0' loop='true' startTime='1.0'/>
    <CoordinateInterpolator DEF='Interpolator' key='0.0 0.25 0.5 0.75 1.0' keyValue='-1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 -1.0 -1.0 1.0 -1.0 -1.0 -1.0 1.0 1.0 -1.0 1.0 1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -0.5 1.0 0.5 0.5 1.0 0.5 0.5 1.0 -0.5 -0.5 1.0 -0.5 -1.5 -1.0 1.5 1.5 -1.0 1.5 1.5 -1.0 -1.5 -1.5 -1.0 -1.5 -1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 -1.0 -1.0 1.0 -1.0 -1.0 -1.0 1.0 1.0 -1.0 1.0 1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.5 1.0 1.5 1.5 1.0 1.5 1.5 1.0 -1.5 -1.5 1.0 -1.5 -0.5 -1.0 0.5 0.5 -1.0 0.5 0.5 -1.0 -0.5 -0.5 -1.0 -0.5 -1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 -1.0 -1.0 1.0 -1.0 -1.0 -1.0 1.0 1.0 -1.0 1.0 1.0 -1.0 -1.0 -1.0 -1.0 -1.0'/>
    <ROUTE fromField='fraction_changed' fromNode='Clock' toField='set_fraction' toNode='Interpolator'/>
    <ROUTE fromField='value_changed' fromNode='Interpolator' toField='set_point' toNode='Coordinates'/>
  </Scene>
</X3D>