vectors
Version:
A grab bag of vector utility functions for 2D and 3D vectors that operate on plain arrays
34 lines (23 loc) • 555 B
JavaScript
/**
### `dot(vec, other)`
Returns the dot product of vectors `vec` and `other`:
``` javascript
var dot = require('vectors/dot')(2)
var vecA = [15, 5]
var vecB = [10, 8]
dot(vecA, vecB) === 190
```
**/
function generator(dims) {
dims = +dims|0
var body = []
body.push('return function(vec, other) {')
var els = []
for (var i = 0; i < dims; i += 1) {
els.push('vec[' + i + ']*other[' + i + ']')
}
body.push('return ' + els.join(' + '))
body.push('}')
return Function(body.join('\n'))()
}
module.exports = generator