Kofi / Illestpreacha
Code is Poetry & Data is Poetry

Follow

Code is Poetry & Data is Poetry

Follow
WCCChallenge: HyperSpace

WCCChallenge: HyperSpace

HyperSpaceHyperDrive - No Shadows

Kofi / Illestpreacha's photo
Kofi / Illestpreacha
·Dec 4, 2022·

3 min read

What Replaces Shadows?

For this week's Creative Code challenge by @sableRalph : HyperSpace, I decided to have colours play with their shadow companion via SonicPi

The picture above was made with Pixray in April with the following prompt :

"The Winter Spoke as the Summer Froze"

Which lead into

The Winter Spoke as the Summer Froze
The Summer moved as its will was told
For the speed of light
Was already a distance back
And the directions of left and right
To describe the movements were starting to lack
As it had directions beyond up and down
For the places, it was going, were devising new sounds
New ways to get around

When thinking of this quote, I decided that my approach to this creative code challenge will take the concept of HyperSpace from the following excerpt:

"While generally associated with science fiction, hyperspace-like concepts exist in some works of fantasy, particularly ones which involve movement between different worlds or dimensions. Such travel, usually done through portals rather than vehicles, is usually explained through the existence of magic." - https://en.wikipedia.org/wiki/Hyperspace

During last week's creative Code challenge: Shadow Math, where I implemented the following equation: Length = height / tan(angle) to get the shadow of colours to come through. I realized that if something is moving faster than the speed of light, then it shouldn't be casting a shadow.

Last Week - Shadow Math of Forest Green

IllestPreacha · ForestGreen

#Forest Green
ForestGreen = [34,139, 34]

with_fx :ixi_techno do
  live_loop :forestGreen do
    i = 0
    use_synth :pretty_bell
    play ForestGreen[i] ,release: 3
    sleep [0.5,1,2].choose
    if i < 4
      i+= 1
    end
  end
end

#Shadow of Forest Green
with_fx :ixi_techno do
  live_loop :forestGreenShadow do
    i = 0
    use_synth :pretty_bell
    play ForestGreen[i]/Math.tan(70) ,release: 3
    sleep [0.25,0.5,1,2].choose
    if i < 4
      i+= 1
    end
  end
end

Shadow Math into HyperSpace Shadow Math

As hyperspace deals with teleportation and potential movement across universes, the following adjustments to the previous code will be made

  • An increase of bpm between 300 to 500 will reflect the sudden change in velocity

  • Since teleportation involves two points as well as hyper travelling, I will be estimated that 3 shadows can appear/disappear at the time

  • The entry point of this transportation will be handled by a Hydra Sketch: Portal Entry

osc(20, ()=> Math.cos(time)/ 89 + 0.1, ()=> Math.sin(time % 17) + 0.2).colorama(()=> (time % 10)/9 + 0.02).kaleid([11,4,5,6,5,4,3,45]).diff(osc(20, 0.001, 2).rotate(()=> time % 360)).blend(o0, [0.94,0.75,0.31]).modulateScale(osc(10, 0),-0.03).scale(()=> (time % 11)/9 + 0.2, () => (1.05 + 0.1 * Math.tan(0.05*time))).out(o0)



speed = 0.89



#HyperSpace Shadow Math
ForestGreen = [34,139, 34]


with_fx :ixi_techno do
  live_loop :forestGreenShadow do
    i = 0
    use_bpm 400
    use_synth :pretty_bell
    play ForestGreen[i]/Math.tan(70),release: 3
    play ForestGreen[i]/Math.tan(120),decay: 3
    play ForestGreen[i]/(Math.tan(47)).abs,sustain: 3
    sleep [0.25,0.5,1,2].choose
    if i < 4
      i+= 1
    end
  end
end

Brown + Shadow + Hyperspace

#Brown, Brown Shadow + HyperSpace Brown Shadow

Brown = [165, 42, 42]



with_fx :vowel do
  live_loop :Brown do
    i = 0
    use_synth :dull_bell
    play Brown[i] ,release: 3
    sleep [0.5,1,2].choose
    if i < 4
      i+= 1
    end
  end
end




#shadow length component

with_fx :whammy do
  live_loop :BrownShadow do
    i = 0
    use_synth :dull_bell
    play Brown[i]/Math.tan(70) ,release: 3
    sleep [0.25,0.5,1,2].choose
    if i < 4
      i+= 1
    end
  end
end

with_fx :whammy do
  live_loop :BrownHyperSpaceShadow do
    i = 0
    use_bpm 450
    use_synth :dull_bell
    play Brown[i]/Math.tan(70) ,release: 3
    play Brown[i]/Math.tan(120),decay: 3
    play Brown[i]/(Math.tan(47)).abs,sustain: 3
    sleep [0.25,0.5,1,2].choose
    if i < 4
      i+= 1
    end
  end
end
 
Share this