5. Oktober 2012
Basierend auf den Grundlagen vom Morgen mussten für ein Smiley mit verschiedenen Gemütszuständen visualisiert werden. Diese konnten durch die Tastaturbelegung 1-9 aufgerufen werden. Dies waren meine ersten Schritte in Processing. Grösste Herausforderung, stellte die Tatsache dar, dass mittels PushMatrix der Mittelpunkt des Koordiantensystem verschoben wird. Ebenso war die "unlogische" Orientierung mit der positiven X-Achse nach unten. Knacknüsse an denen ich zuknabbern hatte.int SMILEY_DEFAULT = 1; int SMILEY_SAD = 2; int SMILEY_DRUNK = 3; int SMILEY_ANGRY = 4; int SMILEY_OLD = 5; int SMILEY_ASTOUND = 6; int SMILEY_SLEEPY = 7; int SMILEY_HORNY = 8; int SMILEY_PANIC = 9; int smileyType = SMILEY_DEFAULT; void setup() { size(480, 480); //Canvas Grösse smooth(); //Anti-Alising, Kantenglättung strokeWeight(15); //Linien-Breite } void keyPressed() //Funktionsaufruf für Tastaturbelegung. Mit dem Drücken einer Taste 'if' wird folgenden Funktion ausgelöst. { if (key == '1') { smileyType = SMILEY_DEFAULT; } if (key == '2') { smileyType = SMILEY_SAD; } if (key == '3') { smileyType = SMILEY_DRUNK; } if (key == '4') { smileyType = SMILEY_ANGRY; } if (key == '5') { smileyType = SMILEY_OLD; } if (key == '6') { smileyType = SMILEY_ASTOUND; } if (key == '7') { smileyType = SMILEY_SLEEPY; } if (key == '8') { smileyType = SMILEY_HORNY; } if (key == '9') { smileyType = SMILEY_PANIC; } } void draw() { background(34,234,234); //Bestimmung der Hintergrundfarbe in RGB //PushMatrix damit das Smiley in der Mitte ("0.5) angeordnet wird. pushMatrix(); translate(width * 0.5, width * 0.5); smiley(smileyType); //Funktionsaufruf) popMatrix(); } //Funktion void smiley(int smileyType) { noFill(); ellipse(0,0,180,180); //Kreis für Kopf fill(0); // Smiley auf Taste 1 if (smileyType == SMILEY_DEFAULT) { ellipse(0-30, 0-30, 20, 20); //Linkes Auge, (Koordinate X, Koordinate Y, Breite, Höhe) ellipse(0+30, 0-30, 20, 20); //Rechtes Auge noFill(); //damit der Bogen keine Füllung hat arc(0,0,100,100,radians(20),radians(180-20)); //macht den Bogen für den Mund } // Smiley auf Taste 2 if (smileyType == SMILEY_SAD) { noFill(); arc(0-30, 0-30, 30, 20, radians(20),radians(180-20)); //Rechtes Auge arc(0+30, 0-30, 30, 20, radians(20),radians(180-20)); //Rechtes Auge line(0-40, 0+40, 0+40, 0+40); //Gerader Mund mit Linie gelöst } // Smiley auf Taste 3 if (smileyType == SMILEY_DRUNK) { //rechtes Auge line(0-45, 0-30, 0-10, 0); line(0-45, 0, 0-10, 0-30); //linkes Auge line(0+45, 0-30, 0+10, 0); line(0+45, 0, 0+10, 0-30); line(0-40, 0+40, 0+40, 0+40); //gerader Mund mit Linie gelöst } // Smile auf Taste 4 if (smileyType == SMILEY_ANGRY) { //rechtes Auge line(0-45, 0-45, 0-10, 0-30); //Augenbraue Rechts ellipse(0-30, 0-30, 15, 15); // Auge Rechts line(0+45, 0-45, 0+10, 0-30); //Augenbraue Links ellipse(0+30, 0-30, 15, 15); // AUge Links quad(0-20, 0+25, 0+20, 0+25, 0+20, 0+10, 0-20, 0+10); //Evil Schnauz line(0-30, 0+50, 0+30, 0+50); //gerader Mund mit Linie gelöst //Gerader Mund line(0-45, 0-75, 0-35, 0-65); //erstes Haar line(0-15, 0-85, 0+5, 0-65); //zweites Haar line(0+15, 0-85, 0+35, 0-65); //erstes Haar } // Smiley auf Taste 5 if (smileyType == SMILEY_OLD) { ellipse(0-30, 0-30, 35, 35); // Auge Rechts ellipse(0+30, 0-30, 35, 35); // Auge Links line(0-85, 0-30, 0+85, 0-30); //Brillenlinie line(0-30, 0+50, 0+30, 0+50); //gerader Mund mit Linie gelöst //Gerader Mund } // Smiley auf Taste 6 if (smileyType == SMILEY_ASTOUND) { noFill(); ellipse(0-40, 0-30, 40, 40); // Auge Rechts ellipse(0+40, 0-30, 40, 40); // Auge Links ellipse(0,0+35, 60, 60); } // Smiley auf Taste 7 if (smileyType == SMILEY_SLEEPY) { ellipse(0-30, 0-30, 5, 5); // Auge Rechts ellipse(0+30, 0-30, 5, 5); // Auge Links line(0-30, 0+30, 0+30, 0+30); //Mund } // Smiley auf Taste 8 if (smileyType == SMILEY_HORNY) { line(0-45,0-45, 0+45, 0-45); //Augebraue ellipse (0-25, 0-30, 20, 20); // Rechtes Auge ellipse (0+25, 0-30, 20, 20); // Linkes Auge ellipse (0+35, 0+45, 15, 15); // Zunge noFill(); arc(0,0,100,100,radians(20),radians(180-20)); //macht den Bogen für den Mund } // Smiley auf Taste 9 if (smileyType == SMILEY_PANIC) { ellipse(0-30, 0-30, 20, 20); //Linkes Auge, (Koordinate X, Koordinate Y, Breite, Höhe) ellipse(0+30, 0-30, 20, 20); //Rechtes Auge } }