# Mathober2024_Form

# FlowInGlow

For my fourth sketch of Mathober that is coded in **Hydra & SonicPi *, FlowinGlow*** will be using the 4th prompt of Mathober 2024: ***Form*** and 13th prompt: ***Cyclic Hexagon.*** ***FlowInGlow*** will be using various geometric ***“Forms”*** for the visuals and previously coded ***SonicPi*** Composition based on layering/modifying Hexagons post-code.

## Poetry

```ocaml
Forms
What are they?
What do they proclaim?
Is being in a form a necessary aim?
For yesterday, tomorrow or today?
Forms
```

## Video

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

## Code

### Hydra Code

```javascript
osc(1,3,1)
.diff(shape(4,1,1)).invert(2).luma(0.15).kaleid(()=> (time % 12) + 1)
.modulateScale(noise(1,0.5,3).kaleid(()=> (time % 12) + 1).repeat(4,4)).out()

speed = 0.15
```

### SonicPi Code

```ruby
#area of regular hexagon
#(3 * Math.sqrt(3) * s**2)/2


def hexagonarea(s)
  puts (3 * Math.sqrt(3) * s**2)/2
  return (3 * Math.sqrt(3) * s**2)/2
end

def hexagonperimeter(sides)
  return sides * 6
end


live_loop :hexasounds do
  use_random_seed (Time.now.to_i)/2
  #looping the area of hexagons which sides are between 1 and 9
  with_fx :distortion, mix: rrand(0.3,0.6) do
    use_synth [:piano,:chipbass].choose
    play hexagonarea([1,2,3,4,5,6,7,8,9].tick), pitch: hexagonperimeter([1,2,3].choose)
  end
  sleep [0.5,0.75,1,2].choose
end


live_loop :hexasounds2 do
  use_random_seed (Time.now.to_i)/3
  #looping the area of hexagons which sides are between 1 and 9
  with_fx :echo, decay: dice(3) do
    use_synth [:piano,:chipbass].choose
    play hexagonarea([1,2,3,4,5,6,7,8,9].choose), pitch: hexagonperimeter([1,2,3].tick)
  end
`  sleep (Time.now.to_i % 4 + 1)/1.5
end
```
