# WCCC_Tangram

# 5OutOf7

For this week's *Creative Code challenge by @sableRaph*: “**Tangram**”, ***5OutOf7*** coded in **LiveCodeLab, SonicPi & Hydra** explores a scenario where only 5 out of the 7 Tangram pieces are floating together in multiple realms.

## Poem

```javascript
Missing a couple pieces
That will make this Tangram seamless
Exploring to Find that Last two
To see what final shape, destiny will choose
```

## Video

%[https://youtu.be/yWOgSr4Tkzw] 

## **Code**

### LiveCodeLab

```javascript
move

scale 0.45

pushMatrix()
stroke black
rect 1.5
popMatrix()

pushMatrix()
move 5,-2.5, -2
stroke black
rect 1
popMatrix()


pushMatrix()
move -0.3,-2,-1
fill orange
rect 1
popMatrix()
```

### Hydra

```javascript

 
s0.initScreen()

src(s0).scale(1.2).repeat([1,2,3],[3,2]).modulateScale(src(s0).scale([0.25,0.75,1].smooth())).out()
```

### **SonicPi**

```ruby
live_loop :dosage do
  use_bpm 20
  with_fx :wobble, mix: 0.25 , amp: 1 do
    sample [:ambi_drone,:ambi_glass_hum].choose,beat_stretch: 1, rate: [0.5,0.4,0.3,0.2,0.3,0.4].tick
    sleep [0.5,1,2].choose
  end
end

with_fx :ixi_techno, mix: 0.2 do
  live_loop :bell do
    use_bpm [120,80,220].choose
    sample [:perc_bell,:elec_bell].choose, rate: (rrand 0.125,1.5)
    sleep rrand(0.2,2)
  end
end

live_loop :synth do
  with_fx [:flanger,:ixi_techno].choose, mix: 0.34 do
    sync :bell
    use_synth [:chiplead,:chipbass,:piano].choose
    play [50,75,100].choose , release: 0.1, sustain: dice(2), cutoff: rrand(60, 120) if spread(7,8).tick
    sleep [0.125,0.5,1,2].choose
  end
end

```
