# WCCChallenge - Brutalism

# Brutalism Reimagined

For this week's Creative Code challenge : Brutalism, I decided to take the rules of brutalism and applied them in the language of OpenSCAD(https://openscad.org/).

I designed a building that follows the rules of Brutalism in both directions as shown in the pics below.

* Video Shown First
    
* Images Follow After
    
* Code shown Below
    

---

***Brutalism Rules - https://20bedfordway.com/news/guide-to-brutalist-architecture-london***/

1. Rough unfinished surfaces
    
2. Unusual shapes
    
3. Heavy-looking materials
    
4. Massive forms
    
5. Small windows in relation to the other parts
    

---

***Video Of the Brutalism Architectures in Motion with Audio coded by SonicPi***

<iframe width="1180" height="664" src="https://www.youtube.com/embed/2Ijeu5mD77c"></iframe>

---

### Images Below

![WCC_BrutalismArchitecture1.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1660448421119/bbf-qHYc4.png align="left")

![WCC_BrutalismArchitecture5.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1660448460250/yObq3Vynu.png align="left")

![WCC_BrutalismArchitecture2.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1660448438806/jJJiNHtsz.png align="left")

![WCC_BrutalismArchitecture7.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1660448476015/Ra2dITtvI.png align="left")

![WCC_BrutalismArchitecture4.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1660448504334/3BP6O3grp.png align="left")

![WCC_BrutalismArchitecture8.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1660448491027/jwf1mSrQE.png align="left")

---

### OpenSCAD Code

```ocaml

union(){
color("white", 1.0) cube([38,78,18],true);
rotate ([0,0,0]) color("black", 1.0) cube([4,78,18],true);
}


for ( i = [0 : 7] ){
translate([-40,i * 7,31]) rotate ([0,0,0]) color("black", 1.0) sphere(r = 7);
}
    
difference(){
    translate([0,0,31]) color("white", 1) cube([93,78,18],true);
    
 //round windows on second white block
translate([40,0,31]) rotate ([0,0,0]) color("black", 1.0) sphere(r = 7);
}

translate([0,0,63]) color("white", 0.86) cube([140,80,23],true);

//Tranlating the cubes above the turqoise to satisified rule number 2

//windows

   
translate([0,0,15]) color("DarkSlateGray", 0.76) cube([28,48,14],true);
translate([23,0,15]) color("DarkSlateGray", 0.76) cube([28,48,14],true);


union(){
 for ( i = [0 : 7] ){
translate([-37,20 - i * 6,14]) rotate ([0,0,0]) color("black", 1.0) sphere(r = 2);
}

translate([-23,0,15]) color("DarkSlateGray", 0.76) cube([28,48,14],true);

}

//set 2 of monochromatic (darkslateGray)
translate([-23,0,80]) color("gray", 0.76) cube([28,48,14],true);
translate([0,0,80]) color("DarkSlateGray", 0.88) cube([28,48,14],true);
translate([23,0,80]) color("DarkSlateGray", 0.88) cube([28,48,14],true);

//set 3& 4 of monochromatic (darkslateGray)

translate([-37,0,92]) color("DarkSlateGray", 0.76) cube([28,48,14],true);
translate([0,0,92]) color("DarkSlateGray", 0.76) cube([28,48,14],true);
translate([37,0,92]) color("gray", 0.76) cube([28,48,14],true);

translate([-51,0,104]) color("DarkSlateGray", 0.76) cube([28,48,14],true);
translate([0,0,104]) color("grey", 0.76) cube([28,48,14],true);
translate([51,0,104]) color("DarkSlateGray", 0.76) cube([28,48,14],true);


//Ivory Cylinders
translate([-30,0,40]) color("Ivory", 0.22) cylinder(h=15, r1=9.5, r2=19.5, center=false);
translate([0,0,40]) color("silver", 0.82) cylinder(h=15, r1=9.5, r2=19.5, center=false);
translate([30,0,40]) color("Ivory", 0.22) cylinder(h=15, r1=9.5, r2=19.5, center=false);
translate([0,0,110]) color("black", 0.62) cylinder(h=15, r1=9.5, r2=22.5, center=false);
translate([0,0,120]) color("black", 0.62) cylinder(h=15, r1=9.5, r2=22.5, center=false);
```

---

### Sonic Pi Code ( Slowed Down)

```ruby

with_fx :ping_pong do
  with_fx :echo do
    live_loop :eddie do
      synth :mod_fm
      play choose([:Fs3,:Ds5,:B3]),attack: dice(4),decay: dice(5),sustain: 2,release:[1,1.5,3].choose
      sleep [0.25,1].choose
    end
  end
end
```
