moore

Generates Moore neighborhoods of any range/dimension

moore

A little module for generating Moore neighborhoods (i.e. the surrounding cells of a single cell in a grid) of arbitrary range and dimensions. Or, the blue squares for a red square:

npm install moore

Takes two arguments, returning an array of relative coordinates.

  • range determines how large the neighborhood extends, and defaults to 1.
  • dimensions determines how many dimensions the Moore neighborhood covers - i.e. 2 will return the results for a 2D grid, and 3 will return the results for a 3D grid. May be any value above zero.
var moore = require('moore')
 
// 2D, 1 range: 
moore(1, 2) === [
  [-1,-1], [ 0,-1], [ 1,-1],
  [-1, 0],          [ 1, 0],
  [-1, 1], [ 0, 1], [ 1, 1],
]