# WCCChallenge_VeraMolnar

# 16PointsIn3D

For this week's Creative Code Challenge by @sableraph: **"Vera Molnar", 16Pointsin3D** takes inspiration from 3 Vera Molnar’s Pieces:

* ***16 points, 4 gris, (2ème vers) 1952-2007,***
    
* ***Serigraph &*** *Cinq + quatre/4,* ***1987–1999***
    
* ***Then reimagines them as a combined artwork***
    

**Coded in Locomotion and #SonicPi**

## **3D Process**

* Made a 3D Object to put in Locomotion
    
* The Scaling of the 16 objects seen in the Locomotion sketch follows the sizing and order of sizing seen in the artwork: [16 Points, 4 Gris](https://www.artnet.com/artists/vera-molnar/16-points-4-gris-2%C3%A8me-vers-1952-2007-A21ZCoqg5F5oDqZcBrc7og2)
    
* The Rotation seen is a speculative design on if the rotation in the work: Serigraph occurred in 3D while respecting the spacing in 16 points, 4 gris
    
* The overlapping that occurs is intentional as in pieces such as [Cinq + Quatre/4](https://www.artnet.com/artists/vera-molnar/cinq-quatre4-GWQAe6LQ8-M66_3xlGURuA2), there was a motif of having shapes overlap each other
    
* The sound coded in SonicPi reflects the various movement elements that were added to the piece
    

## **Poem**

```ocaml
Sixteen objects rotating
Different scaling
Different movements
For their different reflects
But in harmony, they rotate
Respective of each other space
As they are rotating and floating
As they have own each feeling
That should not be sealed in
```

## Video

<iframe width="560" height="315" src="https://www.youtube.com/embed/FBDLHzJrsNo?si=PAzeQ3jycBpqfNnn"></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/cdm8-9ebYmI?si=7Xad4o8Bsqaxq9YN"></iframe>

## Code

### Locomotion

```haskell
--grey background
clear { color= 0x51414F, alpha= 2.5 };

-- Triple Light Points
point {x = range 0 17 (osc 0.15), z = range 0 6 (osc 0.35) , intensity = range 8 35 (osc 0.15), color = 0x808080 };
point {x = range 0 17 (osc 0.15), z = range 0 6 (osc 0.35) , intensity = range 15 35 (osc 0.25), color = 0x808080 };
point {x = range 0 17 (osc 0.15), z = range 0 6 (osc 0.35) , intensity = range 20 45 (osc 0.25), color = 0x808080 };

-- upper row

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 5 10 (osc 0.15),ry = range 0 15 (osc 0.25),y = 10, z = -20, x = -20 };

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 10 16 (osc 0.15),ry = range 90 100(osc 0.25),y = 10, z = -20, x = -8};

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 10 16 (osc 0.15),rx = range 90 330 (osc 0.25),y = 10, z = -20, x = 4 };

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 19 26 (osc 0.15),ry = range 0 15 (osc 0.25),y = 10, z = -20, x = 14};


-- second row

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 3 7 (osc 0.15),rx = range 0 15 (osc 0.25),y = 5, z = -20, x = 18 };

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 19 26 (osc 0.15),ry = range 0 15 (osc 0.25),y = 5, z = -20, x = -8};

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 5 10 (osc 0.15),rz = range 90 330 (osc 0.25),y = 5, z = -20, x = 4 };

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 3 7 (osc 0.15),ry = range 90 100(osc 0.25),y = 5, z = -20, x = -21};


-- third row
dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 3 7 (osc 0.15),ry = range 90 100(osc 0.25),y = 0, z = -20, x = -21};

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 19 26 (osc 0.15),rz = range 15 45 (osc 0.25),y = 0, z = -20, x = 4};


dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 5 10 (osc 0.15),rz = range 90 330 (osc 0.25),y = 0, z = -20, x = -8 };

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 3 7 (osc 0.15),rx = range 80 95 (osc 0.25),y = 0, z = -20, x = 18 };

-- fourth  row

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 19 26 (osc 0.15),rz = range 15 45 (osc 0.25),y = -7, z = -20, x = -17};

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 10 16 (osc 0.15),rx = range 90 330 (osc 0.25),y = -5, z = -20, x = -8 };

dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 10 16 (osc 0.15),ry = range 90 100(osc 0.25),y = -7, z = -20, x = 4};


dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/4640227b469a9ad92ce24b6aaddf1c029c67271c/3Dmodel/16PointsIn3D2.glb", size = range 5 10 (osc 0.15),ry = range 90 100 (osc 0.25),y = -7, z = -20, x = 18 };
```

## SonicPi

```ruby

live_loop :xo do
  play_pattern chord(:Bs3, :sus4),sustain: dice(4)
  play scale(:Bs3, :egyptian).choose
  sleep [0.125,0.25,0.5,1].choose
end

live_loop :xo2 do
  play_pattern scale(:Bs3,:aeolian,num_octaves: 3), 0.100, release: dice(4)
  sleep 0.125
end
```
