zhuoyinl-project 06 abstruct clock

sketch

//Zhuoying Lin
//section a
//zhuoyinl@andrew.cmu.edu
//Project 06 abstruct clock

var xh = [];
var yh = [];
var xb = [];
var yb = [];
var col = [];


function setup() {
    createCanvas(600, 600);
    for (i = 0; i<100; i++) {
        xh[i] = random(50,550);
        yh[i] = random(50,550);
        xb[i] = random(0,600);
        yb[i] = random(0,600);
        col[i] = random(150,255);
    }
    frameRate(4);
}

function draw() {
    background(0);
    var h = hour();
    var m = minute();
    var s = second();

    push();
    translate(width/2, height/2);

    for (i = 0; i<s;i++) {
         stroke(col[i]);
         strokeWeight(0.5);
         noFill();
         ellipse(0, 0, 540-i*9, 540-i*9);//the decreasing circle in thebackground which represent seconds

    }
    pop();
    
    push();
    translate(width/2, height/2);
    for ( i = 0; i<m; i++) {

       
        rotate(radians(6));
        stroke(col[i]);
        strokeWeight(3);
        line(0, 0, 0, -290+random(-3,3));      
    }
    pop();//the amount of lines representing the minute

    for (i = 0; i<s; i++) {
        fill(random(0,255));
        noStroke();
        ellipse(xb[i], yb[i], 10, 10);
    }//draw the shining stars in the background, the amount is in relation to second

    push();
    translate(width/2, height/2);
    var angle = 360*s/60
    rotate(radians(angle-90));//make the circle of epplipse rotate according to seconds
    for (i = 0; i<h; i++) {
        rotate(radians(15));
        noStroke();
        fill(col[i]);
        ellipse(0, -258, 25,25);//number of circles which representing hours
    }
    pop();

    textFont("Helvetica")
    text(nf(h,2,0)+":", 535, 590);
    text(nf(m,2,0)+":", 555, 590);
    text(nf(s,2,0), 575,590);
   
}

For this project, I try to create a sense of universe to depict the fourth dimension. And I used multiple variables to represent the time move. Both the circle lines and circle of ellipses represent the time in second as a metaphor of planets in the space and their tracks. The number of long white lines represent the minutes which could also seen as light beam and the number of while ellipse represent the hours. The sparkly little ellipse in the background do not show the times but they could be seen as stars far away.

sketch

ShanWang-Project06-Abstract Clock

sketch

//Shan Wang
//Section A
//shanw1@andrew.cmu.edu
//Assignment-06-Project

function setup() {
    createCanvas(600,600);
}


function draw() {
    background('#E79460')
    var cX = width/2;
    var cY = height/2;
    var lX = width/2;
    var lY = height/2;
    var rX = width/2;
    var rY = height/2;
    var sX = width/2-40;
    var sY = height/2+70;
    var sec = second();
    var min = minute();
    var hr = hour()+10;
    //set intervals for different planes;
    var intT = 1;
    var intL = 5;
    var intR = 8;
    var intS = 0.7;
    //set alpha value variable
    var alphaV = 0;

    //draw base plane (black) with no outlines;
    topPlane(width*2/3-50,height*3/4,90,100,"black",false);
    leftPlane(width*2/3-50,height*3/4,90,5,'#FFB11B',false);
    rightPlane(width*2/3-50,height*3/4,5,100,'#FFC408',false);

    //draw top planes that increment every second; resets after a cycle of 60
    for (var i=0; i<sec; i++){
        topPlane(cX,cY,40,intT,'#985F2A',false)
        cX = cX + intT/cos(45);
        cY = cY - intT/cos(45);
    }

    //draw left planes that increment every minute; resets after a cycle of 60
    for (var i=0; i<min; i++){
        leftPlane(lX,lY,40,intL,"white",false);
        lY += intL;
    }

    //draw right planes that increment every hour; resets after a cycle of 24
    var len = dist(width/2,height/2,cX,cY);
    for (var i=0; i<hr; i++){
        rightPlane(rX+4, rY+8,intR,60,"red",false);
        rY += intR;
    }

    //draw edge planes that compose the three dimensional image
    leftPlane(width/2+4,height/2+8,2,intR*hr,25,false);
    topPlane(width/2+4,height/2+8,2,60,200,false);

    rightPlane(width/2,height/2,7,intT*sec,55,false);

    //draw side planes that increments every second; resets after a cycle of 60
    for (var i=0; i<sec; i++){
        var dis = min*intL-107;
        rightPlane(sX,sY,dis,intS,'#005CAF',false);
        sX -= intS/cos(45);
        sY += intS/cos(45);
    }
    //draw side plane Edge
    var edgeLen2 = intS*sec;
    topPlane(sX+intS/cos(45),sY-intS/cos(45),2,edgeLen2,45,false);
    leftPlane(sX+intS/cos(45), sY-intS/cos(45),2,dis,"black");

    //dim the background every second;
    alphaV += sec%59 * 3;
    noStroke();
    fill(0,0,0,alphaV);
    rect(0,0,width,height);

}

function topPlane (cX, cY, side1, side2, color,outline){
    var p1X = cX - side1/cos(45);
    var p1Y = cY - side1/cos(45);
    var p2X = p1X + side2/cos(45);
    var p2Y = p1Y - side2/cos(45);
    var p3X = cX + side2/cos(45);
    var p3Y = cY - side2/cos(45);
    fill(color);
    if (outline == false){
        noStroke();
        quad(cX, cY, p1X, p1Y, p2X, p2Y,p3X, p3Y);
    }
    else{
        stroke(0);
        quad(cX, cY, p1X, p1Y, p2X, p2Y,p3X, p3Y);
    }
}

function leftPlane (cX, cY, side1, side2,color,outline){
    var p1X = cX;
    var p1Y = cY + side2;
    var p2X = p1X - side1/cos(45);
    var p2Y = p1Y - side1/cos(45);
    var p3X = cX - side1/cos(45);
    var p3Y = cY - side1/cos(45);
    fill(color);
    if (outline == false){
        noStroke();
        quad(cX, cY, p1X, p1Y, p2X, p2Y,p3X, p3Y);
    }
    else{
        stroke(0);
        quad(cX, cY, p1X, p1Y, p2X, p2Y,p3X, p3Y);
    }
}

function rightPlane (cX, cY, side1, side2, color,outline){
    var p1X = cX;
    var p1Y = cY + side1;
    var p2X = p1X + side2/cos(45);
    var p2Y = p1Y - side2/cos(45);
    var p3X = cX + side2/cos(45);
    var p3Y = cY - side2/cos(45);
    fill(color);
    if (outline == false){
        noStroke();
        quad(cX, cY, p1X, p1Y, p2X, p2Y,p3X, p3Y);
    }
    else{
        stroke(0);
        quad(cX, cY, p1X, p1Y, p2X, p2Y,p3X, p3Y);
    }
}

The inspiration for the visual style of this project came from the drawings of Theo Van Doesburg, a De Stijl artist during the 1900s.
I am interested in the idea of representing the change of time with the change of space. By extending the length size of the planes, the spatial quality of the representation changes throughout the day.
Also for legibility, I set the cycle of the dimming of the background color to be every minute.

sihand – Project Week 06 – Contour Clock

sihand – contour clock

//Sihan Dong
//sihand@andrew.cmu.edu
//Section B
//Week 06 project: abstract clock - erosion

var s;
var m;
var h;
var angMinute;
var angSecond;
var arrayS = [];
var arrayM = [];
var arrayH = [];
var gradientH = [];
var colorH1 = [];
var colorH2 = [];
var interval = 40;

function setup() {
    createCanvas(600, 600);
}

function draw() {
	background(0, 0, 50);
	drawHour();
	drawSecond();
	drawMinute();
    drawTime();
}

function drawHour() {
	h = hour();
	noStroke();

	for (ih = 0; ih < 13; ih++) {
	//dimension of the centripetal circles
		arrayH[ih] = width - ih*interval;
	//set up the value of the gradient used to generate green and blue
		gradientH[ih] = 255 - 20*ih;
		
	//the certipedal circles represent the hours, where the 
		//land contour
		if (ih+1 > h%12 || ih+1 < 13) {
			//gradientH.pop();
			colorH1[ih] = color(0, gradientH[ih-h%12], 0);
			fill(colorH1[ih]);	
		}
		//ocean contour
		if (ih < h%12) {
			colorH2[ih] = color(0, 0, gradientH[h%12-ih-1]);
			fill(colorH2[ih]);
		}
		
		ellipse(width/2, height/2, arrayH[ih], arrayH[ih]);
	}
}

function drawMinute() {
	m = minute();
	noStroke();
	//fill()
	
    	
	
    for (var im = 0; im < m; im++) {
    	push();
    	
    	translate(width/2, height/2);
    	angMinute = map(m, 0, 60, 0, TWO_PI);
    	angMinute = im*angMinute/m;
    	rotate(angMinute-PI/2);
    	
    	fill(0, 0, 255);
    	rect(0, -3/2, (width - (h%12)*interval)/2, 3);
  		ellipse((width - (h%12)*interval)/2, 0, 10, 7);
    	pop();
	}
}

function drawSecond() {
	s = second();
	noStroke();
	angSecond = map(m, 0, 60, 0, TWO_PI);

	for (is = 0; is < 60; is++) {
		push();
		arrayS[is] = map(is, 0, 60, 65/2+2, width/2);
		
		if (is < s) {
			translate(width/2, height/2);
    		rotate(angSecond-PI/2);
			//fill(255);
			fill(0, 0, map(is, 0, 60, 255, 0));
			ellipse(arrayS[is], 0, 4, 4);
		}
		pop();
	}	
}

function drawTime() {
//the circular background for the text
	noStroke();
	fill(0);
	ellipseMode(CENTER);
    ellipse(width/2, height/2, 65, 65);

//text that shows the real time
	fill(255);
    textAlign(CENTER);
    text(h + " : " + m + " : " + s, width/2, height/2+5);
}

This project was inspired by colored contour maps (shown below). Seconds are represented by a line of dots: “precipitation”; minutes are represented by a serious of “streams”; and hours are represented by the change in the contour. The idea is that every hour passed, the sea level, represented by the blue area, rises to a certain level. In other words, the island, which represented by the green area, relatively sinks by the same level. The changes are illustrated in the updated image via changes in the shades of green and blue, which abides by the common appearance of a contour map.

Contour map example

 

Looking outwards06

VILLA from Malevo on Vimeo.

This project called VILLA means error in Icelandic. It is a visual identity video for the REYKJAVIK VISUAL MUSIC PUNTOY
RAYA FESTIVAL. The video is fundamentally based on idea of creating error over black and white clean dot and line motion graphics work. The distortion is made by series of digital glitches through the image and only uses pure dots, lines, colors, motion and sound, and gradually they lose their original quality. However, through the distortion, the image gains new texture and beauty. In this way, the computational art using randomness visually explained the power of expressionism and the way it transform.

Sofia Syjuco -Looking Outwards – 06

A Text of Random Meaning
Rami Hammour
Spring 2015
link

A Text of Random Meaning is an art piece by Rami Hammour that is a mapping of a random number generator. I think it’s really interesting because it looks like lines of text, and calls to mind text art to the viewer, who is then intrigued and will want to look deeper – but it is really just randomly generated. But because the viewer thinks it is text, and will likely continue believing it is if they are kept at a far enough distance, the work is given meaning. Because it “is text” the “words” contained therein must have some sort of meaning and make a statement. But because it is just random, there is no meaning or statement – which just points out the natural human reaction to words and to text art. I think that’s really admirable and interesting, because it forces us to introspect about our expectations of art and of text.

Charlie Mo abstract clock

sketch




var r= 230;
var g= 250;
var b= 250;

function setup() {
    createCanvas(600, 600);
    //background(r, g, b);
}
function draw() {
	background(r, g, b,20);
	angleMode(DEGREES);

	
	//hours
	push();
	rectMode(CENTER);
	var h = hour();
	translate(width/2,height/2);
	rotate(h*30-180);
	noFill();
	rect(0,0,400,400);
	rect(0,0,1,500);

	pop();
	//seconds
	push();
	var s = second();
	translate(width/2,height/2);
	rotate(s*6-135);
	fill(63, 12, 12);
	noStroke();
	ellipse(150,150,40,40);
	ellipse(-150,-150,20,20);
	pop();

	//minutes
	push();
	var m = minute();
	translate(width/2,height/2);
	rotate(m*6-180);
	head(0,0);
	pop();

	

}

function head(x,y){

//head
	noStroke();
	fill(255, 235, 117);
	ellipse(0,0,300,300);
	//eyes
	strokeWeight(1);
	fill(255);
	ellipse(-70,0,80,15);
	ellipse(70,0,80,15);
	noStroke();
	fill(38, 20, 0);
	ellipse(-70,0,15,15);
	ellipse(70,0,15,15);
	//ears
	fill(255, 235, 117);
	ellipse(-150,0,30,50);
	ellipse(150,0,30,50);
	ellipse(-150,20,50,60);
	ellipse(150,20,50,60);
	//studs
	fill(0, 48, 46);
	ellipse(-160,30,10,10);
	ellipse(160,30,10,10);
	//mouth
	fill(145, 36, 36);
	arc(0,40,30,30,0,180);
	//dots
	for(var x = 0; x<3; x++){

		for(var y = 0; y<3; y++){

			var x2 = -40 + x * 40;
			var y2 = -110 + y * 40; 

			fill(255, 250, 147);
			ellipse(x2,y2,20,20);
		}
	}

}

Project 6 Lydia Jin

sketch

//Lydia Jin
//Section B
//jialuj@andrew.cmu.edu
//Project 6
var h;
var m;
var s;
function setup() {
    createCanvas(800, 800);
    
}

function draw() {
	background('black');
	angleMode(DEGREES);
	h = hour();
	m = minute();
	s = second();

	//draw arcs
	fill(0,0,0,0);
	push();
	translate(width/2, height/2);
	stroke(181, 32, 104);
	strokeWeight(45);
	//draw hour arc
	arc(0, 0, 407, 407, 0, 30*h);
	stroke(32,181,161);
	//draw minute
	strokeWeight(45);
	arc(0, 0, 520, 520, 0, 6*m);
	stroke(48,124,244);
	//draw second
	strokeWeight(45);
	arc(0, 0, 633, 633, 0, 6*s);
	pop();

	
	push();
	translate(width/2, height/2);
	//text for displaying time
	var posS = (s%60)/60*360;
	textSize(17);
	fill('black');
	text(s, 317*cos(posS), 317*sin(posS));

	var posM = (m%60)/60*360;
	textSize(17);
	fill('white');
	text(m, 258*cos(posM), 258*sin(posM));

	var posH = (h%24)/12*360;
	textSize(17);
	fill('black');
	text(h, 200*cos(posH), 200*sin(posH));
	pop();

	
	push();
	//draw in moon and sun
	translate(width/2, height/2);
	noStroke();
	if (h>12 & h == 0){
		fill('yellow');
	}
	else {
		fill('grey');
	}
	
	ellipse(-55, 0, 80, 80);
	fill('black');
	ellipse(-35, -5, 80,80);

	if (h<=12 & h != 0){
		fill('orange');
	}
	else {
		fill('grey');
	}
	ellipse(50, 0, 70,70);

	pop();
// return to original state
}

I have came up with this idea thinking about different yet simple ways to represent time. So I thought I can make the clock still look round but I replaced the hands by part of the circles to indicate time. I also wanted some differentiation between day and night so I drew in a moon and sun in the middle of the canvas and that they change colors accordingly to time. There is also text at each hand bar to indicate hour, minute and seconds. I previewed my post and apparently it’s not showing the entire canvas but my canvas size is below the 800 pixels limit. The part that didn’t show up is when the second hand reaches 60 then it resets and starts over again. Below is my rough sketch of the project:

801913011

 

Looking-Outwards-06

http://www.random-art.org/about/

Random Art is a website created by Andrej Bauer in which you can type out anything in a text box and it turns into an abstract computer generated painting. The words you type cause a pseudo-random number generator to create a formula that changes the color of individual pixels in the picture. The first word makes the colors, while the second creates the arrangement of graphical elements. Below are the words “Blue Demo” (left) and “Demo Green” (right).

blue_demo demo_green

LookingOutwards-06

Random-art.org uses a computer program that takes a name and then runs it through a pseudo-random number generator. I like the piece below, labeled “Demo Green” because it incorporates several colors and shapes. There are several operators that are randomized. I also like that the real artist is the programmer of the number generator which creates the possible outcomes. The generator allows users to create their own random pieces based on a word entry which is pretty unique.

demo_green

Shannon Case- Project 06 – Clock

For this project I decided to try to represent time as dripping water droplets. I wanted to show the hours, minutes, and seconds dripping down from the top of my canvas. I was thinking about water evaporating and dripping as a way to tell the passage of time. I chose to do a 24 hour time because thats what the assignment asked for and I think that the chance for that row to be longer will be a cool visual effect. I used loops to create the vertical columns of drips and add one drip for each second/minute/hour. The first column is hours, the middle is minutes, and the last is seconds.

img_7951

sketch

//Shannon Case
//Section D
//scase@andrew.cmu.edu
//project 06

function setup() {
    createCanvas(300,800);
    background(0);
}

function draw() {

    background('#9fdbdd');
    var m = minute();
    var s = second();  //sets variables
    var h = hour();
    var size = 10;
    var yOffset = 10;
    var spacing = 10;




for(var i = 0; i<h; i++){

    fill('#409bad');
    ellipse(40, yOffset+i*spacing, size, size);
}

for(var i = 0; i<m; i++){

    fill('#4078ad');
    ellipse(120, yOffset+i*spacing, size, size);
}

for(var i = 0; i<s; i++){
    
    fill('#0f025e');
    ellipse(200, yOffset+i*spacing, size, size);
}

}