node package manager

Introducing npm Enterprise add-ons. Integrate third-party dev tools into npm…


Get the normal vector of a 3D triangle


Takes a list of vertices in a triangle, and returns the normal vector for that triangle. Doesn't handle degenerate triangles.

The first 9 arguments are for the points on your triangle, with an optional output array to set the resulting parameters. If an ouput is not supplied, a new array will be created, and either way this array will be returned as the result of the function, e.g.:

var normal = require('triangle-normal')
var output = [0, 0, 0]
var vectors = [
    { x: 0, y: 0, z: 0 }
  , { x: 1, y: 0, z: 0 }
  , { x: 0, y: 1, z: 0 }
  vectors[0].x, vectors[0].y, vectors[0].z,
  vectors[1].x, vectors[1].y, vectors[1].z,
  vectors[2].x, vectors[2].y, vectors[2].z,