WCCChallenge_WhyisTheSkyBlue

WCCChallenge_WhyisTheSkyBlue

Inversion shall occur

BlueSkiesYellowGrounds

For this week's Creative Code Challenge by @sableraph : Why is the Sky Blue, I decided to make BlueSkiesYellowGrounds, "Why Isn't The Ground Yellow".

This week the languages used are Locomotion for the Visuals, Hydra for the visual effects and SonicPi for the sound.

Inversion Process

The name comes from the inversion of the sentence: Why is the sky Blue

  1. Why then becomes Why Isn't

  2. The Inverse of the sky(ceiling) is the ground(floor)

  3. Blue in RGB is (0,0,1)*. When Inverted it becomes **Yellow (1,1,0)*

  4. Therefore the inversion of the sentence becomes: Why isn't the Ground Yellow?

  5. In the LiveCodeLab background, this will be shown by having the upper gradient as Skyblue and the lower gradient as Yellow

  6. With the Inversion methodology, I decided to inverse the gravitational principles of the world, to take into account that we may have no gravity in this world-building.This will be represented by floating blocks in LiveCodeLab as they mimic the flight of pollination

  7. There will be an inversion of flora as well. Plants are commonly associated with the color Green (0,1,0). In this inverted world**, they** will now be Magenta/Fuschia (1,0,1). Hydra Will be used to alter the green into magenta by remixing last week's submission for succulents: https://blog.illestpreacha.com/wccchallengesucculent

  8. The sounds are coded in SonicPi using a concept of shadow maths and colour shuffling, where in this case the sounds are made through the values of different yellows. As well as their shadow/shuffle counterparts to add variance to the soundscape. So when watching, you are experiencing the yellows as colors and sounds.

Poem

Why is the Sky blue?
Can the clouds be any shade 
and not  monochromatic?
Why isn't the ground a Yellowish Hue?
How are the Clouds, not the texture, we choose?
As the pollinators decide which path should be made
It could be sometimes, the decision is automatic
But still, why is the Sky Blue?

Video

Code

Hydra

s0.initScreen()

//Recording 1
src(s0).invert(2).rotate(180).repeat(2,2).out()

//Recording 2
src(s0).invert(2).rotate(180).out()

LiveCodeLab

simpleGradient skyblue,green,yellow

turns = 17 - wave()
detail = time % 7
speed = 0.4 - sin(wave(0.013))
scale 0.4 - sin(time) * 0.5

rotate Math.sqrt(time % 14),Math.cbrt(sin(time %7)),1


detail times with i
    rotate 0, 0, (2 * pi) / detail
    move cos(time), Math.cbrt(time % 14), Math.hypot((time % 2), (time % 2))
        rotate (turns * i * pi) / detail + (time * speed), 0, 0
            rect 0.5
        fill green 
            ambientLight 10,30,30
            noStroke
            box 0.3

Locomotion

--front row cacti
dancer { url="cactus.glb",animation = 7, size = 4.5, x = range 5 -5 (osc 0.5), y = -11 };
dancer { url="cactus.glb",animation = 5, size = 4.5, x = range 5 -5 (osc 0.25), y = -11 };
dancer { url="cactus.glb",animation = 4, size = 4.5, x = range 5 -5 (osc 0.45), y = -11 };

--back row enlarged
dancer { url="cactus.glb",animation = 3, size = 1.5, x = 3 };
dancer { url="cactus.glb",animation = 5, size = 1.5, x = -3 };
dancer { url="cactus.glb",animation = 7, size = 1.5, x = -6 };

--left size oves
dancer { url="cactus.glb",animation = 4, size = 3.5, x = -2, ly = range -3 3 (osc 2), size= 0.5, lz = range -3 3 (osc 2), size= 0.5};
dancer { url="cactus.glb",animation = 3, x = -2, z = -2,rz = range -5 5 (osc 0.2), ry = range -5 5 (osc 0.5), ly = range -3 3 (osc 2), size= 0.5 };

-- right side moves
dancer { url="cactus.glb",animation = 7, size = 3.5, x = 5, ly = range -3 3 (osc 2), size= 0.5, lz = range -3 3 (osc 2), size= 0.5};
dancer { url="cactus.glb",animation = 6, x = -2, z = 5,rz = range -5 5 (osc 0.2), ry = range -5 5 (osc 0.5), ly = range -3 3 (osc 2), size= 0.5 }

SonicPi

#Color +Shadows
#RGB Values + XYZ

#ShadesofYellow [R,G,B, X, Y, Z]



# Gold : 255, 215, 0,65.541, 69.864, 10.033
# Mustard : 255, 219, 88, 68.334, 72.63, 19.652
# Lemonchiffon : 255, 250, 205,86.443, 94.04, 71.352

#shadow length equation is Length = height / tan(angle)


#Creating Arrays
Gold = [255, 215, 0,65.541, 69.864, 10.033]
Mustard = [255, 219, 88, 68.334, 72.63, 19.652]
Lemonchiffon = [255, 250, 205,86.443, 94.04, 71.352]



with_fx :ixi_techno do
  live_loop :yellow do
    i = 0


    with_fx :whammy, mix: rrand(0.1,0.3) do
      use_synth :pretty_bell
      play (Gold[i] + Mustard[i])/5 ,release: 3
      play Gold[i] + 2 ,release: 3
    end


    with_fx :ping_pong, mix: rrand(0.3,0.75) do
      use_synth :chiplead
      play (Lemonchiffon[i] + Mustard[i])/5 ,release: 3, decay: dice(4)
    end

    sleep [0.5,1,2].choose
    if i < 7
      i+= 1
    end
  end
end

live_loop :yellowshuffle do

  GoldShuffle = Gold.shuffle()
  MustardShuffle = Mustard.shuffle()
  LemonchiffonShuffle = Lemonchiffon.shuffle()

  i = 0


  with_fx [:ixi_techno,:whammy,:flanger].choose , mix: rrand(0.2,0.3) do
    use_synth [:pretty_bell,:piano].choose
    play (GoldShuffle[i] + MustardShuffle[i])/4 ,release: 3
    play Math.lgamma(GoldShuffle[i]/5 + 2),release: 3
  end

  with_fx :gverb, amp: dice(2), mix: rrand(0.2,0.6) do
    with_fx :ping_pong, mix: rrand(0.3,0.75) do
      use_synth [:piano,:chiplead].choose
      play (LemonchiffonShuffle[i] + MustardShuffle[i])/5 ,release: 3, decay: dice(4)
    end
  end


  sleep [0.5,1,2,Math.cbrt(GoldShuffle[i] + 2)].choose

  if i < 7
    i+= 1
  end
end


#shadow length component
with_fx :ixi_techno do
  live_loop :yellowshadow do
    i = 0

    with_fx :ping_pong, mix: rrand(0.2,0.9) do
      with_fx :pitch_shift, mix: rrand(0.2,0.3) do
        use_synth :piano
        play (Gold[i] + 1/Math.cbrt(70)).abs + (Mustard[i]/Math.hypot(70,10)).abs/30  - 50,release: 3, sustain: 8
        sleep [0.25,0.5,1,2,4].choose
      end
    end

    if i < 7
      i+= 1
    end
  end
end