<html>
  <head>
    <title>Torus by extrude</title>
    <script type="text/javascript" src="nt3d.js"></script>
    <script type="text/javascript">
      function torus_by_extrude(torus_radius, cross_section_radius, rotation, long_steps, short_steps) {
      	var path = nt3d.circle(torus_radius, long_steps);
      	path = nt3d.rotate_about_origin(path, [0,1,0], rotation * 2*Math.PI);
      	return nt3d.closed_extrude(
      	  path,
	  nt3d.circle(cross_section_radius, short_steps),
	  nt3d.shapenormals_from_closed_path(path),
	  [0, 0, 1]);
      }
      var params = [["Torus radus", 100],
                    ["Cross section radius", 40],
                    ["Rotation (turns)", 0.001],
                    ["Steps around the long way", 50],
                    ["Steps around the short way", 16]];
    </script>
  </head>
  <body onload="nt3d.framework(torus_by_extrude, params)">
    <h1>Torus by extrude</h1>
    <p>Make a torus by extruding a circle.</p>
  </body>
</html>