WCCC_Tessellation

WCCC_Tessellation

Audiovisuals out of Grids and Square Roots

NightDayGriddage

For this week's Creative Code challenge by @sableRaph: "Tessellation ", NightDayGriddage is coded in Hydra & SonicPi wIth tessellation Through two grids and a wave effect.

Poem

Grids are growing
Flows are flowing
Flaws but glitchy
Glitchy and stitchy
Floating and gliding
Getting the wave and time in
Prosaic is what they asking
But poetic energy is what i am blasting

Video

Code

Hydra


voronoi([3,4,5,4,3,7].smooth(),[1,2,3,2,1].fit(),[5,0.5,3,1,3,5,7,1,0.5,8,22].smooth()).luma([0.5,0.3,0.1,0.2,0.1].smooth()).color(()=> (time % 40 + 1)/50).modulateKaleid
(voronoi(1,1,1).scrollX([0.6,0.3,0.1].smooth()).scrollY([0.3,0.2,0.1,0.2,0.1].smooth()),0.5).repeat([0.5,1,2].smooth(),[0.5,1,0.75].smooth()
).out()
shape(4,0,1).repeat(4,4).colorama(0.5).blend(shape(4,0,1).scale(1.5).repeat(3,3).colorama(0.3)).rotate(()=> (time % 10) * 0.15).
blend(shape(4,0,1).scale(1.55).repeat(15,15).colorama(0.5).rotate(()=> time / 30)).
modulateScale(voronoi([3,4,5,4,3,7].smooth(),[1,2,3,2,1].fit(),[5,0.5,3,1,3,5,7,1,0.5,8,22].smooth()).luma([0.5,0.3,0.1,0.2,0.1].smooth()).color(()=> (time % 40 + 1)/50).modulateRepeat
(voronoi(1,1,1).scrollX([0.6,0.3,0.1].smooth()).scrollY([0.3,0.2,0.1,0.2,0.1].smooth()),0.5).repeat([0.5,1,2].smooth(),[0.5,1,0.75].smooth()
)).out()

SonicPi


def ind(z)
  index = 0

  case index
  when 0
    y = 0
  when 1..100
    y = 0
  when 100..1600
    y = 10
  when 1600..10000
    y = 40
  when index > 10000
    y = 100
  else
    y = 0
  end

  # this will do a while loop to confirm the number that is a square root
  while index * index.to_f < z
    y = index * index
    index += 1
    use_random_seed Time.now.to_i * 1.5
    use_synth [:piano,:pretty_bell].choose
    play index * 5 / 2
    sleep [0.5,1,2].choose
  end

  return index

end


def my_sqrt(x)

  #this index will be the potential square root number
  under_sqr = ind(x)


  #if it is equal return the sqaure root, if not return it and - 1
  if (under_sqr * under_sqr == x)
    return under_sqr

  else
    return under_sqr - 1

  end
end

live_loop :does do
  use_random_seed Time.now.to_i * 2
  with_fx :ping_pong do
    my_sqrt(rrand(1000,10000))
  end

  sleep [0.5,1,2,4].choose
end

live_loop :does1 do
  use_random_seed Time.now.to_i
  with_fx :ixi_techno do
    my_sqrt(rrand(1000,10000))
  end

  sleep [0.5,1,2].choose
end

live_loop :does2 do
  use_random_seed Time.now.to_i * 4
  with_fx :ixi_techno do
    my_sqrt(rrand(1000,10000))
  end

  sleep [0.5,1,2].choose
end