Übungen

Kurzübungen finden in der Lehrveranstaltung statt und dauern jeweils etwa 20 Minuten. Hausübungen werden zwischen den LV-Blöcken bearbeitet und zur nächsten Einheit mitgebracht.




Einheit 1


Kurzübung 1 – Koordinaten und Formen:

Setze das Ausgabefenster auf die Größe 800 x 450 px und stelle den Hintergrund weiß. Zeichne die drei Figuren (siehe oben). Eine Skizze kann hilfreich sein, um die Koordinaten vorher festzulegen.


Hausübung 1

Programmiere einen Bildschirmschoner bei dem sich visuelle Elemente auf interessante Weise zufallsgesteuert über den Bildschirm bewegen (Befehl: fullscreen()). Das Programm soll beendet werden, wenn man die Maus bewegt. (Befehl: exit())

Lesen: Arrays




Einheit 2


Kurzübung 1

Erstelle einen Videoclip von 20 Sekunden von Hausübung 1. Exportiere den Sketch als App.


Kurzübung 2

Programmiere einen Bildeffekt wie in Beispiel 2-3, verwende drei Slider (der Library controllP5), um Parameter Deines Effekts zu bedienen.


Hausübung 2

Programmiere ein Pipettenwerkzeug, mit dem man die Farbe aus einem geladenen Bild aufnehmen kann. Stelle die aufgenommene Farbe als gefülltes Rechteck am Mauspointer dar. Verwende einen Slider, um den Farbaufnahmebereich zwischen 1 Pixel und 5x5Pixel einzustellen.


Hausübung 3

Programmiere zwei interessante Videoeffekte für die Webcam Bildeffekte.

Lesen: Objektorientierte Programmierung




Einheit 3

Hausübung 4

Erstelle eine virtuelle Version von Steve Reichs Pendulum Music mit drei "Pendeln".

1 Erstelle analog zum 1. Pendel (siehe Code unten) zwei weitere Pendel

2 Zeichne in der Mitte einen Bereich, den die Pendel durchqueren und dabei zum Klingen angeregt werden Jedes Pendel soll zufallsgesteuert leicht unterschiedliche Grundparameter aufweisen, sodass es zu charakteristischen Asynchronizitäten kommt

3 Erstelle Klanggeneratoren für jedes Pendel

Bonus: Erstelle eine Klasse für Pendel-Objekte

Create a virtual version of Steve Reich`s „Pendulum Music“ with three „pendulums“.

1. Create two other pendulums similar to the already existing one.

2. Draw an Object in the middle of the sketch. By swinging through this area the pendulums start to sound. Each pendulum should have slightly different basic parameters (e.g. speed, mass, …) in order to let them swing in a characteristic asynchronous way.

3. Create a Sound Oscillator for each pendulum.

Extra: Create a class for pendulum objects.

Verwende folgenden Code als Ausgangspunkt:


int xOrigin, yOrigin;             // Variablen für die Koordinaten des Ursprungs
float x, y;                       // Koordinaten für Pendelkopf
int time = 0;
float omega;
float theta = 0;
float gravity = 9.81;             // Schwerkraft
int len = 600;                    // Länge des Pendels
float auslenk = random(0.1, 0.4); // Auslenkung
float mass = random(80,120);      // Gewicht des Pendels
float damp = 1.0002;              // Dämpfung – wie schnell sich die Auslenkung verringert

void setup()
{
  size(1080, 700);
  xOrigin = width/2;              // Ursprung (x) des Pendels
  yOrigin = 50;                   // Ursprung (y) des Pendels
  fill(0);
}

void draw()
{
  background(255);
  auslenk = auslenk/damp;                       // Auslenkung des Pendels dämpfen (immer kleiner werden lassen)
  omega=sqrt((gravity/len));
  time=millis();
  theta=(PI*auslenk)*sin(omega*time/mass);
  x=len*sin(theta);                             // x-Koordinate auf Kreisbogen berechnen
  y=len*cos(theta);                             // y-Koordinate auf Kreisbogen berechnen
  line(xOrigin, yOrigin, x+xOrigin, y+yOrigin); // Pendelschnur zeichnen
  ellipse(x+xOrigin, y+yOrigin, 20, 20);        // Pendelgewicht zeichnen
  ellipse(xOrigin, yOrigin, 5, 5);              // Urpsrung zeichnen
  line(0,50,width, 50);
}
    


Abschlussprojekt

Aufgabenstellung:
Entwickle ein "visuelles Instrument", bei dem visuelle Elemente in Klang übersetzt werden oder Klang in visuelle Formen und Farben. Es kann Zufallsprozesse beinhalten, autonom nach den Regeln funktionieren, die bei seiner Erstellung gegeben wurden, oder durch Interaktion angeregt werden. Die audiovisuellen Ereignisse können auch gänzlich aus dem Code entstehen. Auch alles zusammen ist möglich. Welche Verbindungen von auditivem und visuellem Material entstehen? Achte darauf, dass das Instrument von vorneherein so konzipiert wird, dass es auf dem bisherigen Kenntnisstand realisierbar ist.

Ablauf:
Konzept bis zum 22.12.2016 per EMail senden.
Feedback per Mail in KW 52
Einheit am 13.01. 2017: Projektbesprechung anhand des Prototyps
Einheit am 20.01. 2017: Abschlusspräsentation

Beispiele:
OscilloScoop (Lukas Girling, Scott Snibbe, Graham McDermott)
Test Pattern (enhanced version) (Ryoji Ikeda , 2011)
What Is Life? (Simon Katan, 2012)
Cube with Magic Ribbons (Simon Katan, 2012)
Cycles 720 (Craig Ritchie Allan, 2013)
Soundloom (Craig Ritchie Allan, 2014)
Collision music (Craig Ritchie Allan, 2011)
Reduction Reflection( Sound Visuals, Rodrigo Carvalho [VISIOPHONE], 2016)

Final Exercise

Assignment:
Develop a „visual instrument“ that translates visual elements to sound or sound to visual forms and colors. Or both. That „instrument“ can involve random processes, it can be stimulated through interaction or it could work completely autonomous and audiovisual output could be generated fully from code itself. To make use of all of that would also be a possible realization.
Try to design your work in a way that it`s possible for you to realize it with the basic knowledge you have been gaining in the lecture.

Schedule:
Concept until 22.12.2016 via EMail.
Feedback via EMail until week 52
13.01. 2017 (Session): Individual feedback. Bring a prototype in processing.
20.01. 2017 (Session): Final presentation of your work.

Examples:
OscilloScoop (Lukas Girling, Scott Snibbe, Graham McDermott)
Test Pattern (enhanced version) (Ryoji Ikeda , 2011)
What Is Life? (Simon Katan, 2012)
Cube with Magic Ribbons (Simon Katan, 2012)
Cycles 720 (Craig Ritchie Allan, 2013)
Soundloom (Craig Ritchie Allan, 2014)
Collision music (Craig Ritchie Allan, 2011)
Reduction Reflection( Sound Visuals, Rodrigo Carvalho [VISIOPHONE], 2016)