# WCCC_Drive

# HyperDriveInstallation

For this week's **Creative Code challenge** by @sableRaph: *<mark>“Drive”</mark>*, ***HyperDriveInstallation*** is created as a representation of what a Hyperdrive could be. Done by using the *Primary Ion Drive Object* from **ThreeJs** within The **Locomotion** code and another object made in **Desmos**, **HydraVideoSynth** and glitch effects to mimic portions of the Hyperdrive and a **SonicPi** composition to add an audio layer.

## Poem

```haskell
Hyper Drive
Beyond the Speed
The Speed of Light
For this is A speed
That is beyond the Reach of Sight
As it impedes
To feel its stride
To feel alive
```

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

## Code

### Desmos

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1753754606864/08d559ce-2528-461d-861f-48ff92a71224.png align="center")

### Locomotion

```haskell
b n = dancer {url = "https://threejs.org/examples/models/gltf/PrimaryIonDrive.glb",dur = 3.5, rx = range n n*45,lz = n * 5, ry = n +  range 10  260 (osc n * 0.215 / 10), x = n - (3) * 3,animation = [n,0.25, n + (-2),0.5,n*3,07.5,n*2.1], size = n/15};
for [0..15] b;


c n = dancer {url= "https://threejs.org/examples/models/gltf/PrimaryIonDrive.glb", animation = [9,1,2,1,9,4,1], dur = 8.5 / n, size = range -2 2 (osc 0.015), x =  range -6 - 2 (osc 0.15), y = -1, z = -4, sy = 2 / n, sz = 4, ry = 90, rz = 135, rx = 75};

for [0..25] c;


d n = dancer {url= "https://threejs.org/examples/models/gltf/PrimaryIonDrive.glb", animation = [9,1,2,1,9,4,1], dur = 8.5 / n, size = range -1 1 (osc 0.015), x =  range -6 6 (osc 0.15), y = 1, z = -4, sy = 2 / n, sz = 4, ry = 90, rz = 135, rx = -75};

for [0..25] d;
```

### HydraVideoSynth

```javascript

src(s0).repeat(3,2).modulateRotate(src(s0).scale(0.75).diff(noise([0.15,0.85].smooth(),0.15,0.15))).out()

speed = 0.175
```

### SonicPi

```ruby
live_loop :innersoul do
  use_random_seed Time.now.to_i / 3
  with_fx :ping_pong, mix: rrand(0.25,0.76) do
    with_fx :echo do
      use_bpm 40
      sample [:drum_bass_soft,:elec_beep].choose,rate: [0.5,1,-1,-0.5].choose, beat_stretch: [3.6,1,2].choose
    end
    sleep [0.5,1,2,4,8,12,16].choose
  end
end


live_loop :outersoul do
  use_random_seed Time.now.to_i / 2
  with_fx [:echo,:ixi_techno].choose, mix: rrand(0,0.75) do
    use_bpm 120
    sample [:ambi_glass_hum,:perc_snap2].choose,rate: [0.5,1,-1,-0.5].choose, beat_stretch: [3.6,1,2].choose
  end
  sleep [0.25,0.5,1,2,4].choose
end

live_loop :voicesofOthers do
  use_random_seed Time.now.to_i / 4
  with_fx :vowel, voice: dice(4) do
    use_bpm [90,270,135,6].choose
    sample [:ambi_glass_hum,:perc_snap2].choose,rate: [0.5,1,-1,-0.5].choose, beat_stretch: [3.6,1,2].choose
  end
  sleep [0.25,0.5,1].choose
end
```
