Height map 2

by dirkk0

HTML

<script src="http://yourjavascript.com/12191331314/simplex.js"></script>
<input id="nr" value="1" size="3"><button type="button" onclick="run()">Number of repeats</button>
<br>
<br>
<div id="noise"></div>

JavaScript

window.run = function() {
  var r = noise();
  var b = document.getElementById("noise");
  b.innerHTML = '';
  b.style.display = 'inline-block';
  for (var x = 0; x < r.length; x++) {
    var e = document.createElement('div');
    for (var y = 0; y < r[0].length; y++) {
      var d = document.createElement('div');
      var c = ~~(r[x][y] * 255);
      if (r[x][y] >= 0) {
        d.style.backgroundColor = '#0000ff';
      } else {
        d.style.backgroundColor = '#00ff00';
      }

      d.innerHtml = '&nbps;'
      d.style.width = '5px';
      d.style.height = '5px';
      d.style.float = 'left'
      e.appendChild(d);
    }
    b.appendChild(e);
    //b.innerHtml += '<br>'
  }
}

function noise() {
  var grid = [];
  var reps = parseInt(document.getElementById('nr').value);
  var lvl = 0.0045;
  var _width = 75;
  var _height = 75;
  var simplex = new SimplexNoise({
    octaves: 20,
    persistence: 0.4
  });
  for (var x = 0; x < _width; x++) {
    grid[x] = [];
    for (var y = 0; y < _height; y++) {
      var fRds = _width / reps;
      var fNX = x / fRds;
      var fNY = y / fRds;
      var fRdx = fNX * 2 * Math.PI;
      var fRdy = fNY * 2 * Math.PI;
      var a = fRds * Math.sin(fRdx);
      var b = fRds * Math.cos(fRdx);
      var c = fRds * Math.sin(fRdy);
      var d = fRds * Math.cos(fRdy);
      var n = 1.1 * simplex.noise(a * lvl, b * lvl, c * lvl, d * lvl);

      //between -10000 and 9000
      grid[x][y] = ~~((n * 19000) - 10000)
    }
  }

  return grid;
}


run();

function SimplexNoise(t) {
  var e = t || {};
  e.rng = e.rng || Math, e.octaves = e.octaves || 5, e.persistence = e.persistence || .2, e.level = t.level || .005, this.level = e.level;
  var n, r, o, i, s, a, f, h, l, u, c, M, v, p, g, d, m, b, q, S, w, x, N, k, D, G, R, j, y, T, z, A, B, C, E, F, H, I, J, K, L, O, P, Q, U, V, W, X, Y, Z, $, _, te, ee, ne, re, oe, ie, se, ae, fe, he, le, ue, ce, Me, ve, pe = .5 * (Math.sqrt(3) - 1),
    ge = (3 - Math.sqrt(3)) / 6,
    de = 2 * ge...