<html>
  <head>
    <title>Box by rotation</title>
    <script type="text/javascript" src="nt3d.js"></script>
    <script type="text/javascript">
      function box_by_rotation(size) {
        var origin = [0,    0,    0   ];
        var x      = [size, 0,    0   ];
        var y      = [0,    size, 0   ];
        var xy     = [size, size, 0   ];
        var xy_face = nt3d.quad(origin, y, xy, x);
      	return [].concat(
      	  xy_face,
      	  nt3d.rotate_about_origin(xy_face, nt3d.unit([1,1,1]),  2*Math.PI/3), // yz
      	  nt3d.rotate_about_origin(xy_face, nt3d.unit([1,1,1]), -2*Math.PI/3), // xz
      	  nt3d.rotate(xy_face, [0.5, 0, 0.5], [0, 1, 0], Math.PI), // far xy (top)
      	  nt3d.rotate(xy_face, [1, 1, 0], nt3d.unit([-1, -1, 1]),  2*Math.PI/3),  // far yz
      	  nt3d.rotate(xy_face, [1, 1, 0], nt3d.unit([-1, -1, 1]), -2*Math.PI/3)); // far xz
      }
      var params = [["Size", 1]];
    </script>
  </head>
  <body onload="nt3d.framework(box_by_rotation, params)">
    <h1>Box by rotation</h1>
    <p>Make a box by specifying one face, then copy-rotating it five times.</p>
  </body>
</html>