I thought I would compare JRubyArt noise (derived from KdotJPG OpenSimplex2) to see how that would fare, here is the test code:-
load_library :uniform_noise
java_import 'micycle.uniformnoise.UniformNoise'
java_import 'java.awt.Color'
OCTAVES = 4
def setup
sketch_title 'Uniform Noise Test'
load_pixels
@unoise = UniformNoise.new
end
def draw
grid(width, height) do |x, y|
val = if x < width / 2
(noise(x * 0.015, y * 0.015, frame_count * 0.035) + 1) / 2
else
@unoise.uniform_noise(x * 0.0085, y * 0.0085, frame_count * 0.01, OCTAVES, 0.5)
end
col = Color.HSBtoRGB(val, 1, 1)
pixels[y * width + x] = col
end
update_pixels
end
def settings
size(800, 800)
end
Here is the result
The uniform noise is clearly the winner here, but OpenSimplex2 is an improvement over the processing “perlin noise”. There is even a variation that is more suitable for creating terrains.