# WCCC_ExperimentalTypography

# **UnLurkingHaiku**

For the 16th day of **NaPoWriMo/ NaPoGenMo 2024**, ***“Lurking Haiku”*** is Coded with **Locomotion & SonicPi.** To give motion and feeling to the Haiku written. - [https://blog.illestpreacha.com/napogenmo-2024-movinghaikus](https://blog.illestpreacha.com/napogenmo-2024-movinghaikus)

For this week's Creative Code challenge by @sableRaph: \*“\*Experimental Typography”, **UnLurkingHaiku** remixes the **Lurking Haiku** with modifications through the code alongside **HydraVideoSynth** coded modifications to explore an experimental dimension of the **poem.**

## Poem

```javascript
Linking Quietly
Wherever the Dreams may Lead
As they Continue
```

## Video

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

## Code

### Locomotion

```haskell
point {color = 0x5005A7, x = 0, sx = range -5 5 (osc 0.5), y = range -3 3 (osc 2), z = 4};
directional { colour=0xf00f80, intensity = range 0 2 (osc 0.5), z = range 0 17 (osc 1), y = 10, x = range -6 6 (osc 1.4) };


b n = dancer {url = "https://raw.githubusercontent.com/IllestPreacha/CreativeDataStuff/8f284bda83b0a6f57920cef8d00187aec69494cb/3Dmodel/Haiku_3D.glb", 
size =  ((n +8)/5) + 6, y = range 4 -4 (osc 0.15), 
x = 0 + (n/5 + 1),sz = range 5 -5 (osc 0.025),sy = range 5 -5 (osc 0.025),sx = range 5 -5 (osc 0.025),  z = range -5 5 (phase 1 (n/50) * 2 + (-2)), rx = n * 23.7};
for [0..5] b;

b n = dancer {url = "https://raw.githubusercontent.com/IllestPreacha/CreativeDataStuff/8f284bda83b0a6f57920cef8d00187aec69494cb/3Dmodel/Haiku_3D.glb", 
size =  ((n +8)/5) + 6, y = range 4 -4 (osc 0.15) * 2, 
x = 0 + (n/5 + 1) * 2,sz = range 5 -5 (osc 0.025),sy = range 5 -5 (osc 0.025),sx = range 5 -5 (osc 0.025),  z = range -5 5 (phase 1 (n/50) * 2 + (-2)), rx = n * 23.7};
for [0..5] b;
```

### Hydra

```javascript
s0.initScreen()

src(s0).modulateRotate(s0).modulateScale(src(s0).repeat([1,2,3,2,1],[2,3,2,1,2]).
pixelate([50,500,50,5000],[5,1000,50,5000,50000])).colorama(()=> (time % 10 + 1)/10).out()
```

### SonicPi

```ruby
def Sine_ing(looping,samp1,samp2,samp3)
  use_random_seed Time.now.to_i / 3
  rangeFul = (0..17).to_a.shuffle() #shuffling a range of numbers from 0 to 17 into an array
  #setting counters
  i = 0
  j = rangeFul.length()
  
  #setting the live loop
  live_loop looping do
    use_random_seed Time.now.to_i / 2
    with_fx :echo, mix: Math.sin(j).abs do
      with_fx :distortion,mix: Math.sin(i).abs do
        #If the sin makes the number a negative
        if Math.sin(rangeFul[i]) > 0
          sample [samp1,samp3].choose,rate: Math.sin(rangeFul[i])
        end
      end
    end
    
    
    with_fx :ping_pong, mix: Math.sin(i).abs do
      #If the sin makes the number a positive
      if Math.sin(rangeFul[i]) >  0
        sample [samp2,samp3].choose
      end
    end
    
    with_fx :ixi_techno, mix: Math.sin(j).abs do
      with_fx :vowel, mix: Math.cos(j).abs do
        #If the sin makes the number 0
        if Math.sin(rangeFul[i]) == 0
          sample [samp1,samp2].choose
        end
      end
    end
    
    
    i += 1
    
    if i >= rangeFul.length()
      i = 0
    end
    
    j -= 1
    
    if j <= 0
      j = 0
    end
    
    sleep [Math.sin(i).abs + 0.25,Math.sin(j).abs + 0.25].choose #to avoid the issue with zero
    
  end
end

sample

Sine_ing(:SineFul,:tabla_ghe5,:drum_bass_soft,:elec_blip)
Sine_ing(:SineFul2,:ambi_dark_woosh,:perc_snap2,:glitch_perc5)
Sine_ing(:SineFul3,:ambi_piano,:ambi_haunted_hum,:vinyl_backspin)
Sine_ing(:SineFul4,:elec_blip,:glitch_perc5,:vinyl_backspin)
```
