WCCChallenge - Brutalism

WCCChallenge - Brutalism

Reimagining Brutalism Thru Code

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(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 - 20bedfordway.com/news/guide-to-brutalist-ar../

  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


Images Below

WCC_BrutalismArchitecture1.png

WCC_BrutalismArchitecture5.png

WCC_BrutalismArchitecture2.png

WCC_BrutalismArchitecture7.png

WCC_BrutalismArchitecture4.png

WCC_BrutalismArchitecture8.png


OpenSCAD Code


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)


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