U0202 Position eines Punktes
Aufgabenstellung
Positionieren Sie einen Punkt so, dass folgende Anmutungen entstehen (die Größe des Punktes bleibt gleich): leicht schwer schwebend lastend froh traurig bewegt statisch unruhig ruhig nah fern Dokumentieren sie ihr Ergebnis in MKDocs.
Umsetzung












Kommentare
Die Aufgabe war für mich super zur visuellen Wahrnehmung und semantischen Gestaltung mit Minimalmitteln. Mich hat überrascht zu sehen, wie die Position allein eine starke emotionale Wirkung erzeugen kann.
Position = Bedeutung: Schon ein einziger Punkt kann durch seine Positionierung sehr unterschiedliche Wirkungen erzielen – von statisch bis dynamisch, von leicht bis schwer.
Beziehung zur Fläche: Die Wirkung entsteht vor allem im Verhältnis zur gesamten Bildfläche – der „Raum“ um den Punkt ist entscheidend.
Assoziationen: Die gewählten Positionen rufen beim Betrachter intuitive Assoziationen hervor, die oft auch mit physikalischen oder alltäglichen Erfahrungen zusammenhängen (z.B. „oben = leicht“, „unten = schwer“).
Minimalismus mit Wirkung: Diese Übung zeigt, wie bereits kleinste gestalterische Entscheidungen eine große Wirkung auf die Gesamtkomposition und die emotionale Wahrnehmung haben.
Leicht: Oben, nahe am Himmel
Schwer: Ganz unten – wirkt erdverbunden, „fällt runter“
Schwebend: Oberes Drittel, ohne Randberührung – „in der Luft“
Lastend: Direkt am unteren Rand – „drückt“ nach unten
Froh: Leicht oben links – hell, beschwingt, offen
Traurig: Unten rechts – schwer, zurückgezogen
Bewegt: Außerhalb des Gleichgewichts – wirkt im Übergang
Statisch: Zentrum – maximaler Gleichgewichtspunkt
Unruhig: Eckke - hohe Spannung
Ruhig: Wieder zentriert – Stabilität und Ruhe
Nah: Unten – wirkt näher am Betrachter
Fern: Oben – wirkt weiter entfernt, fast „himmlisch“
Code
String[] anmutungen = {
"leicht", "schwer", "schwebend", "lastend",
"froh", "traurig", "bewegt", "statisch",
"unruhig", "ruhig", "nah", "fern"
};
int index = 0;
boolean saved = false;
void setup() {
size(800, 800);
frameRate(1); // Langsam zeichnen, 1 Bild pro Sekunde
}
void draw() {
if (index >= anmutungen.length) {
println("Alle Bilder gespeichert.");
noLoop();
return;
}
background(255);
fill(0);
noStroke();
String anmutung = anmutungen[index];
drawPoint(anmutung);
if (!saved) {
saveFrame("output/" + nf(index + 1, 2) + "-" + anmutung + ".png");
saved = true;
} else {
index++;
saved = false;
}
}
void drawPoint(String anmutung) {
float x = width / 2;
float y = height / 2;
switch (anmutung) {
case "leicht":
y = height * 0.2;
break;
case "schwer":
y = height * 0.85;
break;
case "schwebend":
y = height * 0.1;
break;
case "lastend":
y = height * 0.9;
break;
case "froh":
x = width * 0.3;
y = height * 0.3;
break;
case "traurig":
x = width * 0.3;
y = height * 0.7;
break;
case "bewegt":
x = width * 0.8;
y = height * 0.2;
break;
case "statisch":
x = width / 2;
y = height / 2;
break;
case "unruhig":
x = width * 0.77;
y = height * 0.23;
break;
case "ruhig":
x = width * 0.5;
y = height * 0.5;
break;
case "nah":
y = height * 0.8;
break;
case "fern":
y = height * 0.2;
break;
}
ellipse(x, y, 10, 10);
// Optional: Titel anzeigen
fill(0);
textAlign(CENTER);
textSize(24);
text(anmutung.toUpperCase(), width / 2, height - 40);
}