Natural Systems

Page 1

Natural systems

Semester two - 2012

Stanislav Roudavski- Gwyl Jahn Farbod Fathalipouri


Preliminary Projects Loading Amigos The intent of this project was just learning basic’s of processing programing and to try them in a tiny project; I tried to test them through a simple loading circles randomly colored.

Clicking Amigos

further in applying more of the basic processing coding I tried to make these amigos with different colors of hats and hats shades base on where they are located in the screen so as they get further away from the right edge their shadow would get longer.


}

smooth(); frameRate(30); CircleCollection = new ArrayList();

Secondary Projects

//============= DRAW ============= void draw() { background(250); Circle temp = new Circle(0,0); //Circle temp2;// = new Circle(0,0); for (int i = 0; i < CircleCollection.size(); i++) { temp = (Circle) CircleCollection.get(i); temp.run(i); }

}

//============= FUNCTIONS ============= void mousePressed() { Circle temp = new Circle(mouseX,mouseY); CircleCollection.add(temp); }

Attracting Mouse Pointer

void keyPressed() { // if (key == 32) { //reset the array list // CircleCollection = new ArrayList(); // } else if (key == 8 || key == 127) { //remove the most recent circle by pressing delete or back In continuation with preliminary learning and develspace // CircleCollection.remove(CircleCollection.size()-1); oping of skills in processing an experiment made by // } else interacting the mouse with an array of points which if (key == 77){ saveFrame(); move toward the mouse pointer where ever it goes } and they change their direction of move by clicking } // ===================OBJECT the mouse. class Circle { PVector pos; float r; //==================== Constructor, initialize the variables Circle(float tempX,float tempY){

Curvy random color lines:

vector basically storing informationan aboutexcersise position It// create wasnewjust on arraylist pos = new PVector(tempX,tempY); function and oscilation with sin & cos funcr = random(10,height/8); } tions and vectors //==================== Methods and Functions void run(int i){ CLines(i); // checkdistance(Circle.temp); display(); } void display (){ // displays the ellipseMode(CENTER); noStroke(); fill(140,40);


By emerging new technologies and new discoveries of sciences, architecture lik e sciences and art is going toward using natural elements discovered in nature. One of the human discoveries in nature and mathematics which is common among many applications and fields is Voronoi diagram. • What is Voronoi diagram ? The Voronoi diagram is a way of division/decomposition of space. It was created by Georgy Voronoi, who was an Ukrainian mathematician. He studied in Saint Petersburg an was a professor at Warsaw University. His doctoral advisor was A. Markov, and his students were B Delaunay, W Sierpiński. Works of all three of them strongly influenced a movement of computational approach to architectural design.

Voronoi

Pictures below show how to draw Voronoi diagram using any CAD software or pen and paper. For start you need set of points on the plain. First step is to draw a line connecting adjacent points. Second step is to draw a perpendicular line to the one you just drew in the midpoint of it. Last step is to connect lines, drawn in the second step, into a network.


The original source of Voronoi diagrams same as any other human’s discoveries is the nature where we can find millions of examples for it; from giraffe’s skin to dragonflies wings the use of voronoi diagrams can be seen easily. a close example of this diagram can be seen on the human skin in which skin cells make a voronoi formation to be efficient in getting required ingredients to the cells. Other than nature voronoi diagrams are being used in majority of science field. these diagrams have been used in military applications such as cruise missiles or we can see voronoi use in GIS planning and they are also crucial in researching sales potentials of a product or a shop in an area or even the facilities a neighborhood with facilities. Another emerging field of use for voronoi is with help of sensors to direct robots. in the current century by emerging new technologies and design use of these diagrams have been widely spread in different architectural or building related application from facade design to structure design, program planning in buildings and sustainable design. Some examples of voronoi applications are provided.

Precidents

1.3D Model did in 2007 in AA by Ostinatom. 2.Alibaba Headquarters in Shanghai . 3.Matsys Design by Revano Satria


Mini Project The initial goal for the mini project was to make a program in which we could illustrate a condition that we could make a network of lines that could be assumed as roads, evacuation pathways, network of people, network of facilities or ... which were made by intersecting circles that could show a domain for the point of program on the sketch canvas by clicks of mouse. However as the project developed more and the theoretical aspect of architecture integrated more with the designed code, the project was guided to its presidents of voronoi emerging diagrams in different fields and specially in architecture which has lots of benefits. So the next step for this project is going to be a complete integration with voronoi diagrams first in 2d and after that in 3d and finally an self-emerging voronoi’s that can led to self-emerging architectures that can be generated based on predefined conditions.

//============= SETUP ============= void setup() { size(2000,1000); smooth(); frameRate(30); CircleCollection = new ArrayList(); } //============= DRAW ============= void draw() { background(250); Circle temp = new Circle(0,0); //Circle temp2;// = new Circle(0,0); for (int i = 0; i < CircleCollection.size(); i++) { temp = (Circle) CircleCollection.get(i); temp.run(i); }

}

//============= FUNCTIONS ============= void mousePressed() { Circle temp = new Circle(mouseX,mouseY); CircleCollection.add(temp); } void keyPressed() { // if (key == 32) { //reset the array list // CircleCollection = new ArrayList(); // } else if (key == 8 || key == 127) { //remove the most recent circle by pressing delete or back space // CircleCollection.remove(CircleCollection.size()-1); // } else if (key == 77){ saveFrame(); } } // ===================OBJECT class Circle { PVector pos; float r; //==================== Constructor, initialize the variables Circle(float tempX,float tempY){ // create new vector storing information about position pos = new PVector(tempX,tempY); r = random(10,height/8);

} //==================== Methods and Functions void run(int i){ CLines(i); // checkdistance(Circle.temp); display(); }


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.