Upload
linus-gruszewski
View
245
Download
0
Tags:
Embed Size (px)
DESCRIPTION
monospread
NATURAL SYSTEMS STUDIO
2012 Semester 2 L
INUS G
RUSZEWSKI
0/INDEX
1/SCALE
2/DNA
3/PERSPECTIVE
4/DRAWING
5/CELLS
6/STACKING
GHELFI + G
RUSZEWSKI
SCALE
Population density, Paris, 2008, IAURIF Brain CT scan, cedars-sinai hospital
SCALE
Satelite image of delta, NASA Cabbage leaf, Flikr.com
SCALE
“The mind cannot visualize the whole infinite self-em-bedding of complexity. But to someone with a geometer’s way of thinking about form, this kind of repetition of structure on finer and finer scales can open a whole world. Exploring these shapes, pressing one’s mental fingers into the rubbery edges of their possibilities, was a kind of playing, and [Benoit] Mandelbrot took a childlike delight in seeing variations that no one had seen or understood before. […]”(James Gleick, Chaos - Making a new science, 1988) page 100
It is not once nor twice but times without number that the same ideas make theirappearance in the world.
Aristotle
MARSHA COTTRELL
SCALE
GALAXY, HUBBLE SPACE TELESCOPE
Man-made constellations, composed on Illustrator using punctuation markes as building blocks.Galaxies of semi-colons, clusters of questions and exclamations make up this artificial sky.
Satelite image of Kamchatka, NASA Painting, Bianca-Lua Ayrosa, Middle, 2008
SCALE
Cloud formations Fractal generation , Ultra Fractal 5.0
SCALE
Fractal morphologies can be understood regardless of scale is this why we can see similar organisational
logics in clouds and in smoke?
“The mind cannot visualize the whole infinite self-embedding of complexity. But to someone with a geometer’s way of thinking about form, this kind of repetition of structure on finer and finer scales can
open a whole world. Exploring these shapes, pressing one’s mental fingers into the rubbery edges of their possibilities, was a kind of playing, and [Benoit]
Mandelbrot took a childlike delight in seeing variations that no one had seen or understood before.”
James Gleick, Chaos - Making a new science, 1988 page 100
Slime Mold experiment, Tokyo rail system
Urban future organization/ blog
“Nature isn’t so poor that she needs constant improvement”
Albert Renger-Patzsch
Tokyo: night-time satelite image, NASA
SCALE
PERSPECTIV
E
Albert Renger-Patzsch (1897-1966) 2001: Space Odyssey
PERSPECTIV
E
“[...] the biomimics are showing us that nature is the ultimate inventor, and there is much more that we as observers do not know – perhaps cannot know. By forming alliances with her, by using biology-friendly materials and letting evolution work its magic (even without knowing how it works), we’re bound to come out ahead of where we would be with our own linear, digital, rigidly controlled logic”
Janine M. Benyus, Biomimicry, (New York, Harper Perennial, 1997), 237
Plexus - installation, Gabriel Dawe Still image from film 2001: Space Odyssey, Stanley Kubrick
Looking for the Vanishing Point,
PERSPECTIV
E
Quantity has a quality all its own Joseph Stalin
DRAWIN
G
GRUSZEWSKI
bad workmen blame their tools
DRAWIN
G
//YELLOWTRACE pseudo-constructivist paint tool
void setup() { size(800, 500); background(255, 255, 0); smooth(); //slow down frameCount frameRate(5);}
void draw () { //framecount is set as greyscale value stroke(frameCount*3); noFill(); rectMode(CORNER); //previous rectangle rect(pmouseX, pmouseY, 100, 100);//current rect(mouseX, mouseY, 100, 100);
//lines from previous rect to current line(pmouseX, pmouseY, mouseX, mouseY); line(pmouseX+100, pmouseY+100, mouseX+100, mouseY+100); line(pmouseX, pmouseY+100, mouseX, mouseY+100); line(pmouseX+100, pmouseY, mouseX+100, mouseY);}
//extra functionalities
void keyPressed() { //reset background if (key == ‘b’) background(255, 255, 0); //reset color to black if (key == ‘x’) frameCount=0;}
GRUSZEWSKI
iteration YELLOWTRACE code
DRAWIN
G
GRUSZEWSKI
Vlavimir Tatlin, model for the Monument to the Third International, 1920
YELLOWTRACE.pde GRUSZEWSKI
DRAWIN
G
CELLS
GEORGE WARD TJUNGURRAYI cell drops GRUSZEWSKI
CELLS
René Descartes, Voronoi cells Amethist
CELLS
GRUSZEWSKI
Mitosis multiplier sketch
CELLS
STACKIN
G
GRUSZEWSKI
processing raindropsSTALACTITES/STALAGMITES
stacking drops GHELFI
STACKIN
G
GRUSZEWSKI
“In his seminal writings on morphology Goethe (17961 1987) draws the profound distinction between GESTALT, the specific shape, and BILDUNG, the process from which a
specific shape unfolds. In this sense gestalt is a momentous snapshot in space and time. Thus the complex
morphology of material gestalt always needs to be perceived in relation to morphogenesis,the continual
process of becoming.Recognising that the gestalt of natural systems is always inheretly and inseparably related to their processes of
materialisation is of critical importance. ”
Material systems, computational morphogenesis and performative capacityJoachim Menges
The slice is one of the tools we as architects utilize most. Plans, sections, contour curves are two-dimensional slices
drawn from a three-dimensional construct.Whether we are working on drawings, with layers of
tracing paper, or cutting sheets of cardboard to build up a landscape model, this process of stacking is firmly
anchored in the discipline’s culture.It is of no surprise therefore that architects are fas-cinated with medical imagery, allowing to view slices of a
body without physically cutting someone in half.
Processing provides a context for experimenting with frame by frame animation, basically redrawing a shape in
on a loop, in several positions or incarnations. Trianglesweep.pde gives the illusion of a stack of
triangular slices. The 3D version aims to create that stack on the Z axis, and export the result as 3D
linework, so as to be able to build a physical model of this simple twisting and morphing triangle.
Based on raindrops.pde, we could imagine a similar process, as the raindrops ripple out and fade, by adding an incre-ment on the Z axis, we might be able to generate a land-
scape of stalactites and stalagmites.
Marilene Olivier, Family Portrait
STACKIN
G
GRUSZEWSKI
Noriko Ambe, a piece of a flat globe agglomerating cell sequence
STACKIN
G
GRAND CANYONNORIKO AMBE : laser cut paper sculpture,
contour lines
STACKIN
G
GRUSZEWSKI
TRIANGLESWEEP code 2D stacking of triangle
float r = 0;float g = 0;float b = 0;float a = 255;
//set floating points //(with z for P3D)float x;float y;float z;
float x1;float y1;float z1;
float x2;float y2;float z2;
//set speedsint xSpeed = 20;int ySpeed = 20;int zSpeed = 20
int xSpeed1 = 10;int ySpeed1 = 10;int zSpeed1 = 10;
int xSpeed2 = 25;int ySpeed2 = 30;int zSpeed2 = 30;
void setup() { //size(800, 500); smooth();
//scale window to screen size(screen.width - 10, screen.height - 50); background(100); stroke(frameCount); strokeWeight(2); strokeJoin(ROUND); frameRate(100);}
void draw() {
//transparent layer noStroke(); fill(0, 0, 0, 20); rect(0, 0, width, height);
}
void draw() {
//transparent layer noStroke(); fill(0, 0, 0, 20); rect(0, 0, width, height);
// draw triangle stroke(r, g, b, a); fill(0, 150, 0, 100); triangle(x, y, x1, y1, x2, y2);
strokeWeight(10); point(z, z1);
line(x, y, z, z1); line(x1, y1, z, z1); line(x2, y2, z, z1);
// move x += xSpeed; y += ySpeed; z += zSpeed;
x1 += xSpeed1; y1 += ySpeed1; z1 += zSpeed1;
x2 += xSpeed2; y2 += ySpeed2; z2 += zSpeed2;
//point0 if (x > width-100 || x < 100) xSpeed *= -1; if (y > height-100 || y < 100) ySpeed *= -1;
//point1
if (x1 > width-100 || x1 < 100) xSpeed1 *= -1; if (y1 > height-100 || y1 < 100) ySpeed1 *= -1;
//point2
if (x2 > width-100 || x2 < 100) xSpeed2 *= -1; if (y2 > height-100 || y2 < 100) ySpeed2 *= -1;
xSpeed1 *= -1; if (y1 > height-100 || y1 < 100) ySpeed1 *= -1;
//point2
if (x2 > width-100 || x2 < 100) xSpeed2 *= -1; if (y2 > height-100 || y2 < 100) ySpeed2 *= -1;
//point z
if (z >= x || z <= x1 ) zSpeed *= -1; if (z1 > x1|| z1 < x2) zSpeed1 *= -1; if (z >= y || z <= y1 ) zSpeed *= -1; if (z1 > y1|| z1 < y2) zSpeed1 *= -1;}
//extra functionalities
void keyPressed() { // reset background to black if (key == ‘b’) background(0, 0, 0);
//save pdf if (key==’s’ || key==’S’) saveFrame(timestamp()+”_##.pdf”);}
//reset triangle coordinates and growvoid mousePressed () { if (mousePressed == true) { x = mouseX; y = mouseY; x1 = mouseX; y1 = mouseY; x2 = mouseX; y2 = mouseY; z = mouseX; z1= mouseY; } else { }}
STACKIN
G
TRIANGLESWEEP 3D code 3D expansion of triangle GRUSZEWSKI
import peasy.*;import processing.dxf.*;boolean record;RawDXF dxf;
PeasyCam cam;
float r = 0;float g = 0;float b = 0;float a = 255;
//set floating points (with z for P3D)float x;float y;float z;
float x1;float y1;float z1;
float x2;float y2;float z2;
//set speedsint xSpeed = 20;int ySpeed = 20;int zSpeed = 30;
int xSpeed1 = 10;int ySpeed1 = 10;int zSpeed1 = 30;
int xSpeed2 = 25;int ySpeed2 = 30;int zSpeed2 = 30;
void setup() { //size(800, 500); smooth();
//PEASYCAM
camInit();
//scale window to screen size(screen.width - 10, screen.height - 50, P3D); //colorMode(HSB, 100, 100, 100, 100); background(255); stroke(150); strokeWeight(1); //strokeJoin(ROUND); frameRate(100);}
//extra functionalities
void keyPressed() { // reset background to black if (key == ‘b’) background(0, 0, 0);
//reset triangle coordinates and grow if (key == ‘n’) { x = mouseX; y = mouseY; x1 = mouseX; y1 = mouseY; x2 = mouseX; y2 = mouseY; }
//create dxf file if (key == ‘R’ || key == ‘r’) { // Press R to save the file record = true; }}
//-------------draw
void draw() { rotateX(1); rotateY(1);
//dxf file
if (record == true) { dxf = (RawDXF) createGraphics(height, width, DXF, “output.dxf”); beginRaw(dxf); dxf.setLayer(1); } lights(); background(255); translate(width / 3, height / 3, -200); rotateZ(map(mouseY, 0, height, 0, PI)); rotateY(map(mouseX, 0, width, 0, HALF_PI)); for (int y = -2; y < 2; y++) { for (int x = -2; x < 2; x++) { for (int z = -2; z < 2; z++) { pushMatrix(); translate(120*x, 120*y, -120*z);
//draw triangle
stroke(r, g, b, a); fill(0, 150, 0, 100); triangle(x, y, x1, y1, x2, y2); popMatrix(); } } } if (record == true) { endRaw(); record = false; // Stop recording to the file }
// move x += xSpeed; y += ySpeed; z += zSpeed;
x1 += xSpeed1; y1 += ySpeed1; z1 += zSpeed1;
x2 += xSpeed2; y2 += ySpeed2; z2 += zSpeed2;
//point0 if (x > width || x < 0) xSpeed *= -1; if (y > height || y < 0) ySpeed *= -1;
//point1
if (x1 > width || x1 < 0) xSpeed1 *= -1; if (y1 > height || y1 < 0) ySpeed1 *= -1;
//point2
if (x2 > width || x2 < 0) xSpeed2 *= -1; if (y2 > height || y2 < 0) ySpeed2 *= -1;}
PVector currentCamPos = new PVector(0, 0, 0); void camInit(){ cam = new PeasyCam(this, 100); cam.setMinimumDistance(500); cam.setMaximumDistance(500); cam.lookAt(0, 0, 0, 500, 0);} void updateCam(PVector ppp){ float speed = .0005; currentCamPos.x +=(ppp.x -currentCamPos.x) *speed; currentCamPos.y +=(ppp.y -currentCamPos.y) *speed; currentCamPos.z +=(ppp.z -currentCamPos.z) *speed; cam.lookAt(currentCamPos.x, currentCamPos.y, currentCamPos.z, 0);}
STACKIN
G
“Thinking about parameters provides a bridge between repetition and transformation, as well as
visualization and simulation. While transformation describes a parameter’s effect on form, repetition offers a way to explore a field of possible designs for favourable variations. Both visualization and
simulation require the use of parameters to define the system, and they describe how data or other inputs
will influence the behaviours of that system”
Casey Reas , Form and Code, (New York, Princeton Architectural Press, 2010), 95
GRUSZEWSKI
stack.DXF sequence of 3D triangles
STACKIN
G