diff --git a/Zeichnen/Gesicht/Gesicht.pde b/Zeichnen/Gesicht/Gesicht.pde new file mode 100644 index 0000000..2d5db28 --- /dev/null +++ b/Zeichnen/Gesicht/Gesicht.pde @@ -0,0 +1,8 @@ +fill (0); +ellipse (50,50,60,60); +fill (253); +ellipse (40,45,20,20); +ellipse (60,45,20,20); +fill (0); +ellipse (40,45,4,4); +ellipse (60,45,4,4); diff --git a/Zeichnen/Gesicht_mit_Mund/Gesicht_mit_Mund.pde b/Zeichnen/Gesicht_mit_Mund/Gesicht_mit_Mund.pde new file mode 100644 index 0000000..fe136c2 --- /dev/null +++ b/Zeichnen/Gesicht_mit_Mund/Gesicht_mit_Mund.pde @@ -0,0 +1,20 @@ +size(200, 200); + + +fill (0); //schwarzes Gesicht +ellipse (50,50,60,60); +fill (253); //weiße Augen +ellipse (40,45,20,20); +ellipse (60,45,20,20); +fill (0); //schwarze Augenfarbe +ellipse (40,45,4,4); +ellipse (60,45,4,4); + +fill (253); //weißer Mund +ellipse (50,65,40,10); + +stroke (0); //Zähne +line (30,65, 70,65); +line (50,60, 50,70); //mittel Zahnlinie +line (40,60, 40,70); +line (60,60, 60,70); diff --git a/Zeichnen/Haus_mit_Begin_Shape/Haus_mit_Begin_Shape.pde b/Zeichnen/Haus_mit_Begin_Shape/Haus_mit_Begin_Shape.pde new file mode 100644 index 0000000..d5c0f1d --- /dev/null +++ b/Zeichnen/Haus_mit_Begin_Shape/Haus_mit_Begin_Shape.pde @@ -0,0 +1,12 @@ +beginShape (); // Dachfigur +vertex (50, 10); // Spitze +vertex (70, 30); //rechts +vertex (30, 30); //links +endShape (CLOSE); + +beginShape (); // Haus +vertex (30,30); //oben links +vertex (30, 65); // unten links +vertex (70, 65); // unten rechts +vertex (70,30); // oben rechts +endShape (CLOSE); diff --git a/Zeichnen/Haus_mit_Grundformen/Haus_mit_Grundformen.pde b/Zeichnen/Haus_mit_Grundformen/Haus_mit_Grundformen.pde new file mode 100644 index 0000000..6f2296b --- /dev/null +++ b/Zeichnen/Haus_mit_Grundformen/Haus_mit_Grundformen.pde @@ -0,0 +1,3 @@ +rect (25, 35, 50, 45); // das Rechteck (Haus) + +triangle (25,35, 50, 10, 75, 35); // das Dreieck (Dach) diff --git a/Zeichnen/Rainbow/Rainbow.pde b/Zeichnen/Rainbow/Rainbow.pde new file mode 100644 index 0000000..4e95ae8 --- /dev/null +++ b/Zeichnen/Rainbow/Rainbow.pde @@ -0,0 +1,13 @@ +void setup() { + size(700, 600); + background (0,0,253); + noStroke (); + fill (253,0,0); + arc (350,600, 700,700, radians (180), radians (360)); + fill (240, 150,0); + arc (350,600,550,550, radians (180), radians (360)); + fill (250, 300, 0); + arc (350, 600, 400,400, radians (180), radians (360)); + fill (0,0, 253); + arc (350,600, 250, 250, radians (180), radians (360)); +} diff --git a/Zeichnen/Schwarz_wei__rechteck/Schwarz_wei__rechteck.pde b/Zeichnen/Schwarz_wei__rechteck/Schwarz_wei__rechteck.pde new file mode 100644 index 0000000..3e12426 --- /dev/null +++ b/Zeichnen/Schwarz_wei__rechteck/Schwarz_wei__rechteck.pde @@ -0,0 +1,3 @@ +rect (20,10, 30,55); +fill (0); +rect (50,10,30,55); diff --git a/Zeichnen/Smiley/Smiley.pde b/Zeichnen/Smiley/Smiley.pde new file mode 100644 index 0000000..a2b2fe1 --- /dev/null +++ b/Zeichnen/Smiley/Smiley.pde @@ -0,0 +1,6 @@ +fill (250, 200,0); +ellipse (50,50,50,50); // Kopf +triangle (50,50, 45,55, 55, 55); // Nase +ellipse (40,50,5,5); // linkes Auge +ellipse (60,50,5,5); +arc (50,55, 35, 30, radians(0), radians(180)); diff --git a/Zeichnen/Stern/Stern.pde b/Zeichnen/Stern/Stern.pde new file mode 100644 index 0000000..7a31344 --- /dev/null +++ b/Zeichnen/Stern/Stern.pde @@ -0,0 +1,16 @@ +background (233,0,57); // roter Hintergrund +noStroke (); // Entfernung der Linien um Überlappung beider Figuren zu verbergen +fill (1,50,100); //blaue Färbung +beginShape (); // Vieleck mit Spitze nach oben +vertex (30,80); //linker "Fuß" +vertex (50,15); //die obere Spitze +vertex (70,80); //rechter "Fuß" +vertex (45,60); // Verbindungspunkt +endShape (); + +beginShape (); //Vieleck mit Spitze nach schräg rechts +vertex (80, 40); // rechter Arm Spitze +vertex (30, 80); // linker Fuß +vertex (35, 55); // Verbindungspunkt +vertex (20, 40); // linker Arm Spitze +endShape (); diff --git a/Zeichnen/Stern_abgebe_version/Stern_abgebe_version.pde b/Zeichnen/Stern_abgebe_version/Stern_abgebe_version.pde new file mode 100644 index 0000000..13f275f --- /dev/null +++ b/Zeichnen/Stern_abgebe_version/Stern_abgebe_version.pde @@ -0,0 +1,24 @@ + + +fill (255, 10); // sorgt für Sichtbarkeit aller Linien (Transparenz) + +beginShape (); // Vieleck mit Spitze nach oben +vertex (30,80); //linker "Fuß" +vertex (50,15); //die obere Spitze +vertex (70,80); //rechter "Fuß" +vertex (50,65); // Verbindungspunkt +endShape (CLOSE); + +beginShape (); //Vieleck mit Spitze nach schräg rechts +vertex (80, 40); // rechter Arm Spitze +vertex (30, 80); // linker Fuß +vertex (37, 55); // Verbindungspunkt +vertex (20, 40); // linker Arm Spitze +endShape (CLOSE); + +beginShape (); // Vieleck mit Spitze nach schräg links +vertex (70,80); //rechter Fuß +vertex (20,40); //linker Arm +vertex (80,40); //rechter Arm +vertex (63,55); // Verbindungspunkt +endShape (CLOSE); diff --git a/Zeichnen/halbe_ellipse/halbe_ellipse.pde b/Zeichnen/halbe_ellipse/halbe_ellipse.pde new file mode 100644 index 0000000..f25b048 --- /dev/null +++ b/Zeichnen/halbe_ellipse/halbe_ellipse.pde @@ -0,0 +1,2 @@ +fill (203); // damit nur die Linie zu sehen ist +arc (50,50,60,65, radians (180), radians (360)); diff --git a/lokalesystemvariablen/lokalesystemvariablen.pde b/lokalesystemvariablen/lokalesystemvariablen.pde new file mode 100644 index 0000000..c83b395 --- /dev/null +++ b/lokalesystemvariablen/lokalesystemvariablen.pde @@ -0,0 +1,135 @@ +/* + + ----Lokale Variablen---- + +1. Wie lange ist eine Variable gültig, die innerhalb einer Funktion deklariert wurde? + + - bis zum Ende des Programms + - bis zum Ende des nächsten Durchlaufs der draw-Funktion + X bis zum Ende der Funktion + +2. Wie wird der Bereich bezeichnet, in dem eine Variable gültig ist und verwendet werden kann? + +Scope + +3. Was genau passiert, wenn sich zwei Variablen überschatten? Worauf muss man achten, wenn man Überschattung vermeiden möchte? + +Bei "variable shadowing" wird der Wert einer globalen Variable im Scope der Funktion der lokalen Variable "überschattet". +Wenn man vorher also eine globale Variable (x = 5) setzt, diese in der Funktion setX() als lokale Variable neu Deklariert und Initialisiert (x = 3) , +Überschattet der Wert der Lokalen Variable (x = 3) für dessen Scope die globale Variable. Geht die lokale Variable "out of scope", dann +gilt wieder der Wert der globalen Variable. + +Um dies zu verhindern sollte man nie den selben Namen für eine Variable verwenden und bei Zuweisungen darauf achten keinen Datentyp dem +Namen voranzusetzen. + +*/ + + + +// Aufgabe 1 +void zwillinge() +{ + // Clear Background to prevent shadows + background(40, 40, 40, 256); + + //First circle + fill(0, 50, 256); + circle(mouseX, mouseY, 100); + + // Second circle + // project mouse pos between 0 and 1. Take inverse to get the point symmetric postion + PVector fitMouse = new PVector((float) mouseX / (float) width, (float) mouseY / (float) height); + PVector twinPos = new PVector((1.0f - fitMouse.x) * width, (1.0f - fitMouse.y) * height); + + fill(256, 50, 0); + circle(twinPos.x, twinPos.y, 100); + + + //println(fitMouseX + ", " + inverseMouseX ); +} + +void drillinge() +{ + // Clear Background to prevent shadows + background(40, 40, 40, 256); + + + line(0, 0, mouseX, mouseY); + + circle(mouseX, mouseY, 10); + circle(mouseX * .5, mouseY * .5, 10); +} + +/* + ----Systemvariablen---- + +1. Was sind Systemvariablen? + +Systemvariablen sind variablen die bereitgestellt werden um diese zu verwenden. Beispielsweise die Mausposition oder die Fenstergröße + +2. Was passiert, wenn du eine Variable anlegst, die den selben Namen wie eine Systemvariable hat? Tip: Probiere es mal aus ... + +Die Systemvariable wird von dem selbst gesetzten Wert überschrieben. + +3. Welche 2 Dinge sollte man im Bezug auf Systemvariablen niemals machen? Warum? + + - Den Systemvariablen einen neuen Wert zuweisen + - Eigenen Variablen den selben Namen geben +*/ + +void zeichenTicker() +{ + // Clear Background to prevent shadows + background(40, 40, 40, 256); + + textSize(50); + text(key, width / 2, height / 2); +} + +void mitte() +{ + // Beim übertragen richtige Fenstergröße (111 x 77) in die main (setup) Methode eintragen und surface.setResizable(true) setzen + background(40, 40, 40, 256); + circle(width/2, height/2,50); + +} + +float second; +float offset = 0; + +void zähler() +{ + background(40, 40, 40, 256); + //fill(0,0,0,1); + second = constrain(((float) frameCount / (float) frameRate) - offset, 0 , 1000); + + if(mousePressed == true) + { + offset = second + offset ; + } + + println(offset + " " + mousePressed); + textSize(50); + text(second, width / 2 -50, height/2); +} + +void setup() +{ + size(800, 600); + frameRate(144); + //surface.setResizable(true); +} +void draw() +{ + + // ----lokale Variablen---- + // zwillinge(); + // drillinge(); + + // ----Systemvariablen---- + // zeichenTicker(); + // mitte(); + zähler(); + +} +