GMU:Algorithmic Art/Fabian/for computers: Difference between revisions

From Medien Wiki
Line 152: Line 152:
|}
|}


==III: Cat Eyes==
==III: Cat's Eyes==
My first nested for loops sketch that resulted in unexpected "eye like" circles, maybe cat's eyes.
''My first nested for loops sketch with some slight random function adventures that resulted in unexpected "eye like" circles, maybe cat's eyes. I would like to use those eyes in a future sketch!''
{| border="1"
{| border="1"
|-
|-

Revision as of 18:10, 23 March 2019

for Computers

I: Kasimir Malewitsch's bird

Originally based on the task to recreate a piece of Kasimir Malewitsch, I accidentally arranged forms more in a way a bird looks like and decided to continue that approach instead.

Result Algorithm
Kasimirbird.png
  void setup() {
size(400,600);
  }

void draw(){
 background (255);

//black square
noStroke();
fill(0,0,0);
rect(100,50,200,200);

//body red
noStroke();
fill(255, 25, 64);
rect(110,220,250,200);

//feathers
noStroke();
fill(102,230,255);
triangle(136,282,151,282,140,295);

//feathers
noStroke();
fill(102,230,255);
triangle(180,310,220,310,200,300);

//feathers
noStroke();
fill(102,230,255);
triangle(200,340,3400,340,300,300);

//feathers
noStroke();
fill(102,230,255);
triangle(270,390,300,390,250,370);

//yellow rectangle
noStroke();
fill(255,204,102);
rect(40,50,80,150);

//brown Square
noStroke();
fill(66,20,12);
rect(120,200,50,50);

//green circle
stroke(77,255,106);
strokeWeight(10);
noFill();
ellipse(195,50,50,50);

//spout details
strokeCap(SQUARE);
stroke(255,51,187);
strokeWeight(10);
line(59,79,59,160);

stroke(255,51,153);
strokeWeight(10);
line(85,100,85,140);

stroke(255,153,255);
strokeWeight(10);
line(95,150,95,160);

//legs
stroke(255,255,0);
strokeWeight(10);
line(215,420,215,520);

stroke(255,255,0);
strokeWeight(10);
line(235,420,235,520);
 text( "x: " + mouseX + " y: " + mouseY, mouseX, mouseY );
}

II: Cute Bauhaus

Here recreation was also the topic, refined with some first simple interaction.

Result Algorithm
 void setup() {
size(500,500);
frameRate(60);
}

void draw() {
background (255);
line(20,30,70,80);
line(0,0,100,100);

size(500, 500);
background(300, 200, 100);
strokeWeight(50);
line(100, 500, 400, 80);
line(5, 400, 400, 330);

noFill();
stroke(0, 0, 200);
strokeWeight(5);
ellipse(mouseX, mouseY, 400, 300);

//here i draw a red square
noStroke();
fill(255,0,0);
rect(100,150,150,150);

//circle
fill(0);
ellipse(300,355,150,150);

//triangle
fill(255,255,0);
beginShape();
vertex(250,150);
vertex(400,150);
vertex(325,mouseY);
endShape();

rect(10, 10, 30, 30);

noFill();
strokeWeight(40);
rect(400, 300, 100, 50);
}

    }
  }
}

III: Cat's Eyes

My first nested for loops sketch with some slight random function adventures that resulted in unexpected "eye like" circles, maybe cat's eyes. I would like to use those eyes in a future sketch!

Result Algorithm
int gap=100;

void setup(){
  size(800,600);
  background(0,230,115);
  smooth(8);
}

void draw(){
  float speed= sin(1)*30;
  frameRate(speed);
  for(int i=1; i<=7; i+=1) {
    for (int j=1; j<=5; j+=1){
      int xPos=i*gap;
      int yPos=j*gap;
      float ellWidth=random(100);
      float ellHeight=random(100);
      
      float R=random(100,255);
      float G=random(100,255);
      float B=random(100,255);
      
      noStroke();
      fill(R,G,B);
      ellipse(xPos,yPos,ellWidth,ellHeight);
    }
  }
}

IV: Butterflies

Result Algorithm
 int num=50;            //number of butterflies, but actually around 5 "form" one...
int stepLength=10;     //tempo of them

int x[]= new int [num];
int y[]= new int [num];
int w[]= new int [num];
int h[]= new int [num];

void setup() {
  rectMode(CENTER);
  size(1280,720);
  background(255);
  noStroke();
  
  for(int i=0; i<x.length; i++){
    x[i]=(int)random(width);         // random position of the butterflies 
    y[i]=(int)random(height);
    w[i]=(int)random(20,80);
    h[i]=(int)random(20,80);
  }
}

void draw() {
  background(255);
  rectMode(CENTER);
  
    
   for(int i=0; i<x.length-1; i++){
    int newX=x[i]+=random(-stepLength,stepLength);        //move the butterflies
    int newY=y[i]+=random(-stepLength,stepLength);
    
      if(newX<0) newX = width;
      else if(newX>width) newX = 0;
     if(newY<0) newY = height;                       //keep them 
      else if(newY>height) newY = height;
      
      x = append(x, newX);
      y = append(y, newY);         // I guess this results in "butterfly effect"
    
    if(x.length > num){
    x = subset(x, 1);
    y = subset(y, 1);
    
    rect(x[i],y[i],w[i],h[i]);
  }
    fill(x[i],y[i],150);              //mellow colours
  }
}