From 73d427fbe1f835263dea9dccfb4e609ca2fde0b6 Mon Sep 17 00:00:00 2001 From: monkstone Date: Tue, 6 Apr 2021 19:16:15 +0100 Subject: [PATCH] Update to using SimplexNoise2 as modules. --- basics/math/data/noise_image.png | Bin 0 -> 15196 bytes basics/math/noise4_tap.rb | 28 +++++----- basics/math/noise_1_d.rb | 14 ++--- basics/math/noise_2_d.rb | 36 +++++-------- basics/math/noise_3_d.rb | 28 ++++------ basics/math/noise_animation.rb | 4 +- basics/math/noise_image.rb | 12 ++++- basics/math/noise_wave.rb | 27 ++++------ contributed/decagon_grid.rb | 16 +++--- contributed/etienne.rb | 48 ++++++++++++++++++ data/henon_2.0000.jpg.tif | Bin 750768 -> 0 bytes data/wovns.png | Bin 61615 -> 0 bytes demo/terreno.rb | 11 +--- .../geomerative/library/f_agent/f_agent.rb | 12 +++-- .../library/font_agent/font_agent.rb | 4 +- .../gems/geomerative/picrate_merge.rb | 4 +- .../gems/geomerative/typo_extra_bright.rb | 1 + .../gems/geomerative/typo_merge.rb | 5 +- external_library/gems/pbox2d/lib/surface.rb | 4 +- library/vecmath/vec3d/terrain.rb | 36 +++++++++---- library/vector_utils/fibonacci.rb | 2 +- 21 files changed, 163 insertions(+), 129 deletions(-) create mode 100644 basics/math/data/noise_image.png create mode 100755 contributed/etienne.rb delete mode 100644 data/henon_2.0000.jpg.tif delete mode 100644 data/wovns.png diff --git a/basics/math/data/noise_image.png b/basics/math/data/noise_image.png new file mode 100644 index 0000000000000000000000000000000000000000..83ce0b1545b8f7cc3151aa270d8f14b52fcf51f7 GIT binary patch literal 15196 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 TJb|}nS6S}1*;TQ_Gxq-iT*CXK literal 0 HcmV?d00001 diff --git a/basics/math/noise4_tap.rb b/basics/math/noise4_tap.rb index cf8ca3d..6e2a998 100644 --- a/basics/math/noise4_tap.rb +++ b/basics/math/noise4_tap.rb @@ -4,7 +4,7 @@ Coord = Struct.new(:mx, :my, :mz, :az, :al) class ForD < Processing::App - attr_reader :half_w, :half_h, :radius, :spin_x, :spin, :coords + attr_reader :half_w, :half_h, :radius, :spin_x, :spin, :coords, :smth def settings size(480, 480, P3D) @@ -20,7 +20,7 @@ def setup @radius = height * 0.4 @spin_x = 0.0 @spin = 0.0 - + @smth = false angle = ((1.0 + Math.sqrt(5)) / 2.0 - 1) * TWO_PI # Fibonacci distribution @coords = (0..2_000).map do |i| inc = Math.asin(i / 1_000.0 - 1.0) # inclination @@ -31,9 +31,9 @@ def setup rotate_y(az) rotate_z(inc) translate(radius, 0, 0) - coord.mx = model_x(0, 0, 0) * 0.007 - coord.my = model_y(0, 0, 0) * 0.007 - coord.mz = modelZ(0, 0, 0) * 0.007 + coord.mx = g.model_x(0, 0, 0) * 0.007 + coord.my = g.model_y(0, 0, 0) * 0.007 + coord.mz = g.model_z(0, 0, 0) * 0.007 coord.az = az coord.al = inc pop_matrix @@ -54,10 +54,14 @@ def draw rotate_y(ci.az) rotate_z(ci.al) translate(radius, 0, 0) - dst = (modelZ(0, 0, 0) + half_h) / 2 + 32 + dst = (g.model_z(0, 0, 0) + half_h) / 2 + 32 stroke(dst, dst * 0.5, dst * 0.25) # 4D Simplex noise(x, y, z, time) - ang = noise(ci.mx, ci.my, ci.mz, frame_count * 0.007) * TWO_PI + if smth + ang = SmoothNoise.noise(ci.mx, ci.my, ci.mz, frame_count * 0.007) * TWO_PI + else + ang = noise(ci.mx, ci.my, ci.mz, frame_count * 0.007) * TWO_PI + end rotate_x(ang) line(0, 0, 0, 0, 15, 0) translate(0, 15, 0) @@ -71,15 +75,7 @@ def draw end def mouse_pressed - mode = NoiseMode::OPEN_SMOOTH - sketch_title mode.description - noise_mode mode - end - - def mouse_released - mode = NoiseMode::DEFAULT - sketch_title mode.description - noise_mode mode + @smth = !smth end end diff --git a/basics/math/noise_1_d.rb b/basics/math/noise_1_d.rb index 829dbfd..87cf286 100644 --- a/basics/math/noise_1_d.rb +++ b/basics/math/noise_1_d.rb @@ -2,6 +2,7 @@ require 'picrate' class Noise1D < Processing::App + attr_reader :smth def setup sketch_title 'Noise 1D' @@ -9,27 +10,20 @@ def setup @x_increment = 0.01 background 0 no_stroke + @smth = false end def draw fill 0, 10 rect 0, 0, width, height - n = noise(@xoff) * width + n = smth ? SmoothNoise.noise(@xoff) * width : noise(@xoff) * width @xoff += @x_increment fill 200 ellipse n, height / 2, 64, 64 end def mouse_pressed - mode = NoiseMode::OPEN_SMOOTH - sketch_title mode.description - noise_mode mode - end - - def mouse_released - mode = NoiseMode::DEFAULT - sketch_title mode.description - noise_mode mode + @smth = !smth end def settings diff --git a/basics/math/noise_2_d.rb b/basics/math/noise_2_d.rb index 8f401c1..69823b0 100644 --- a/basics/math/noise_2_d.rb +++ b/basics/math/noise_2_d.rb @@ -1,43 +1,35 @@ # frozen_string_literal: true require 'picrate' +# Noise2D +# by Daniel Shiffman. +# +# Using 2D noise to create simple texture. class Noise2D < Processing::App - # Noise2D - # by Daniel Shiffman. - # - # Using 2D noise to create simple texture. + attr_reader :smth def setup sketch_title 'Noise 2D' - @increment = 0.02 + @inc = 0.02 + @smth = false end def draw background 0 load_pixels - xoff = 0.0 - (0...width).each do |x| - xoff += @increment - yoff = 0.0 - (0...height).each do |y| - yoff += @increment - bright = noise(xoff, yoff) * 255 - pixels[x + y * width] = color(bright) + grid(width, height) do |x, y| + if smth + bright = (SmoothNoise.noise(x * @inc, y * @inc) + 1) * 128 + else + bright = (noise(x * @inc, y * @inc) + 1) * 128 end + pixels[x + y * width] = color(bright) end update_pixels end def mouse_pressed - mode = NoiseMode::OPEN_SMOOTH - sketch_title mode.description - noise_mode mode - end - - def mouse_released - mode = NoiseMode::DEFAULT - sketch_title mode.description - noise_mode mode + @smth = !smth end def settings diff --git a/basics/math/noise_3_d.rb b/basics/math/noise_3_d.rb index fa781dc..a23c4a8 100644 --- a/basics/math/noise_3_d.rb +++ b/basics/math/noise_3_d.rb @@ -5,12 +5,12 @@ # Using 3D noise to create simple animated texture. # Here, the third dimension ('z') is treated as time. class Noise3D < Processing::App - attr_reader :increment, :z_increment + attr_reader :bright, :inc, :z_increment, :smth def setup sketch_title 'Noise 3D' frame_rate 30 - @increment = 0.01 + @inc = 0.01 @zoff = 0.0 @z_increment = 0.02 end @@ -18,30 +18,20 @@ def setup def draw background 0 load_pixels - xoff = 0.0 - (0...width).each do |x| - xoff += increment - yoff = 0.0 - (0...height).each do |y| - yoff += increment - bright = noise(xoff, yoff, @zoff) * 255 - pixels[x + y * width] = color(bright, bright, bright) + grid(width, height) do |x, y| + if smth + @bright = (SmoothNoise.noise(x * inc, y * inc, @zoff) + 1) * 128 + else + @bright = (noise(x * inc, y * inc, @zoff) + 1) * 128 end + pixels[x + y * width] = color(bright, bright, bright) end update_pixels @zoff += z_increment end def mouse_pressed - mode = NoiseMode::OPEN_SMOOTH - sketch_title mode.description - noise_mode mode - end - - def mouse_released - mode = NoiseMode::DEFAULT - sketch_title mode.description - noise_mode mode + @smth = !smth end def settings diff --git a/basics/math/noise_animation.rb b/basics/math/noise_animation.rb index b1ec59d..f5fd66b 100644 --- a/basics/math/noise_animation.rb +++ b/basics/math/noise_animation.rb @@ -45,11 +45,9 @@ def draw point(pos.x, pos.y) end # puts frame_count - save_frame(data_path('fr###.tiff')) - + # save_frame(data_path('fr###.tiff')) return unless frame_count == FRAMES - # save_frame(data_path('expt6.png')) no_loop puts 'finished' end diff --git a/basics/math/noise_image.rb b/basics/math/noise_image.rb index edca33b..fdddaa5 100644 --- a/basics/math/noise_image.rb +++ b/basics/math/noise_image.rb @@ -1,6 +1,7 @@ require 'picrate' # OpenSimplex2 has a range -1.0 to 1.0 class NoiseImage < Processing::App + attr_reader :col, :smth SCALE = 0.02 def setup @@ -8,6 +9,7 @@ def setup background(0) stroke(255) no_fill + @smth = false end def draw @@ -15,7 +17,11 @@ def draw scale = 0.02 load_pixels grid(500, 500) do |x, y| - col = noise(SCALE * x, SCALE * y) > 0 ? 255 : 0 + if smth + @col = SmoothNoise.noise(SCALE * x, SCALE * y) > 0 ? 255 : 0 + else + @col = noise(SCALE * x, SCALE * y) > 0 ? 255 : 0 + end pixels[x + width * y] = color(col, 0, 0) end update_pixels @@ -25,6 +31,10 @@ def draw def settings size 500, 500 end + + def mouse_pressed + @smth = !smth + end end NoiseImage.new diff --git a/basics/math/noise_wave.rb b/basics/math/noise_wave.rb index 82759b7..2b358b8 100644 --- a/basics/math/noise_wave.rb +++ b/basics/math/noise_wave.rb @@ -3,14 +3,16 @@ # Noise Wave # by Daniel Shiffman. # -# Using Perlin Noise to generate a wave-like pattern. +# Using Simplex Noise to generate a wave-like pattern. class NoiseWave < Processing::App - attr_reader :yoff # 2nd dimension of perlin noise + attr_reader :y, :yoff, :inc, :smth # 2nd dimension of perlin noise def setup sketch_title 'Noise Wave' @yoff = 0.0 + @smth = false + @inc = 0.005 end def draw @@ -18,17 +20,19 @@ def draw fill(255) # We are going to draw a polygon out of the wave points begin_shape - xoff = 0 # Option #1: 2D Noise # xoff = yoff # Option #2: 1D Noise # Iterate over horizontal pixels (0..width).step(10) do |x| # Calculate a y value according to noise, map to - y = map1d(noise(xoff, yoff), (0..1.0), (200..300)) # Option #1: 2D Noise - # y = map1d(noise(xoff), (0..1.0), (200..300)) # Option #2: 1D Noise + if smth + @y = map1d(SmoothNoise.noise(x * inc, yoff), (-1.0..1.0), (200..300)) # Option #1: 2D Noise + else + @y = map1d(noise(x * inc, yoff), (-1.0..1.0), (200..300)) # Option #1: 2D Noise + end + # y = map1d(noise(xoff), (-1.0..1.0), (200..300)) # Option #2: 1D Noise # Set the vertex vertex(x, y) # Increment x dimension for noise - xoff += 0.05 end # increment y dimension for noise @yoff += 0.01 @@ -37,17 +41,8 @@ def draw end_shape(CLOSE) end - def mouse_pressed - mode = NoiseMode::OPEN_SMOOTH - sketch_title mode.description - noise_mode mode - end - - def mouse_released - mode = NoiseMode::DEFAULT - sketch_title mode.description - noise_mode mode + @smth = !smth end def settings diff --git a/contributed/decagon_grid.rb b/contributed/decagon_grid.rb index b9b35ad..29b7bda 100644 --- a/contributed/decagon_grid.rb +++ b/contributed/decagon_grid.rb @@ -1,11 +1,11 @@ #!/usr/bin/env jruby - require 'picrate' # Example of a grid of decagons with perlin noise after Lenny Herzog class DecagonGrid < Processing::App + load_library :pdf NOISE_STRENGTH = 80.0 THETA = 36 - attr_reader :version, :noise_generator + attr_reader :version, :save, :noise_generator def setup sketch_title 'Decagon Grid' @@ -13,7 +13,7 @@ def setup @version = 0 @save = false @noise_generator = lambda do |x, y, seed| - NOISE_STRENGTH * noise( + NOISE_STRENGTH * SmoothNoise.tnoise( x / 150.0, y / 150.0 + seed * 2, seed @@ -22,6 +22,7 @@ def setup end def draw + begin_record(PDF, data_path("Line_#{version}.pdf")) if save background(255) no_fill stroke(0) @@ -38,14 +39,15 @@ def draw end end_shape(CLOSE) end - end + return unless save - def mouse_pressed - noise_mode NoiseMode::OPEN_SMOOTH + end_record + @version += 1 + @save = false end def mouse_pressed - noise_mode NoiseMode::DEFAULT + @save = true end def settings diff --git a/contributed/etienne.rb b/contributed/etienne.rb new file mode 100755 index 0000000..a71b57c --- /dev/null +++ b/contributed/etienne.rb @@ -0,0 +1,48 @@ +#!/usr/bin/env jruby +require 'picrate' + +# After a sSketch by Etienne Jacob +class Etienne < Processing::App + NUM_FRAMES = 38 + + def setup + sketch_title 'Etienne Sketch' + end + + def periodic_function(p, seed, x, y) + radius = 1.3 + scl = 0.018 + 1.0 * noise(seed + radius * cos(TWO_PI * p), radius * sin(TWO_PI * p), scl * x, scl * y) + end + + def offset(x, y) + 0.015 * dist(x, y, width / 2, height / 2) + end + + def draw + background(0) + t = 1.0 * frameCount / NUM_FRAMES + m = 450 + stroke(255, 50) + stroke_weight(1.5) + grid(m, m) do |i, j| + margin = 50 + x = map1d(i, 0..m - 1, margin..width - margin) + y = map1d(j, 0..m - 1, margin..height - margin) + dx = 20.0 * periodic_function(t - offset(x, y), 0, x, y) + dy = 20.0 * periodic_function(t - offset(x, y), 123, x, y) + point(x + dx, y + dy) + end + # save_frame('fr###.gif') if frameCount <= NUM_FRAMES + return unless frame_count == NUM_FRAMES + + # puts('All frames have been saved') + stop + end + + def settings + size 500, 500 + end +end + +Etienne.new diff --git a/data/henon_2.0000.jpg.tif b/data/henon_2.0000.jpg.tif deleted file mode 100644 index 90c1a7006a0084cde5c22620c9a9f9c367375e44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 750768 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

i$=1;PyNf_SyAxC~)#1^o@aKunAeADA|DT!UZ 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 IK}O*J2fc#kVE_OC diff --git a/data/wovns.png b/data/wovns.png deleted file mode 100644 index 88fced46c7363e45f9e95a4f7bbe4ec0fddf610a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61615 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 diff --git a/demo/terreno.rb b/demo/terreno.rb index a3a7ab8..6ae86e4 100644 --- a/demo/terreno.rb +++ b/demo/terreno.rb @@ -1,3 +1,4 @@ +#!/usr/bin/env jruby require 'picrate' #Terreno @@ -27,7 +28,7 @@ def draw for y in 0..@filas xoff = 0 for x in 0..@col - @terreno["#{x}.#{y}"]= p5map noise(xoff,yoff), 0, 1, -65, 65 + @terreno["#{x}.#{y}"]= map1d tnoise(xoff,yoff), -1.0..1.0, -65..65 xoff += 0.2 end yoff += 0.2 @@ -47,14 +48,6 @@ def draw end_shape(CLOSE) end end - - def mouse_pressed - noise_mode NoiseMode::FAST_TERRAIN - end - - def mouse_released - noise_mode NoiseMode::SMOOTH_TERRAIN - end end Terreno.new diff --git a/external_library/gems/geomerative/library/f_agent/f_agent.rb b/external_library/gems/geomerative/library/f_agent/f_agent.rb index 70fed58..df4431c 100644 --- a/external_library/gems/geomerative/library/f_agent/f_agent.rb +++ b/external_library/gems/geomerative/library/f_agent/f_agent.rb @@ -12,18 +12,20 @@ def initialize(loc:, increment:) def motion @offset += increment - loc.dist(Vec2D.new(noise(offset.x) * width, noise(offset.y) * height)) + hw = width / 2 + hh = height / 2 + loc.dist(Vec2D.new((noise(offset.x) + 1) * hw, (noise(offset.y) + 1) * hh)) end def display(xr:, yr:, m_point:) no_stroke - fill(255, 73) - dia = (150 / m_point) * 5 + fill(255, 100) + dia = (150 / m_point) * 7 # to get weird non-deterministic behaviour of original, created by use of # negative inputs to a random range surely not intended, use original:- # ellipse(loc.x + random(-xr, xr), loc.y + random(-yr, yr), dia, dia) - xr *= -1 if xr < 0 # guards against an invalid hi..low range - yr *= -1 if yr < 0 + xr *= -1 if xr.negative? # guards against an invalid hi..low range + yr *= -1 if yr.negative? ellipse(loc.x + rand(-xr..xr), loc.y + rand(-yr..yr), dia, dia) end end diff --git a/external_library/gems/geomerative/library/font_agent/font_agent.rb b/external_library/gems/geomerative/library/font_agent/font_agent.rb index 1267270..1890260 100644 --- a/external_library/gems/geomerative/library/font_agent/font_agent.rb +++ b/external_library/gems/geomerative/library/font_agent/font_agent.rb @@ -11,9 +11,9 @@ def initialize(location:) def motion noise_scale = map1d(mouse_x, (0..width), (0.001..0.01)) - noise_z = map1d(mouse_x, (0..height), (frame_count * 0.0003..frame_count * 0.02)) + noise_z = map1d(mouse_y, (0..height), (frame_count * 0.0003..frame_count * 0.02)) noise_vector = loc * noise_scale * noise_z - @mot = noise(noise_vector.x, noise_vector.y) * 53 + @mot = (noise(noise_vector.x, noise_vector.y) + 1) * 26.5 end def display(step:) diff --git a/external_library/gems/geomerative/picrate_merge.rb b/external_library/gems/geomerative/picrate_merge.rb index 94f983a..5518742 100644 --- a/external_library/gems/geomerative/picrate_merge.rb +++ b/external_library/gems/geomerative/picrate_merge.rb @@ -52,8 +52,8 @@ def setup def draw background(0, 50) - displace_x = noise(xoff) * width - displace_y = noise(yoff) * height + displace_x = (noise(xoff) + 1) * width / 2 + displace_y = (noise(yoff) + 1) * height / 2 @xoff += x_inc @yoff += y_inc translate(width / 2, height / 1.7) diff --git a/external_library/gems/geomerative/typo_extra_bright.rb b/external_library/gems/geomerative/typo_extra_bright.rb index b961922..4abd92e 100644 --- a/external_library/gems/geomerative/typo_extra_bright.rb +++ b/external_library/gems/geomerative/typo_extra_bright.rb @@ -1,3 +1,4 @@ +#!/usr/bin/env jruby require 'picrate' require 'geomerative' diff --git a/external_library/gems/geomerative/typo_merge.rb b/external_library/gems/geomerative/typo_merge.rb index d275c6c..b0c219f 100644 --- a/external_library/gems/geomerative/typo_merge.rb +++ b/external_library/gems/geomerative/typo_merge.rb @@ -23,7 +23,6 @@ # http://www.ricardmarxer.com/geomerative/ # # More info on these tutorials and workshops at : -# www.freeartbureau.org/blog # # Adapted for picrate by Martin Prout ####################### @@ -52,8 +51,8 @@ def setup def draw background(0, 50) - displace_x = noise(xoff) * width - displace_y = noise(yoff) * height + displace_x = (noise(xoff) + 1) * width / 2 + displace_y = (noise(yoff) + 1) * height / 2 @xoff += x_inc @yoff += y_inc translate(width / 2, height / 1.7) diff --git a/external_library/gems/pbox2d/lib/surface.rb b/external_library/gems/pbox2d/lib/surface.rb index 96bcb0f..6e3146a 100644 --- a/external_library/gems/pbox2d/lib/surface.rb +++ b/external_library/gems/pbox2d/lib/surface.rb @@ -24,9 +24,9 @@ def initialize(app) # Doing some stuff with perlin noise to calculate a surface that points # down on one side and up on the other if x > width / 2 - @y = 100 + (width - x) * 1.1 + map1d(noise(xoff), (0..1.0), (-80..80)) + @y = 100 + (width - x) * 1.1 + map1d(SmoothNoise.noise(xoff), (-1.0..1.0), (-80..80)) else - @y = 100 + x * 1.1 + map1d(noise(xoff), (0..1.0), (-80..80)) + @y = 100 + x * 1.1 + map1d(SmoothNoise.noise(xoff), (-1.0..1.0), (-80..80)) end # Store the vertex in screen coordinates surface << Vec2.new(x, y) diff --git a/library/vecmath/vec3d/terrain.rb b/library/vecmath/vec3d/terrain.rb index 93465a6..7f79f54 100644 --- a/library/vecmath/vec3d/terrain.rb +++ b/library/vecmath/vec3d/terrain.rb @@ -1,20 +1,31 @@ +#!/usr/bin/env jruby require 'picrate' +# Alternative to using array or string as key +Key = Struct.new(:x, :y) do + def eql?(key) + return false unless key.y == y + key.x == x + end +end +# The propane sketch press mouse to use SimpleNoise class Terrain < Processing::App - WIDTH = 1_400 - HEIGHT = 1_100 + WIDTH = 1400 + HEIGHT = 1100 SCL = 30 - attr_reader :terrain, :rows, :columns, :mover + attr_reader :terrain, :rows, :columns, :mover, :smth def settings size 800, 800, P3D end def setup + sketch_title 'Terrain' @columns = WIDTH / SCL @rows = HEIGHT / SCL @terrain = {} @mover = 0 + @smth = false end def draw @@ -24,7 +35,11 @@ def draw (0..rows).each do |y| xoff = 0 (0..columns).each do |x| - terrain[hash_key(x, y)] = Vec3D.new(x * SCL, y * SCL, map1d(noise(xoff, yoff), 0..1.0, -65..65)) + if smth + terrain[Key.new(x, y)] = Vec3D.new(x * SCL, y * SCL, map1d(SmoothNoise.tnoise(xoff, yoff), -1.0..1.0, -65..65)) + else + terrain[Key.new(x, y)] = Vec3D.new(x * SCL, y * SCL, map1d(tnoise(xoff, yoff), -1.0..1.0, -65..65)) + end xoff += 0.2 end yoff += 0.2 @@ -37,20 +52,19 @@ def draw (0...rows).each do |y| begin_shape(TRIANGLE_STRIP) (0..columns).each do |x| - terrain[hash_key(x, y)].to_vertex(renderer) - terrain[hash_key(x, y.succ)].to_vertex(renderer) + terrain[Key.new(x, y)].to_vertex(renderer) + terrain[Key.new(x, y.succ)].to_vertex(renderer) end end_shape end end - private - - # HACK should be safe here - def hash_key(x, y) - WIDTH * y + x + def mouse_pressed + @smth = !smth end + private + def renderer @renderer ||= GfxRender.new(self.g) end diff --git a/library/vector_utils/fibonacci.rb b/library/vector_utils/fibonacci.rb index afcf348..6b07bcc 100644 --- a/library/vector_utils/fibonacci.rb +++ b/library/vector_utils/fibonacci.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: true +#!/usr/bin/env jruby require 'picrate' require 'arcball'