MinaCoding_Circles

MinaCoding_Circles

ACirclifulRealm

ACirclifulRealm

Today's MinaCoding Prompt is Circles. I will be coding with LIvecodelab,BarbaraGraphics Hydra and SonicPi to make a CirclifulRealm.

  • Added a neon outline filter, so the circles can overlap and then an Oilpaint filter for texture

  • For the sound, I decided to use a previously coded piece that was made by adding various circumferences of circles to make the sound.

    • With some updated tweaks to the sound

Video

Poem ( Previously Written about circles)

CIrcles from many viewpoints
Where they intersect at multiple joints
For there are many screens and angles
Where they loop and tangle
As they slither and dangle
As they grow and huddle
As they roam and double

Code

Livecodelab

simpleGradient yellow,gold,blue

turns = time % 24 + 0.5 
detail = 200 + wave(3)
speed = 0.5 + wave(0.001)
ambientLight 255, 0, 0 
rotate time / 5
scale 0.3 + wave(0.12)
detail times with i
    rotate 2, 0, (2 * pi) / detail
    move 2, 0, 0
        rotate 0, (turns * i * pi) / detail + (time * speed), 0
        ball 1, 0.04 + (1 / detail)

BarbaraGraphics

circle rand-c color 270 rotate
circle rand-c color 180 rotate rand 25 0 translate
circle rand-c color 25 0 translate
circle rand-c color 180 rotate 0 25 translate
circle rand-c color 0 25 translate
circle rand-c color
circle 25 25 translate rand-c color
duplicate 180 rotate rand-c color
all repeat

Hydra

s0.initScreen()
s1.initScreen()

src(s1).modulateScale(src(s0).scrollX(0.5),0.6)


src(s0).modulateRotate(src(s0).repeat(3).kaleid([3,2,1,2,3])).mult(src(s0).diff(osc(20.273, 0.001, 0.541)).rotate(1.036)).pixelate([200,400],[400,800,1600,1000]).blend(s0, 0.799).scrollX(0.1,0.1).modulateScale(src(s0).scale(3, () => 1.05 + 0.1 * Math.sin(0.088 * time))).blend(s1).modulateKaleid(s1).out(o0);


frame = 30

speed = 0.5

SonicPi

#using 6 circles to make the sound


def circles1(radius,loop)

  circumference = 2 * Math::PI * radius
  area = Math::PI * (radius ** 2)

  live_loop loop do
    with_fx :ping_pong,mix: 0.75 do
      with_fx :gverb, damp: 0.5 do
        use_synth :piano
        play circumference, decay: rrand(1,4), amp: 2
        sample :ambi_drone, beat_stretch: area / 80,amp: dice(10)
      end
    end
    sleep [0.25,0.5,1,2,4,8].choose
  end

end

def circles2(radius,loop)

  circumference = 2 * Math::PI * radius
  area = Math::PI * (radius ** 2)

  live_loop loop do
    with_fx :ixi_techno,mix: 0.75 do
      with_fx :vowel, voice: dice(3) + 1 do
        use_synth :chipbass
        play circumference, sustain: dice(3), amp: 2
        sample :tabla_ghe2, rate: area / 100, attack: dice(5), amp: dice(10)
      end
    end
    sleep [0.25,0.5,1,2,4,8].choose
  end

end


circles1(7,:circle1)
circles2(8,:circle2)
circles2(9,:circle3)
circles1(10,:circle4)
circles2(11,:circle5)
circles1(12,:circle6)