<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>