Suggestive, not literal architectural drawings

We’ve been discussing a lot the idea of how to represent your second project so that they have an architectural language (but perhaps not literal sections in a building with floor slabs and people). Here are two references we were showing around, so you have the links. Happy section making!

NorellRodhe_Erratic_5_800.jpg

NorellRodhe_Erratic_6_800.jpg

 

 

 

 

 

Taming the Erratic, Daniel Norell + Einar Rodhe

http://norellrodhe.se/erratic

 

the-dock_2000pix_1000.gifGEOMETRIC_PROFILES_2000pix_1000.gif

The Next Port of Call, Bair and Balliet, 15th architecture biennale, Venice 2016

http://bairballiet.com/THE-NEXT-PORT-OF-CALL-2016

 

Digital Grotesque

fabrication9-1024x499.jpg

For anyone interested in the techniques behind the Digital Grotesque project and others by Michael Hansmeyer / Benjamin Dillenburger, check out these course pages from ETH Zürich with Processing scripts:

http://www.caad.arch.ethz.ch/blog/high-resolution-2-materialise/

http://www.caad.arch.ethz.ch/blog/high-resolution-architecture-sacred-spaces/

More of the theory behind it is described in the article “Mesh Grammars –
Procedural Articulation of Form”:

https://cumincad.architexturez.net/system/files/pdf/caadria2013_259.content.pdf

Processing Class Balls

Script for very simplistic bouncing mechanics & using classes

 

Untitled-1.jpg

int number = 20;
int a = number-1;
int i;
Ball[] balls;
int rad=20;

 

void setup()
{
background (255);
size(500, 500);
noStroke();
fill(0);
balls = new Ball [number];

 

for (i = 0; i < number; i++)
{
balls[i] = new Ball(random(0, height), random(0, width), rad, rad, random(-2, 2), random(-2, 2), i, balls );
}
}

 

 

void draw()
{
background (0);
for (Ball bal : balls) {
bal.update();
bal.bounce();
bal.display();
}
}

class Ball
{
float b;
float c;
int sizex;
int sizey;
float incrementx;
float incrementy;
int id;
Ball[] others;

 

Ball(float btemp, float ctemp, int sizextemp, int sizeytemp, float incrementxtemp, float incrementytemp, int idtemp, Ball[] otherstemp)
{
b=btemp;
c=ctemp;
sizex=sizextemp;
sizey=sizeytemp;
incrementx=incrementxtemp;
incrementy=incrementytemp;
id=idtemp;
others=otherstemp;
}

void update()
{

if (b > width || b < 0)
{
incrementx=-incrementx;
}

if (c > height || c < 0)
{
incrementy=-incrementy;
}

b += incrementx; //add incrementX to posX
c += incrementy; //posY
}

void display()
{
fill(255);
ellipse(b, c, rad, rad);
}

void bounce()
{
int j;
for (j=id; j<number; j++)
{
float db= others[j].b – b;
float dc= others[j].c – c;
float distance = sqrt(db*db + dc*dc);
float minDist = others[j].sizex/2 + sizex/2;
if (distance < minDist)
{
incrementx =- incrementx;
others[j].incrementx =- others[j].incrementx;
incrementy =- incrementy;
others[j].incrementy =- others[j].incrementy;
b += incrementx;
others[j].b += others[j].incrementx;
c += incrementy;
others[j].c += others[j].incrementy;
}
}
}
}