Project 06 – Min Lee

sketch

var prevSec;
var millisRolloverTime;

function setup() {
    createCanvas(480, 480);
    millisRolloverTime = 0;
}

function draw() {
	//changes background color to be different from minute color 
	if  (H % 2 == 1) {
		background(221, 84, 105)
	} else {
		background(141, 173, 157)
	}

	var H = hour();
	var M = minute();
	var S = second();

    text("Hour: "   + H, 10, 22);
    text("Minute: " + M, 10, 42);
    text("Second: " + S, 10, 62);

    if (prevSec != S) {
		millisRolloverTime = millis();
	}
	prevSec = S;
	var mils = floor(millis() - millisRolloverTime);

	//makes minute and second values move smoothly
    var fractionSeconds = S + (mils / 1000.0);
    var secondsWidth = map(fractionSeconds, 0, 60, -300, 300);
    var minutesSmooth = map(M + (fractionSeconds / 60.0), 0, 60, -HALF_PI, PI + HALF_PI);
    var fractionHours = H + (minutesSmooth / 60.0)
    var hoursSmoothWidth = map(fractionHours, 0, 24, -240, 240);


    //minute color changes between green and pink
    if (H % 2 == 1) { 
    	//pink minute hand
	    push();
	    strokeWeight(2);
	    fill(221, 84, 105);
	    arc(width / 2, height / 2, width * 2, width * 2, - HALF_PI, minutesSmooth);
    	pop();
    } else if (H % 2 == 0) {
    	//green minute hand
 	    push();
	    strokeWeight(2);
	    fill(141, 173, 157);
	    arc(width / 2, height / 2, width * 2, width * 2, - HALF_PI, minutesSmooth);
    	pop();   	
    }

    //seconds circle closes and opens every 60 seconds
    push();
    stroke(58, 90, 120);
    strokeWeight(3);
    line(width / 2, height, width / 2, 0);
    pop();
    push();
    fill(141, 173, 157);
    strokeWeight(3);
    stroke(58, 90, 120);
    if (H % 2 == 1) {
    	fill(141, 173, 157);
    	ellipse(width / 2, height / 2, secondsWidth, 300);
    } else {
    	fill(221, 84, 105);
    	ellipse(width / 2, height / 2, secondsWidth, 300);
    }
    pop();

    //hours circle moves across 
    push();
    noStroke();
    fill(58, 90, 120);
    translate(width / 2, height / 2);
    ellipse(hoursSmoothWidth, 0, 50, 50);
    pop();
}

For this project I wanted to insert some 3D aspect, which is why I added a rotating circle for the seconds hand. I wanted to make the hour circle move across the screen from side to side but I ran out of time.

Initial Sketch

Yingyang Zhou-Project-06-Abstract Clock

Abstract Clock





function setup() {
	createCanvas(400, 400);
	fill(0);
}

function draw() {

	var H = hour();
	var M = minute();
	var S = second();
	var D = day();
	var MO = month();
	if (H>6 & H<18){
		background(243,234,225);
	}
	else{
		background(38, 53, 38);
	}

	for(var i = 10; i <= D*10; i += 10){
		stroke(227, 168, 34);
		line(0, height-i, i, height);
	}

	for(var a = 10; a <= MO*30; a += 30){
		stroke(119, 166, 119);
		line(width, height-a, width-a, height);
	}

	var marginX = 50;
	var marginY = 20;
	var rectH = 50;
	var rectW = 300;
	var space = (width-2*marginY-3*50)/2;
	var mappedH = map(H, 0, 23, 0, 300);
	var mappedM = map(M, 0, 59, 0, 300);
	var mappedS = map(S, 0, 59, 0, 300);

	if(H>6 & H<18){
		fill(243,234,225);
	}
	else{
		fill(38, 53, 38);
	}
	stroke(227,168,82);
	strokeWeight(2);
	rectMode(CORNER);
	rect(marginX, marginY, rectW, rectH, 20);
	stroke(156,111,79);
	rect(marginX, marginY+rectH+space, rectW, rectH, 20);
	stroke(230, 92, 27);
	rect(marginX, marginY+2*rectH+2*space, rectW, rectH, 20);

  noStroke();
	rectMode(CENTER);
	fill(200);
	rect(marginX+mappedH, marginY+rectH/2, 30, 30, 10);
	rect(marginX+mappedM, marginY+3/2*rectH+space, 30, 30, 10);
	rect(marginX+mappedS, marginY+5/2*rectH+2*space, 30, 30, 10);

	print(H);

}

The clock is display time(hour, minute, second) as major information and date(day and month) as background. The background color of day and night is different while it shows a bright color during the day and darker color at night for legibility.

Alexandra Kaplan – Looking Outwards – 06

What the E-volver looks like
Illustrates the human interaction component

The concept of the project E-volver (created in 2006) is to have humans introduce the concept of randomness. It is a software that has an “image breeding machine” that a human “gardener” can collaborate with in order to create a piece of art. I am not completely sure how the algorithm works, but it seems that there are 4 animations that go into it and randomly interact with each other. Humans add another component of randomness to it by choosing an image to be left out of the algorithm until the next person comes by and chooses the image they wish to be left out. I thought that this project was really interesting in how it had an interactive component that was essential to the purpose of the piece.

Video of one of the final pieces of art.

Daniel Teague – Looking Outwards 06 – Randomness

Project name: Random-art.org

Link: http://www.random-art.org/online/

I found this by quite literally searching “random art.” It was one of the first few things to come up. It uses an algorithm to “randomly generate” art based on the title people input. While this isn’t true randomness, it does add a factor of randomness into the mix. I think that’s what I like about this: it has kind of randomness that makes the art meaningful based on what people put into it.

Note: I was unable to obtain a photo or other media item to display on this page. I recommend going to the site for examples of the art.

Sophie Chen – Project 06 – Abstract Clock

sketch

var yoff = 0.0 ; 


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

function draw() {
	background(255, 250, 200);
    // Current time
    var H = hour();
    var M = minute();
    var S = second();

    // Map time to dimensions
    var mappedH = map(H, 0, 23, 0, height); // sun is at the bottom of the canvas at midnight, and moves up as each hour passes and is at the top of the canvas by noon.
    var mappedM = map(M, 0, 59, height - 245, 0 - 265); // minutes wave starts at the bottom of the canvas and ends at the top
    var mappedS = map(S, 0, 59, height - 265, 0 - 360); // seconds wave starts at the bottom of the canvas and ends at the top 
    
    // Sun
    fill(255, 215, 0);
    noStroke();
    ellipse(width / 2, mappedH, 200, 200);
    
    // Minutes
    fill(50, 170, 250, 90);
    beginShape(); 
    var xoff = 0;

    for (var x = 0; x <= width; x += 10) {
    // Noise
    var y = map(noise(xoff, yoff), 0, 1, 200, 300) + mappedM; // the level of the wave increases horizontally each minute
    // Set vertex
    vertex(x, y); 
    // Increase x dimension for noise
    xoff += 0.04;
  }
    // Increase y dimension for noise
    yoff += 0.005;
    vertex(width, height);
    vertex(0, height);
    endShape(CLOSE);
    
    // Seconds
    fill(50, 190, 150, 90);
    beginShape(); 
    var xoff = 0;     
    
    for (var x = 0; x <= width; x += 10) {
    
    // Noise
    var y = map(noise(xoff, yoff), 0, 1, 200, 400) + mappedS; // the level of the wave increases horizontally each second
    // Set vertex
    vertex(x, y); 
    // Increase x dimension for noise

    xoff += 0.04;

  }
    // Increase y dimension for noise
    yoff += 0.005;
    vertex(width, height);
    vertex(0, height);
    endShape(CLOSE);
}

For this project I wanted to create something more environmental and fluid in contrast to the constant and rigid nature of time passing. My concept was to have the sun move up or down according to the hour and two different layers of landscape/waves, one indicating seconds and one indicating minutes. I thought perlin noise would be perfect for this, and although it took me a while to understand how to manipulate the variables, I think it came together nicely in the end.

sketch

Sophia Kim-Project 6-Abstract Clock/Sec C

sketch

// Sophia S Kim
// Section C 1:30
// sophiaki@andrew.cmu.edu 
// Project-06-Abstract Clock


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

function draw() {
  //time variables 
  var H = hour();
  var M = minute();
  var S = second();

  //gets darker by the HOUR
  background (233 - (2*H), 237 - (2*H), 255 - (2*H));

  // variables for objects 
  var lemonWidth; //width of lemon
  var lemonHeight; //height of lemon 
  var liquidY = 190; //liquid Y psition
  var liquidH = 210; //liquid height
  var dropX = []; //water drop X
  var dropY = []; //water drop Y



  //static table 
  noStroke();
  fill(140, 94, 3);
  rect(0, 350, 480, 100); //top of table

  noStroke();
  fill(102, 69, 2);
  rect(0, 450, 480, 30); //side of table

  //static beach sand 
  noStroke();
  fill(242, 211, 148); 
  rect(0, 240, 480, 110);

  //beach water
  //water gets darker ever hour 
  noStroke();
  fill(62 - (2*H), 214 - (2*H), 255 - (2*H));
  ellipse(240, 240, 600, 130);
  rect(0, 140, 480, 80);

  //lemon 
  //changes lemon width and height every SECOND 
  //pattern of not squeezed and squeezed
  fill(226, 239, 48);
  if((S%2) > 0) {
    lemonWidth = 70;
    lemonHeight = 70;
  } 
  else {
    lemonWidth = 60;
    lemonHeight = 40;
  }
  ellipse(295, 180, lemonWidth, lemonHeight);

  //drink glass
  noStroke();
  fill(161, 235, 255);
  rect(185, 180, 110, 220);
  ellipse(width/2, 398, 110, 60);

  //drink liquid
  noStroke();
  fill(234, 117, 117);
  ellipse(width/2, 398, 100, 50);
  rect(190, liquidY + (3*M), 100, liquidH - (3*M));
  //allows liquid to decrease every MINUTE
}

I wanted to make an illustration that relaxed the viewers and made them not too anxious about time. The possible settings I was thinking about were beaches, mountains, and waterfalls. I was craving bubble tea this whole week, so I decided to make a drink with a beach view. At the beginning of sketching, I got very excited with my concept. However, overtime, I decided to change the original parts of the abstract clock to something new. At first, I wanted to make water droplets to form on the glass every minute. Instead, I made the liquid level to decrease by every minute. For every hour, I changed the sky color and the ocean water color to become darker. At first, I had a hard time with how the time variables would interact with the shapes and colors. Midway through the process, I started to get the hang of where the time variables can be used in the code. I had a lot of fun with this assignment, because seeing the colors and the liquid height change were very satisfying.

Sharon Yang Looking Outwards -06 Randomness in Art


Vladimir Kanic’s Random Generative Art

Generative art pieces based on randomness that I find admirable is Vladimir Kanic’s art pieces. The artist was inspired by chaos theory and explored using randomness as a structure of his works. The type, the genre and the content of his works were determined through observing and measuring random events. In order to do this, he devised a system which models randomness called ‘Magic Box’, which is twelve boxes being given to random art directors, and each one put a random number of randomly selected objects inside. Then, a group of random people placed the objects in the boxes a completely random and unorganized stash, and the artist chose one of the boxes to generate art out of it. He mainly created a film out of these random objects, generating patterns using various algorithms to create even more randomness in his pieces.

Catherine Coyle – Looking Outwards – 06

Jackson Pollock is on of my favorite artists and as he was mentioned in the description for this assignment, his work with ‘drip painting’ (splatter paint) is the definition of randomness in art.

Pollock’s work ‘Autumn Rhythm’

 

It is hard to say what his intentions and feelings were when making these paintings, I’ve heard this style called ‘action painting’ because the artist can literally be just throwing paint at the canvas. In this way, the art can feel very emotional while also being completely random. There’s no real way/reason to predict where the paint will land on the canvas, but that is part of the emotion and feeling behind it.

I think Pollock’s work in this area is very admirable as it was extremely experimental but it caught on. I think it is amazing how even pure randomness can create beautiful artworks.

Sophie Chen – Looking Outwards – 06

Post-Digital Mirror by Pascal Dombis

Post-Digital Mirror (B4, B5 & B6), 2010 / Exhibition view, Eurasia, The Cat Street Gallery, Hong Kong, 2012

Exhibited all over the world, these images are created by French artist Pascal Dombis through manipulating computer generated hyper-structures which he synthesizes into abstract digital paintings.  Dombis uses computer algorithms to create excessive repetitions of simple processes that create unpredictable and dynamic visual results. More specifically, Dombis uses an elementary warped prototype as his computational starting point, computing the curved geometric element that ends up forming these intricate configurations that would be impractical to generate manually. I really appreciate the digital yet organic quality to these pieces, and there’s something about having these intricate digital and generated content printed out physically and placed in a gallery that I find very refreshing and appealing. The random and digital nature combined with the tangibility and scale of the physical prints makes these pieces very intentional and I would love to see them in person someday.

Post-Digital Mirror (A6 & A7), 2014 / Exhibition view, Monochrome, The Société, Brussels,BE / Lenticular print on aluminum composite, 2 panels, 1.10 × 1.80 m (each) / Photo : Freddy D’hoe
Post-Digital, TZR Galerie Kai Brückner, Düsseldorf, 2013 / Exhibition view

Kevin Riordan Looking Outwards-06-Section C

Abstraction. 2005 by Bogdan Soban

For this week’s looking outwards I looked at a project by Bogdan Soban, who uses random generative processes to create artwork. One example is Abstraction, done in 2005 by this random algorithm. I admire how every piece he makes with this process ends up looking completely different, in every way possible. The style and color palette are unique to each art piece. He uses Visual Basic to create the art, and uses a random number generator to calculate the seed start time for the generative process. I admire the algorithms he has created more than this specific piece, and am using it only as an example. He has created many different programs that create different style pieces, such as CREATOR, DISCOVERER, COLLAGE, and more. He even released these programs for free on his site, and below are two images showing the interfaces for two of these programs.

Interface for CREATOR
Interface for DISCOVERER