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.

Samuel: Lektion 4 – Ornament

9. November 2010

Mein Ornament einzeln Mein Ornament Als Ausgangsobjekt verwende ich zwei sich rechtwinklig kreuzende, gleich lange und gleich dicke Linien. Diese Funktion heisst "kreuz()" bei mir. Die Länge der Linien habe ich in der Variablen "length" untergebracht, damit ich diese immer einfach anpassen kann, und nicht acht mal den Wert schreiben muss. Natürlich müsste diese Variable nicht "float" sein, sondern könnte genau so gut als "int" gespeichert werden, aber das kommt noch aus meiner Experimentierphase, als ich noch mit der "random()"-Funktion herumgespielt habe.
void kreuz()
{
  noFill();
  strokeWeight(15));
  float length = 300; // definiert die Länge der Linien
  line(-length,-length,length,length);
  line(-length,length,length,-length);
}
Nun wird mein "Kreuz" in der Funktion "draw()" positioniert und gezeichnet, wobei es bei jedem Durchgang um 0.1 π gedreht wird. Dies geschieht in folgenden Zeilen:
void draw()
{
  background(255);
        float rota = 1;
  for(int x = 0; x <= width; x+=30)
  {
    for(int y = 0; y <= height; y+=30)
    {

      pushMatrix();
        translate(x,y);
        scale(.1);
        rotate(rota);
        kreuz();
      popMatrix();
      rota = rota + .1*PI;
    }
  }

  exit();
}
Und hier der komplette Code:
import processing.pdf.*;
void setup()
{
  size(600,600,PDF,"ornament_2.pdf");

  smooth();
  strokeWeight(15);
}

void draw()
{
  background(255);
        float rota = 1;
  for(int x = 0; x <= width; x+=30)
  {
    for(int y = 0; y <= height; y+=30)
    {

      pushMatrix();
        translate(x,y);
        scale(.1);
        rotate(rota);
        kreuz();
      popMatrix();
      rota = rota + .1*PI;
    }
  }

  exit();
}

// funktion
void kreuz()
{
  noFill();
  strokeWeight(15));
  float length = 300;
  line(-length,-length,length,length);
  line(-length,length,length,-length);
}
Das Ganze lässt sich sehr gut kombinieren wie man bei folgenden Ansichten sehen kann: Zusammengesetztes Ornament Und hier noch mit sichtbarer Unterteilung: Zusammengesetztes Ornament mit Unterteilungslinien Öhm ja. das wär's. Lieber Gruss und so.