# WCCChallenge_CircleCreations

# PluriFormingCircles

For this week's Creative Code Challenge by @sableraph : ***Create a circle or a square in a new way,*** Circles were reimagined through ***"PluriFormingCircles"***

This week's languages are **Hydra, Livecodelab & SonicPi.** With an array of circles being made

## **Creation of Circles**

* Using **LiveCodeLab,** I was able to code circles out of boxes(cubes) and balls(spheres)
    
* Hydra was used to overlay the circles and then aided by additional overlayed sketches. This was to symbolize the creation of the circles and how the Pluriforming transformation can be visualized
    
* For the Audio, I remodified code that takes the area & circumference formulas for circles and sonifies them into a **SonicPi Composition**
    

## Poem

```javascript
Creation
Of these round entities
That seem to be always around
In either loops, plates
In many forms
Pluriforming them was not easy
Easy as a task but in the end
Able to transform into a new entity
imagination 
That breathe
That reads
Birth from the concept
Of the seed
That has intercepted
Into an ability
To create
Replicate
Instate
These shapes shall blend
Will attend
The futuristic realms, they tend
As they shall make
```

## Video

<iframe width="560" height="315" src="https://www.youtube.com/embed/IF3ybiArbrM"></iframe>

## Code

### LiveCodeLab

```javascript
turns = floor(time / 44) % 12
detail = 200 - ((time % 10) * 10)
speed = 3 - ((time % 40)/80)

if time % 10 < 5
	ambientLight 255, 255, 255

scale 0.3

background black
rotate time / 5

detail times with i
	rotate 0, 0, (2 * pi) / detail
	move 2, 0, 0
		rotate (turns * i * pi) / detail + (time * speed), 0, 0
		fill red
		box 1

detail times with i
	rotate 0, 0, (2 * pi) / detail
	move 2, 1, 2
		rotate cos(Math.hypot((time % 7 + 1)/5,(time % 9 * 10))), Math.sqrt(sin(time + 4)), tan(Math.cbrt(time % 15))
		fill color(time % 10 * 25, sin(wave(0.003) * 50))
		box 1


detail times with i
	rotate 0, 0, (2 * pi) / detail
	move 4, 1, 4
		rotate (turns * i * pi) / detail + (time * speed), 0, 0
			ball sin(time), cos(time), tan(time)/2
		fill orange
		box 1

detail times with i
	rotate 0, 0, (2 * pi) / detail
	move 1,Math.sqrt(time %7+2),1
		rotate sin(time),cos(time),sin(time % 6 + 1)
		fill grey
		box 1
```

### Hydra

```javascript
s0.initScreen()

src(s0).repeat(()=> (time % 40 + 1)/4).colorama(()=> (time % 10 + 1)/4).kaleid([1,2,3,4,3,2,1]).blend(src(s0)).blend(src(s0).rotate(180)).out()

speed = 0.25
```

### SonicPi

```ruby
#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,circumference/2], decay: rrand(1,4), amp: 2
        sample [:ambi_drone,:elec_beep].choose, beat_stretch: area / 80,amp: dice(5)
      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/2,circumference/3,circumference].choose, sustain: dice(3), amp: 2
        sample [:tabla_ghe2,:elec_pong,:drum_bass_hard].choose, rate: area / 100, attack: dice(5), amp: dice(5)
      end
    end
    sleep [0.25,0.5,1,2,4,8].choose
  end
  
end


circles1(2,:circle1)
circles2(4,:circle2)
circles2(5,:circle3)
circles1(7,:circle4)
circles2(9,:circle5)
circles1(12,:circle6)
```
