Links
- The Green Eyl: MIT Media Lab Identity
- Feltron Annual Report
- Marc Saporta: Composition No. 1 (Buch)
- Generatives Corporate Design (Studentenarbeit FH Potsdam)
Ein Logo für Staaten
Für einen beliebigen Staat übernehmen wir drei Kennzahlen aus dem CIA World Factbook.
String name = "Germany"; float medianAge = 45.7; float birthRate = 8.37; float urbanization = 74;
Schriftart und Bildgröße.
PFont f;
void setup() {
size(400,400);
f = createFont("HypatiaSansPro-Regular.otf",24);
}
Darstellen von drei Kreisen abhängig von den drei Kennzahlen.
void draw() {
background(255);
float kreis1 = birthRate;
float kreis2 = medianAge;
float kreis3 = urbanization;
ellipseMode(CENTER);
noStroke();
fill(128,0,0,100);
ellipse(width/2-kreis1/2,height/2,kreis1,kreis1);
ellipse(width/2,height/2-kreis2/2,kreis2,kreis2);
ellipse(width/2+kreis3/2,height/2,kreis3,kreis3);
textFont(f,24);
textAlign(CENTER,CENTER);
text(name, width/2, height/2+kreis2);
}
Verändern der Farbe mit einer der Kennzahlen. Dazu: map(...) überträgt Daten aus einen Bereich in einen anderen. Hier: urbanization wird von einer Prozentzahl (von 0 bis 100) zu einem Farbwert (von 0 bis 255, benutzt für Blau).
void draw() {
background(255);
float kreis1 = birthRate;
float kreis2 = medianAge;
float kreis3 = urbanization;
ellipseMode(CENTER);
noStroke();
fill(64,64,map(urbanization,0,100,0,255),100);
ellipse(width/2-kreis1/2,height/2,kreis1,kreis1);
ellipse(width/2,height/2-kreis2/2,kreis2,kreis2);
ellipse(width/2+kreis3/2,height/2,kreis3,kreis3);
textFont(f,24);
textAlign(CENTER,CENTER);
text(name, width/2, height/2+kreis2);
}
Regelung des Abstandes von Bild und Text über den größten Kreis (zwei Drittel vom größten Kreisdurchmesser) via max(...).
void draw() {
background(255);
float kreis1 = birthRate;
float kreis2 = medianAge;
float kreis3 = urbanization;
fill(64,64,map(urbanization,0,100,0,255),100);
ellipseMode(CENTER);
noStroke();
ellipse(width/2-kreis1/2,height/2,kreis1,kreis1);
ellipse(width/2,height/2-kreis2/2,kreis2,kreis2);
ellipse(width/2+kreis3/2,height/2,kreis3,kreis3);
textFont(f,24);
textAlign(CENTER,CENTER);
text(name, width/2, height/2+max(kreis1,kreis2,kreis3)*2/3);
}
Abspeichern des Bildes mit saveFrame(...) oder schlauer: PDF-Export.
void keyPressed() {
saveFrame(name+".tif");
}
↑