Willkommen auf unserem Seminar-Blog

Immer auf dem aktuellen Stand bleiben

Dieser Seminar-Blog befindet sich noch im Aufbau und wird in den kommenden Tagen entsprechend verfeinert.

Member Login

Lost your password?

Registration is closed

Sorry, you are not allowed to register by yourself on this site!

You must either be invited by one of our team member or request an invitation by email at viad.info {at} zhdk {dot} ch.

Processing, die Zweite: digitale Ornamente

21. September 2012

Nach erstem Gehen und Stürzen mit den Smileys wagten wir uns nun an eine neue Arbeit heran. Ziel: Mit einem grafischen Fragment soll ein ganzes Ornament entstehen. Mein grafisches Fragment ist eine einfach geometrische Grundform, das Quadrat. Im Ornament sind diese rasterartig ausgelegt, wobei es gesamthaft zwei Raster gibt. Die Quadrate auf dem Raster lassen sich mit der Maus drehen. Das eine Raster reagiert auf die y-Koordinate der Maus, das andere Raster auf die x-Koordinate, wobei sich beim zweiten auch noch die Farbe der Quadrate je nach Mausposition ändert. So lassen sich Würfel auf die beiden Würfelraster beliebig drehen. Je nach Konstellation entsteht ein anderes Ornament. To do: Weg vom Quadrat. Grafisches Fragment kreieren, das in der ornamentalen Anordnung mehr ineinander greift. Farben vielleicht etwas knalliger, weniger cremig. Update: Aus dem Quadrat wurde ein Rhombus. Damit sind neue, mehr ineinandergreifende Ornamente möglich. Siehe letzte 3 Bilder.
</pre>
import processing.pdf.*;
void setup()
{
 size(600,600); // def. fenstergroesse

smooth(); // aktiviere antialiasing
 strokeWeight(0); // linienbreite
 stroke(255);
 frameRate(10);
}
float colorCount1 = 1;
float colorCount2 = 1;
float colorCount3 = 1;
void draw()
{
 background(255); // def. hintergrundfarbe
 float trackerX = mouseX;
 float trackerY= mouseY;

for(int x = -30; x <= width; x+=60)
 {
 for(int y = -30; y <= height; y+=60)
 {
 pushStyle();
 noStroke();
 pushMatrix();
 translate(x,y);
 rotate(trackerY/100);
 scale(.12);
 rhombus2(color(200, colorCount2, colorCount1));
 // funtions aufruf
 stroke(color(200, colorCount2, colorCount1));
 popMatrix();
 popStyle();
 }
 }




 for(int x = 0; x <= width; x+=60)
 {
 for(int y = 0; y <= height; y+=60)
 {


 pushMatrix();
 translate(x,y);

 rotate(trackerX/100);

scale(.12);
 colorCount1 = trackerY/2.35;
 colorCount2 = trackerX/2.35;
 colorCount3 = trackerX/trackerY;
 rhombus2(color(200, colorCount2, colorCount1));
 stroke(color(200, colorCount2, colorCount1));
 // funtions aufruf
 popMatrix();






 }
 }


 print(colorCount1);
 print("/");
 print(colorCount2);
 print("/");
 println(colorCount3);
/*
for(int x = -30; x <= width; x+=60)
 {
 for(int y = -30; y <= height; y+=60)
 {
 pushMatrix();
 translate(x,y);
 scale(.099);
 ellipse1(); // funtions aufruf
 popMatrix();
 }
 }

*/
}

&nbsp;

// funktion
void rhombus(color farbe)
{
 beginShape();
 fill(farbe);
 vertex(300, 50);
 vertex(450, 300);
 vertex(300, 550);
 vertex(150, 300);
 endShape(CLOSE);

 line(300, 50, 300, 0);
 line(550, 300, 600, 300);
 line(300, 550, 300, 600);
 line(50, 300, 0, 300);

}

void rhombus2(color farbe)
{
 beginShape();
 fill(farbe);
 vertex(300, 50);
 vertex(450, 300);
 vertex(300, 550);
 vertex(150, 300);
 endShape(CLOSE);
 /*
 line(300, 50, 300, 0);
 line(550, 300, 600, 300);
 line(300, 550, 300, 600);
 line(50, 300, 0, 300);
 */
}

void ellipse1()
{
 ellipse(20, 20, 300, 300);
}
<pre>