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)