function neutrals(hex, value, count) {
    // Set defaults
    count = count || 8;

    var ryb = hex;
    if (typeof hex === 'string')
      ryb = hex2rxb(hex);

    var complement = complementary(ryb, value);
    ryb = stepcolor(ryb, value);
    var d = {
      r: (complement[0] - ryb[0]) / (count - 1),
      y: (complement[1] - ryb[1]) / (count - 1),
      b: (complement[2] - ryb[2]) / (count - 1)
    };

    var n = [];
    for (var i = 0; i < count; i++) {
      // Save it
      n.push(ryb.slice(0));

      // Now move the color
      ryb[0] += d.r;
      ryb[1] += d.y;
      ryb[2] += d.b;
    }

    return n;
  }
/**
   * Calculate Neutrals
   *
   * Given a hex RYB string or array, and its value, return an array
   * with `count` number of neutral colors between the color
   * and its complement.
   *
   * @param colors  {string}  An RYB hex string or array
   * @param value   {int}     A number between -1 and 1 defining the value
   * @param count   {int}     Number of neutrals to sample from the color to its complement (default 8)
   *
   * Ex: var neutrals = neutrals('ff00ff', 0, 4);
   */
Calculate Neutrals
Given a hex RYB string or array, and its value, return an array
with `count` number of neutral colors between the color
and its complement.

@param colors  {string}  An RYB hex string or array
@param value   {int}     A number between -1 and 1 defining the value
@param count   {int}     Number of neutrals to sample from the color to its complement (default 8)

var neutrals = neutrals('ff00ff', 0, 4).
Calculate Neutrals Given a hex RYB string or array and its value return an array with ` count ` number of neutral colors between the color and its complement . @param colors { string } An RYB hex string or array @param value { int } A number between - 1 and 1 defining the value @param count { int } Number of neutrals to sample from the color to its complement ( default 8 ) var neutrals = neutrals ( ' ff00ff ' 0 4 ) .
function neutrals(hex, value, count) {
    count = count || 8;
    var ryb = hex;
    if (typeof hex === 'string')
      ryb = hex2rxb(hex);
    var complement = complementary(ryb, value);
    ryb = stepcolor(ryb, value);
    var d = {
      r: (complement[0] - ryb[0]) / (count - 1),
      y: (complement[1] - ryb[1]) / (count - 1),
      b: (complement[2] - ryb[2]) / (count - 1)
    };
    var n = [];
    for (var i = 0; i < count; i++) {
      n.push(ryb.slice(0));
      ryb[0] += d.r;
      ryb[1] += d.y;
      ryb[2] += d.b;
    }
    return n;
  }
function neutrals ( hex , value , count ) { count = count || 8 ; var ryb = hex ; if ( typeof hex === 'string' ) ryb = hex2rxb ( hex ) ; var complement = complementary ( ryb , value ) ; ryb = stepcolor ( ryb , value ) ; var d = { r : ( complement [ 0 ] - ryb [ 0 ] ) / ( count - 1 ) , y : ( complement [ 1 ] - ryb [ 1 ] ) / ( count - 1 ) , b : ( complement [ 2 ] - ryb [ 2 ] ) / ( count - 1 ) } ; var n = [ ] ; for ( var i = 0 ; i < count ; i ++ ) { n . push ( ryb . slice ( 0 ) ) ; ryb [ 0 ] += d . r ; ryb [ 1 ] += d . y ; ryb [ 2 ] += d . b ; } return n ; }
Calculate Neutrals
 Given a hex RYB string or array, and its value, return an array
 with `count` number of neutral colors between the color
 and its complement.
Calculate Neutrals Given a hex RYB string or array and its value return an array with ` count ` number of neutral colors between the color and its complement .
// Set defaults // Save it // Now move the color