 # ehe­n­6­5­5­3­_­a­s­s­e­s­s­m­e­n­t 2

## Inspiration

I looked at various generative logos and designs as well as geometric patterns during my design process. I liked the simplicity of the following generative design and how, to me, it demonstrated a core idea and all the links associated with that idea - a nice representation of how designs develop and to extension, how the design lab's research begins. image source

I also liked the idea of sparklers, a metaphor for the "spark" of an idea which may lead to a design. image source

## Progress

I went through multiple designs before coming up with one that i thought both suited the brief while also providing a clean, contemporary and appealing aesthetic.

#### Design 1: Lightglobe

My first design focused on the concept of a lightglobe as a common representation of new ideas. I wanted to include sparks, ommitted from the filament to portray the initial spark of a new idea and the excitement in the mind of an individual when this idea first occurs. Initial sketches (see image 1) included moving trianlgles in the globe. Although I originally liked the idea of this logo, the resulting design was too busy, messy, and not necessarily scaleable.

• Show Sketch
``````/* @peep sketchcode **/
float y = 200;
float x = 200;
float outer = 300; //circumference of boundary
float angle = 0.0;

color yellow = color(234, 255, 23);

PFont f1; //declare font variable
PFont f3;
PImage img; //declare image variable

void setup() {
size(400, 475);
background(0);
smooth();
f1 = createFont("Controller-One", 40);
textFont(f1);
f3 = createFont("Controller-Three", 40);
textFont(f3);
}

void draw() {

//draw lightbulb
pushMatrix();
smooth();
noFill();
stroke(255, 60);
strokeWeight(1.5);
line(200, 50, 140, 75);
line(200, 50, 260, 75);
line(140, 75, 120, 110);
line(260, 75, 280, 110);
line(165, 300, 235, 300);
line(120, 110, 165, 300);
line(235, 300, 280, 110);
line(165, 320, 200, 340);
line(235, 320, 200, 340);
rect(165, 300, 70, 20);

//draw globe filament
line(190, 300, 175, 145);
line(210, 300, 225, 145);
line(225, 145, 200, 160);
line(175, 145, 200, 160);
popMatrix();

//write 'designlab'
pushMatrix();
fill(255);
smooth();
textAlign(RIGHT);
textFont(f3);
text("design", 240, 400);
textAlign(LEFT);
textFont(f1);
text("lab", 240, 400);
popMatrix();

noStroke();
fill(0, 10);
rect(0, 0, width, height);

//sparkle properties
stroke(yellow, 100);
noFill();
strokeWeight(2);

//draw spark lines
float ox = x + outer * cos(x*radius);
float oy = y + outer * sin(y*radius);

pushMatrix();
translate(200, 160);
line(0, 0, ox, oy);
popMatrix();

//draw spark end points
pushMatrix();
strokeWeight(4);
translate(200, 160);
line(ox, oy, ox, oy);
popMatrix();

//set constraints on sparks
x += random(-2, 2);
y += random(-2, 2);
x = constrain(x, 0, 30);
y = constrain(y, 0, 30);

}``````

#### Design 2: Gears

My second design sought to portray the systematic process of developing an idea through the image of moving cogwork. The aim for this design was to have the outer and core circles moving clockwise with the inner circle moving anti-clockwise in order to impersinate moving cogs. I was pleased with the design of this logo and would have liked to have gone with it, however found difficulty when it came to programming the endpoints of each line to rotate in a circular motion. I think this logo would have met the brief and would have looked good as a generative logo had I succeeded in animating it.

• Show Sketch
``````/* @peep sketchcode **/
float x = 250; //centre x coordinate of circle
float y = 200; //centre y coordinate of circle
float outer1 = 150;
float outer2 = 115;
float outer3 = 80;
float angle = 0.0;
int points = 360;
float delta = radians(360/points);  //calculate angle between points

//declare fonts
PFont f1;
PFont f3;

//setup
size(500, 500);
background(0);
smooth();
f1 = createFont("Controller-One", 45);
textFont(f1);
f3 = createFont("Controller-Three", 45);
textFont(f3);

//write 'designlab'
pushMatrix();
fill(234, 255, 23);
smooth();
textAlign(RIGHT);
textFont(f3);
text("design", x+45, 420);
textAlign(LEFT);
fill(255);
textFont(f1);
text("lab", x+45, 420);
popMatrix();

//draw circles
//draw larger circle lines
pushMatrix();
stroke(234, 255, 23, random(50, 100));
strokeWeight(1);
noFill();
for (int i = 0; i < points; i += 5) {
float ox = x + outer1 * cos(i*delta);
float oy = y + outer1 * sin(i*delta);
line(x, y, ox, oy);
}

//draw larger circle endpoints
fill(234, 255, 23);
for (int i = 0; i < points; i += 5) {
float ox = x + outer1 * cos(i*delta);
float oy = y + outer1 * sin(i*delta);
ellipse(ox, oy, 2, 2);
}
popMatrix();

//draw middle circle lines
pushMatrix();
stroke(255, random(50, 60));
strokeWeight(1);
noFill();
for (int i = 0; i < points; i += 5) {
float ox = x + outer2 * cos(i*delta);
float oy = y + outer2 * sin(i*delta);
line(x, y, ox, oy);
}

//draw middle circle endpoints
fill(255);
for (int i = 0; i < points; i += 5) {
float ox = x + outer2 * cos(i*delta);
float oy = y + outer2 * sin(i*delta);
ellipse(ox, oy, 2, 2);
}
popMatrix();

//draw inner circle lines
pushMatrix();
stroke(255, random(50, 110));
strokeWeight(1);
noFill();
for (int i = 0; i < points; i += 5) {
float ox = x + outer3 * cos(i*delta);
float oy = y + outer3 * sin(i*delta);
line(x, y, ox, oy);
}

//draw inner circle endpoints
fill(234, 255, 23);
for (int i = 0; i < points; i += 5) {
float ox = x + outer3 * cos(i*delta);
float oy = y + outer3 * sin(i*delta);
ellipse(ox, oy, 2, 2);
}
popMatrix();``````

#### Design 3: Final Design

My final design took inspiration from my second design in terms of looking at cogwork as a representation of ideas. Each ellipse in the final design represents an element of an idea. The ellipses rotate around each other at different speeds to demonstrate the manner in which ideas change and develop over time - initially starting off slow, then speeding up as you begin to work on the idea. The ellipses stop and start at various intervals, presenting the disatisfaction we may often have with an idea then going back to it later to improve it.

I believe the final design meets the brief by providing a clean, contemporary design that meets the current vision of the existing style whilst also conveying the design lab's objective to conduct design focused research and the involvement of idea generation in this process. Furthermore, it can be scaled to various resolutions to suit different mediums.

• Show Sketch
``````/* @peep sketchcode **/
float angle = 0.0; //start angle
float speed = 1;
float r = 0.1;
float x = 250;
float y = 200;

//declare fonts
PFont f1;
PFont f3;

//setup canvas
void setup() {
size(500, 500);
background(0);
smooth();
noStroke();
f1 = createFont("Controller-One", 45);
textFont(f1);
f3 = createFont("Controller-Three", 45);
textFont(f3);
}

void draw() {

fill(0, 200);
rect(0, 0, width, height);

//write 'designlab'
pushMatrix();
fill(234, 255, 23);
smooth();
textAlign(RIGHT);
textFont(f3);
text("design", x+45, 420);
textAlign(LEFT);
fill(255);
textFont(f1);
text("lab", x+45, 420);
popMatrix();

//draw gear cogs
pushMatrix();
r+=0.2;
angle += speed;
translate(250, 200);

for(int i = 0; i < 20; i ++) {
fill(169, 169, 169);
ellipse(100, 100, 5, 5);
}

for(int i = 0; i < 20; i ++) {
fill(211, 211, 211);
ellipse(75, 75, 5, 5);
}

for(int i = 0; i < 20; i ++) {
fill(245, 245, 245);
ellipse(50, 50, 5, 5);
}

for(int i = 0; i < 20; i ++) {
fill(255);
ellipse(25, 25, 5, 5);
}
popMatrix();
}``````

## Examples of logo at different scales

#### Banner

• Show Sketch
``````/* @peep sketchcode **/
float angle = 0.0; //start angle
float speed = 1;
float r = 0.1;
float x = 250;
float y = 200;

//declare fonts
PFont f1;
PFont f3;

//setup canvas
void setup() {
size(1000, 400);
background(0);
smooth();
noStroke();
f1 = createFont("Controller-One", 60);
textFont(f1);
f3 = createFont("Controller-Three", 60);
textFont(f3);
}

void draw() {

fill(0, 200);
rect(0, 0, width, height);

//write 'designlab'
pushMatrix();
fill(234, 255, 23);
smooth();
textAlign(RIGHT);
textFont(f3);
text("design", x+500, height/2+20);
textAlign(LEFT);
fill(255);
textFont(f1);
text("lab", x+500, height/2+20);
popMatrix();

//draw gear cogs
pushMatrix();
r+=0.2;
angle += speed;
translate(width/4, 200);

for(int i = 0; i < 20; i ++) {
fill(169, 169, 169);
ellipse(100, 100, 5, 5);
}

for(int i = 0; i < 20; i ++) {
fill(211, 211, 211);
ellipse(75, 75, 5, 5);
}

for(int i = 0; i < 20; i ++) {
fill(245, 245, 245);
ellipse(50, 50, 5, 5);
}

for(int i = 0; i < 20; i ++) {
fill(255);
ellipse(25, 25, 5, 5);
}
popMatrix();
}``````

### Icon

• Show Sketch
``````/* @peep sketchcode **/
float angle = 0.0; //start angle
float speed = 1;
float r = 0.1;
float x = 250;
float y = 200;

//declare fonts
PFont f1;
PFont f3;

//setup canvas
void setup() {
size(200, 200);
background(0);
smooth();
noStroke();
f1 = createFont("Controller-One", 24);
textFont(f1);
f3 = createFont("Controller-Three", 24);
textFont(f3);
}

void draw() {

fill(0, 200);
rect(0, 0, width, height);

//write 'designlab'
pushMatrix();
fill(234, 255, 23);
smooth();
textAlign(RIGHT);
textFont(f3);
text("design", width/2+22, height/2+5);
textAlign(LEFT);
fill(255);
textFont(f1);
text("lab", width/2+22, height/2+5);
popMatrix();

//draw gear cogs
pushMatrix();
r+=0.2;
angle += speed;
translate(width/2, height/2);

for(int i = 0; i < 20; i ++) {
fill(169, 169, 169);
ellipse(50, 50, 5, 5);
}

for(int i = 0; i < 20; i ++) {
fill(211, 211, 211);
ellipse(35, 35, 5, 5);
}

for(int i = 0; i < 20; i ++) {
fill(245, 245, 245);
ellipse(20, 20, 5, 5);
}

for(int i = 0; i < 20; i ++) {
fill(255);