X-Git-Url: http://git.scottworley.com/nt3d/blobdiff_plain/4eea5cbf56ef47679df35e618980cf5596facba6..a9f371ff81df6ee1a50d7a0376c278e6b6a16129:/nt3d.js?ds=sidebyside diff --git a/nt3d.js b/nt3d.js index f22d676..daa628b 100644 --- a/nt3d.js +++ b/nt3d.js @@ -23,6 +23,29 @@ nt3d = { return this.triangle(a, b, c).concat( this.triangle(c, d, a)); }, + trianglefan: function(fan) { + var result = []; + for (var i = 2; i < fan.length; i++) { + result.push(fan[0], fan[i-1], fan[i]); + } + return result; + }, + closed_trianglefan: function(fan) { + return nt3d.trianglefan(fan.concat([fan[1]])); + }, + 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([strip[0], strip[1]])); + }, sub: function(a, b) { return [a[0] - b[0], a[1] - b[1], @@ -95,6 +118,7 @@ nt3d = { document.body.appendChild(this.ui); } this.form = document.createElement("form"); + this.form.setAttribute("onsubmit", "nt3d.go(); return false"); this.ui.appendChild(this.form); var table = document.createElement("table"); this.form.appendChild(table);