triangle-normal

Get the normal vector of a 3D triangle

triangle-normal

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 }
]
 
normal(
  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,
  output
)