]> git.scottworley.com Git - nt3d/blob - torus_by_extrude.html
10ae92e50c7bdaaa3f1c3ab0ecd9d570c8c394d3
[nt3d] / torus_by_extrude.html
1 <html>
2 <head>
3 <title>Torus by extrude</title>
4 <script type="text/javascript" src="nt3d.js"></script>
5 <script type="text/javascript">
6 function torus_by_extrude(torus_radius, cross_section_radius, rotation, long_steps, short_steps) {
7 var path = nt3d.circle(torus_radius, long_steps);
8 path = nt3d.rotate_about_origin(path, [0,1,0], rotation * 2*Math.PI);
9 return nt3d.closed_extrude(
10 path,
11 nt3d.circle(cross_section_radius, short_steps),
12 nt3d.shapenormals_from_closed_path(path),
13 [0, 0, 1]);
14 }
15 var params = [["Torus radus", 100],
16 ["Cross section radius", 40],
17 ["Rotation (turns)", 0.001],
18 ["Steps around the long way", 50],
19 ["Steps around the short way", 16]];
20 </script>
21 </head>
22 <body onload="nt3d.framework(torus_by_extrude, params)">
23 <h1>Torus by extrude</h1>
24 <p>Make a torus by extruding a circle.</p>
25 </body>
26 </html>