Skip to main content

Command Palette

Search for a command to run...

WCCC_Orbits

Orbits, Math & Glitch

Updated
3 min read
WCCC_Orbits

OrbitalMashUp

For this week's Creative Code challenge by @sableRaph: " Orbits”, OrbitalMashUp envisions a solar system where the orbits aren’t quite aligned. Coded with LiveCodeLab & HydraVideoSynth with its soundtrack coded in SonicPi.

Poetry

Planets Packaging
Their stars and orbits
To the other galaxies
Altering their extremities
To finalise the proximities 
That they are not bounded to keep
Or seek
The orbits are the culprits
In the clashing of the galaxies
And what is it,
That they really want to be able to see

Video

Code

LiveCodeLab

simpleGradient color((time % 30)*7 + 24,abs(sin(time) * 244),(cos(time) * cos(time)) * 255), color(255 - (time % 45 * 5),200/time % 12 + 1,155),color(154 + time % 30 * 2,155 - sin(time)* 50,tan(time)/sin(time) - 0.2)

if time % 6 > 3
    animationStyle motionBlur

if time % 30 > 20
    simpleGradient color(154 + time % 30 * 2,155 - sin(time)* 50,tan(time)/sin(time) - 0.2),pink,orange
if time % 30 < 10
    simpleGradient aqua,color((time % 30)*7 + 24,abs(sin(time) * 244)),blue
if time % 30 < 20 && time % 30 > 10
    simpleGradient color((time % 30)*7 + 24,abs(sin(time) * 244),(cos(time) * cos(time)) * 255), color(255 - (time % 45 * 5),200/time % 12 + 1,155),color(154 + time % 30 * 2,155 - sin(time)* 50,tan(time)/sin(time) - 0.2)



if time % 15 > 10
    ambientLight 100,20,200
    fill color((time % 30)*7 + 24,abs(sin(time) * 244))
    stroke yellow

if time % 15 < 5
    ambientLight 255,255,0
    fill orange
    stroke color((time % 30)*8 + 24,abs(sin(time) * 244))

if time % 15 < 10 && time  % 15 > 5
    ambientLight 200,125,90
    fill color(154 + time % 30 * 2,155 - sin(time)* 50,tan(time)/sin(time) - 0.2)
    stroke color(154 + time % 30 * 2,155 - sin(time)* 50,tan(time)/sin(time) - 0.2)


if time % 12 > 6
    rotate (time % 4 + 1)/9,(time % 4 + 1)/9,(time % 4 + 1)/9 
    move (time % 12 +1)/12
else
    move (time % 12 +1)/12,(time % 12 +1)/12,(time % 12 +1)/12
    rotate sin(time),cos(time),tan(time)

ball

resetMatrix // Reset here to keep the upper Portion and Lower Portion seperate

pushMatrix
rotate time, sin(time) * sin(time), Math.hypot((time % 6), sin(time))

pushMatrix // bookmark the position after the rotation
move (sin(time)*0.5) * (sin(time)*2), tan(time) /12
ball 0.75
move 0.5, 0, 0

pushMatrix
move ((sin(time)*0.5) * (sin(time)*2)), tan(time) /12 * -1
ball 0.25
popMatrix

popMatrix 
move -0.5, 0, 0
ball
resetMatrix // resets the position
rotate time, sin(time) * sin(time), Math.hypot((time % 6))
scale sin(time) * sin(time) / 2, time % 3 + 1, time % 3 + 1
ball

popMatrix

HydraVideoSynth

s0.initScreen()

src(s0).scale(1.5).repeat(2,1).modulateScale(src(s0).pixelate(50,100).scrollX([0.25,-0.15,0.05])).
scrollY([0.15,-0.13,0.05]).out()

SonicPi

live_loop :dosage do
  use_bpm 20
  use_random_seed (Time.now.to_i)/2
  with_fx [:echo,:wobble,:krush].choose, mix: rrand(0.25,0.55) , amp: 1 do
    sample [:ambi_drone,:ambi_glass_hum,:elec_fuzz_tom,:elec_beep].choose,beat_stretch: [1,0.5,0.8].choose, rate: [0.5,0.4,0.3,0.2,0.3,0.4].tick
    sleep [0.5,1,2].choose
  end
end

sample

live_loop :bell do
  with_fx [:ixi_techno,:flanger,:ping_pong].choose, mix: rrand(0.2,0.7) do
    use_random_seed (Time.now.to_i)
    use_bpm [120,80,220].choose
    sample [:perc_bell,:elec_bell,:loop_electric].choose, rate: (rrand 0.125,1.85)
    sleep rrand(0.2,2)
  end
end



live_loop :rollback2 do
  #making true random as it goes with the actual time
  #then using the Math.cbrt to make it a different seed ratio then the above function
  use_random_seed Math.cbrt(Time.now.to_i)
  use_bpm 45
  puts Time.now.to_i
  with_fx [:echo,:whammy,:distortion].choose, mix: rrand(0.1,0.6) do
    with_fx [:ping_pong,:distortion,:krush].choose, mix: rrand(0.1,0.9) do
      sample [:perc_swoosh,:perc_swoosh,:perc_snap].choose ,beat_stretch: [1,2,3,0.5].tick, sustain: 4, rate: Math.sqrt(dice(25) + 1)/3
      sleep [0.5,1,2,4,8].choose
    end
  end
  sleep [0.5,1,2].choose
end


live_loop :rollback3 do
  #making true random as it goes with the actual time
  #then using the Math.cbrt to make it a different seed ratio then the above function
  use_random_seed Math.cbrt(Time.now.to_i)
  use_bpm [45,90,90,90,135].tick
  puts Time.now.to_i
  with_fx [:echo,:whammy,:distortion,:pitch_shift].choose, mix: rrand(0.1,0.6) do
    with_fx [:ping_pong,:distortion,:krush].choose, mix: rrand(0.1,0.9) do
      sample [:loop_mehackit1,:perc_swoosh,:glitch_robot2,:glitch_robot1].choose ,beat_stretch: [1,2,3,0.5].tick, sustain: 4, rate: Math.sqrt(dice(25) + 1)/3
      sleep [0.5,1,0.25].choose
    end
  end
  sleep [0.5,1,2].choose
end

WCCChallenge

Part 25 of 50

Submissions to the WCCChallenge

Up next

WCCC_Creatures

Blobs are ???