From 4e2bdb62f6ca8a3a42462f056fdd55bedb41b1e1 Mon Sep 17 00:00:00 2001 From: Scott Worley Date: Tue, 18 Dec 2012 01:14:42 -0800 Subject: [PATCH] Quadstrips --- box_by_quadstrip.html | 28 ++++++++++++++++++++++++++++ nt3d.js | 13 +++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 box_by_quadstrip.html diff --git a/box_by_quadstrip.html b/box_by_quadstrip.html new file mode 100644 index 0000000..1c6f8fa --- /dev/null +++ b/box_by_quadstrip.html @@ -0,0 +1,28 @@ + + + Box by quadstrip + + + + +

Box by quadstrip

+

Make a box with a top, bottom, and a quadstrip for the sides.

+ + diff --git a/nt3d.js b/nt3d.js index 9d45486..ba2315f 100644 --- a/nt3d.js +++ b/nt3d.js @@ -23,6 +23,19 @@ nt3d = { return this.triangle(a, b, c).concat( this.triangle(c, d, a)); }, + quadstrip: function(strip) { + if (strip.length % 2 != 0) { + alert("quadstrip length not divisble by 2!"); + } + var result = []; + for (var i = 2; i < strip.length; i += 2) { + result = result.concat(nt3d.quad(strip[i-2], strip[i-1], strip[i+1], strip[i])); + } + return result; + }, + closed_quadstrip: function(strip) { + return nt3d.quadstrip(strip).concat(nt3d.quad(strip[strip.length-2], strip[strip.length-1], strip[1], strip[0])); + }, sub: function(a, b) { return [a[0] - b[0], a[1] - b[1], -- 2.44.1