]> git.scottworley.com Git - nt3d/blobdiff - torus_by_extrude.html
A helper function for generating pathnormals
[nt3d] / torus_by_extrude.html
index c95f8216532e4ac27bff2c4ed48bbd2cb7aa0772..10ae92e50c7bdaaa3f1c3ab0ecd9d570c8c394d3 100644 (file)
@@ -3,16 +3,18 @@
     <title>Torus by extrude</title>
     <script type="text/javascript" src="nt3d.js"></script>
     <script type="text/javascript">
     <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, long_steps, short_steps) {
+      function torus_by_extrude(torus_radius, cross_section_radius, rotation, long_steps, short_steps) {
        var path = nt3d.circle(torus_radius, long_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),
        return nt3d.closed_extrude(
          path,
          nt3d.circle(cross_section_radius, short_steps),
-         nt3d.rotate_about_origin(path, [0,0,1], Math.PI/2),
+         nt3d.shapenormals_from_closed_path(path),
          [0, 0, 1]);
       }
       var params = [["Torus radus", 100],
                     ["Cross section radius", 40],
          [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>
                     ["Steps around the long way", 50],
                     ["Steps around the short way", 16]];
     </script>