Gradient (Perlin) Noise
•Generate unit vectors  (a, b) at each integer lattice point (ix, iy)
–Use zero intensity at each lattice point.
•For a non-integer evaluation point (x, y) determine the 4 nearest integer grid points.
•For each integer grid point (ix, iy), find the fractional value of the vector (fx, fy) from (ix, iy) to (x, y, z) and take its dot product with the gradient vector at that integer point (ix, iy).
•Interpolate the  4 dot-product values to compute the noise value at the grid point
•This has more high-frequency energy than value noise.