X-Git-Url: http://git.scottworley.com/nt3d/blobdiff_plain/2f26ede4efa95cc756a2b3240c2a9e29f0f48486..20ba9ac85c5721d6dda7b1e8a3e97089a52461c4:/nt3d.js diff --git a/nt3d.js b/nt3d.js index c69c185..62d898e 100644 --- a/nt3d.js +++ b/nt3d.js @@ -83,6 +83,14 @@ nt3d = { return nt3d.sub(path[i+1], path[i-1]); }; }, + pathnormals_from_point: function(path, p) { + // Use this with any point that is not on any path tangent line + var pathnormals = []; + for (var i = 0; i < path.length; i++) { + pathnormals.push(this.sub(path[i], p)); + } + return pathnormals; + }, to_function: function(thing, make_indexer) { // If thing is a point, just yield thing every time. // If thing is a list of points && make_indexer, index into thing. @@ -211,7 +219,7 @@ nt3d = { }, project: function(a, b) { // Project b onto a var a_magnitude = this.magnitude(a); - return this.scale(a, this.dot(a, b) / a_magnitude * a_magnitude); + return this.scale(a, this.dot(a, b) / (a_magnitude * a_magnitude)); }, project_to_orthogonal: function(a, b) { // The nearest thing to b that is orthogonal to a