- extrude: function(shape, path, shapenormals, pathnormals) {
- var guts_result = nt3d._extrude_guts(shape, path, shapenormals, pathnormals);
+ circle: function(r, n) {
+ var points = [];
+ for (var i = 0; i < n; i++) {
+ points.push([r*Math.cos(2*Math.PI*i/n),
+ r*Math.sin(2*Math.PI*i/n),
+ 0]);
+ }
+ return points;
+ },
+ cone: function(base_center, apex, radius, steps) {
+ var base = this.circle(radius, steps);
+ base = this.rotate_onto(base, [0,0,1], this.sub(apex, base_center));
+ base = this.translate(base, base_center);
+ return this.closed_trianglefan([apex].concat(base)).concat(
+ this.trianglefan(base.reverse()));
+ },
+ extrude: function(path, shape, shapenormals, pathnormals) {
+
+ var guts_result = nt3d._extrude_guts(path, shape, shapenormals, pathnormals);