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"); }↑