Februar 12, 2007 at 17:01 · Filed under Hausaufgaben
“Gegeben sei ein quadratisches Bild in der Größe a x a mm. Es sei in kleine Quadrate zerlegt, n mal n Stück (also sei jede Seite in n gleich große Abschnitte unterteilt). Nehmt z.B. an, es sei n = 16 und a = 80 mm, die Rasterquadrate hätten also eine Seitenlänge von 5 mm. Nun sollen die Farben Schwarz und Weiß zur Verfügung stehen. Jedes Rasterquadrat kann entweder schwarz oder weiß gefärbt sein.”
A) Ein wenig Mathematik
Das müssten eigentlich 2^(n*n) verschiedene Bilder sein. Es gibt n*n “Pixel” und jeder kann die Farbe Schwarz oder weiß annehmen.
B, C, …) Das Programm
… ist eine Gemeinschaftsarbeit von Steffi und mir. Wir sind noch nicht so ganz zufrieden damit. Speziell bei der systematischen Erzeugung aller möglichen Pixelbilder stehen wir irgendwie auf dem Schlauch. (Tipps willkommen!) Abgesehen vom Zeilendrift funktioniert’s ansonsten aber ganz ordentlich.
Programm Pixelbilder muss durch einen Klick auf ‘Random’ oder ‘Systematic’ gestartet werden.
Januar 15, 2007 at 20:46 · Filed under Hausaufgaben
A) Das Buch Sein und Zeit
Ich bemesse die Zeit für diese Aufgabe “so knapp es geht” und lasse Lars “philosophieren”.
B) Syntaktisches Bildungsgesetzt der Wörter Sein und Zeit
Das Wort besteht aus 4 Buchstaben, der erste ist ein Großbuchstabe, die restlichen 3 sind Kleinbuchstaben. Der zweite Buchstabe ist ein ‘e’, der dritte ein ‘i’.
Damit dürften sich nach Adam Riese 26*26 = 676 Wörter dieses Schemas ergeben. Ich schätze, dass 1 bis 2 Prozent davon echte Wörter sein werden.
C) Das Programm
Verdammt. Man sollte die Aufgabe zu Ende lesen, bevor man anfängt was zu machen … Naja, hier mein erster Versuch, der noch nicht ganz der Aufgabestellung entspricht, aber auch nicht schlecht ist. Und hier der zweite, der die Vorgaben nun zur Genüge erfüllen sollte.
Und ja, die Farben beißen sich schon ein bisschen …
Dezember 31, 2006 at 11:35 · Filed under Hausaufgaben
A) Funktionen erklären
Wird man mir glauben, dass ich die Funktionen genügend verstanden habe, wenn ich sie wie unter B) zu sehen verwende? Mal sehen. Ansonsten hat Lars das Ganze überaus ausführlich beschrieben. Es war doch Gruppenarbeit angesagt, oder? … (Nochmal für Lars, damit er glücklich wird, und alle anderen, die’s nicht so verstehen: Ich war natürlich nicht an der herausragenden Arbeit von Lars und Sebastian beteiligt.)
B) Programm
Kleines MouseFunctions-Raster, das man sicher hätte eleganter programmieren können. “Bedeutsamer ist aber, dass Ihr mit dem begrenzten Zeitbudget, das Ihr habt, eine Äußerung produziert.” Weiter so, Frieder! Solche Aufgaben machen Spaß!
Einen guten Rutsch und ein spannendes kommendes Jahr!
Dezember 9, 2006 at 16:11 · Filed under Hausaufgaben

A) Gedichtinterpretation *roflmao*
Beim gezeigten Gedicht handelt es sich mehr um ein Bild als ein Gedicht. Auffällig ist, dass Wortinhalt und optischer Eindruck genau gegensätzlich arbeiten. Die vielen massiv eingesetzten “silencio” vermitteln eher den Eindruck eines nach Ruhe Schreiens. Sollte Ruhe selbst dargestellt werden müsste wohl eher ein einzelnes “silencio” in zarter Schrift mit viel Weißraum außenherum gesetzt werden. Gegen das Schreien wiederum spricht allerdings die äußerst akkurate Anordnung der Schrift und auch die sehr strenge Schriftart Helvetica selbst. Somit erhält das “Gedicht” einen sehr technischen, unpersönlichen Touch.
B) Warum das ganze?
Ja, warum Gedichtinterpretation? Warum zum Teufel in einem Kurs der Praktischen Medieninformatik ein Gedicht interpretieren müssen? Wo man sich doch so viele spannende Projekte vornehmen könnte. Diese jede Woche besprechen und weiterentwickeln. Technische Probleme beseitigen und vor allem Inhalt und Optik verbessern. Etwas Schaffen! Zum in der Hand haben! Naja, oder eben für den USB-Stick - Aber etwas handfestes eben. Nicht nur Erinnerungen an nette Diskussionen und schlaue Weißheiten.
Vielleicht weil wir im Laufe des Kurses schonmal über die Ästhetik eines Programms gesprochen haben? Vielleicht soll uns die Gedichtästhetik zu einem besseren Verständnis dieser führen? Vielleicht. Vielleicht aber auch nicht. - Es bleibt die Hoffnung, dass unser lieber Dozent schon weiß was er tut …
C) Sowas programmieren?
Eine Gedichtmaschine entwickeln? Der Rechner soll nun also Poesie machen? Am Anfang des Kurses haben wir uns noch mehr oder weniger darauf verständigt, dass nichtmal ein Kochrezept ein Algorythmus sein kann und jetzt soll Poesie entstehen? Hm. Nein, ich denke nicht, dass ich Lust dazu habe mir so etwas auszudenken. Die Rechner sollen mal rechnen und von mir aus auch Schach spielen. Aber Poesie soll mal schön bei denen bleiben, die sie potentiell besser beherrschen.
November 30, 2006 at 19:59 · Filed under Hausaufgaben

A) Programm: Einfaches Raster
// Bühnengröße festlegen
size(500,500);
// Default-Farben
fill(255);
background(32,39,43);
// Punktform definieren
strokeCap(PROJECT);
// Konturstärke
strokeWeight(0);
// Kantenglättung aktivieren
smooth();
int counter = 1;
int inc = 100;
for(int y=0; y
for (int x=0; x
// Farbe festlegen (abhängig von Counter -> Verlauf)
fill(255-counter*10,counter*7,0);
// Sich verkleinerndes Quadrat zeichnen
int d = x/(inc/10) + y/(inc/10);
rect(x+d/2,y+d/2,95-d,95-d);
// Zähler erhöhen
counter++;
}
}
Irgendwie kriegt’s das scheiß Wordpress hier nicht hin, die for-Anweisung korrekt in HTML umzuwandeln. y und x sollen auf jeden Fall kleiner als height bzw. width sein und jeweils um inc erhöht werden.
Bis nächsten Dienstag folgen (hoffentlich) noch weitere Beispiele …
B) Vasarely und das Raster

Periode Noir-Blanc: Konstrast der Farben Weiß und Schwarz

Hommage à l‘hexagone: physikalisch nicht mögliche Perspektiven durch Hell-Dunkel-Effekte

Universelle Strukturen – Vega: Er verformt ein regelmäßiges Gitter so, dass es optisch den zweidimensionalen Raum verlässt

C) Wie programmieren (letztere)?
Gar nicht. Ja, solche Bilder würde ich erstmal gar nicht programmieren, weil diese auch sehr schnell per Photoshop erstellt sind (Filter -> Wölben).
Wenn sie nun aber programmiert werden sollen/müssen, würde ich zunächst sehen, welche Möglichkeiten mir meine Programmiersprache bietet. Wenn es Funktionen gibt, um Bilder zu verzerren könnte ich es genauso programmieren, wie ich es mit Photoshop von Hand machen würde: Gleichmäßiges Raster erstellen und anschließend verzerren.
Wenn es diese Möglichkeit nicht gibt … hm, dann wird’s wohl kompliziert. Muss ich mir mal noch Gedanken drüber machen. - Aber nicht jetzt.
November 28, 2006 at 19:08 · Filed under Nice To Know
Ist die Magische Zauberkugel wirklich Magie oder vielleicht doch eher einfache Mathematik? Um’s kurz zu machen, hier die Mathematik:
ij sei die zweistellige Zahl, wobei gilt 1 <= i <= 9 und 0 <= j <= 9
Nun soll folgende Rechnung durchgeführt werden:
(i * 10 + j) - (i + j)
Wenn wir das etwas vereinfachen erhalten wir:
10i + j - i - j = 10i - i + j - j = 10i - i = 9i
Wir sehen also, es kommen nur wenige Werte als Ergebnis in Frage, im Einzelnen:
9, 18, 27, 36, 45, 54, 63, 72, 81 (Vielfache von 9 eben)
Und schon liegt das Rätsels Lösung auf der Hand: Jede dieser 9 Zahlen erhält einfach immer das gleiche Symbol. Natürlich ist das bei jedem Programmaufruf ein anderes, sonst würden wir den Betrug zu schnell bemerken! Die restlichen 91 Zahlen erhalten beliebige andere Symbole. Schon wird immer das richtige Symbol angezeigt, egal welche Zahl man sich ausgedacht hat.
November 28, 2006 at 18:27 · Filed under Allgemein
Dem Anfang der Stunde konnte ich leider nicht beiwohnen. Danach: Anweisungen, Zuweisungen, Schleifen in einfachster, grundlegenster Form - alte Bekannte, daher heute nichts neues fürs Lernbuch.
Dafür wenigstens ein nahezu wörtliches Zitat von Frieder: “Ihr Frauen seid ja etwas langsamer …” Dito!
November 26, 2006 at 16:28 · Filed under Hausaufgaben

A) Was ist Zufall
Zufall ist wenn etwas passiert (oder auch nicht passiert), ohne dass dies von irgendwelchen Faktoren/Variablen/Paramtern abhängt.
In der Mathematik spricht man häufig von Zufallszahlen: Dies ist eine Anzahl von zufällig ausgewählten Ziffern. Diese müssen dabei nicht gleichmäßig verteilt sein (wie häufig angenommen). 5 Zufallszahlen (von 1 bis 9) könnten z.B. auch 2,4,7,4,4 sein. Wenn allerdings die Anzahl der ausgewählten Zufallszahlen gegen unendlich geht sollte jede einzelne ungefähr gleich oft vorkommen.
Bekannte “Zufallsgeneratoren” sind Würfel oder Karten.
Tatsächlicher Zufall kommt jedoch praktisch nicht vor: Selbst bei Würfeln kann eine Seite minimal Größer sein, so dass sie mit minimal höherer Wahrscheinlichkeit fällt, so dass die fallende Zahl nicht mehr ganz zufällig ist. Wobei gewürfelte Zufallszahlen noch deutlich zufälliger sind, als solche die vom Computer errechnet werden. Diese werden immer anhand bestimmter Parameter (z.B. aus der aktuellen Uhrzeit, etc.) berechnet. Man nennt sie daher auch Pseudo-Zufallszahlen.
Wikipedia:
Man spricht von Zufall - oder noch klarer von reinem Zufall -, wenn ein Ereignis nicht kausal notwendig auftritt.
http://de.wikipedia.org/wiki/Zufall
B) Die Funktion random() in Processing
Generates random numbers. Each time the random() function is called, it returns an unexpected value within the specified range. If one parameter is passed to the function it will return a float between zero and the value of the parameter. The function call random(5) returns values between 0 and 5. If two parameters are passed, it will return a float with a value between the the parameters. The function call random(-5, 10.2) returns values between -5 and 10.2.
http://www.processing.org/reference/random_.html
Dem habe ich nichts hinzuzufügen.
C) Was ist ein Parameter
Ein Parameter ist ein Wert, eine Variable, anhand der eine Funktion ihre Berechnungen durchführt. Die Parameter sind sozusagen die steuerenden Elemente, da alles andere der Funktion ja fix ist.
D) Programm: Zufallspunkte
// Bühnengröße festlegen
size(200,200);
// Hintergrundfarbe
background(0);
// Kantenglättung aktivieren
smooth();
// Strickstärke definieren
strokeWeight(1);
// Strichfarbe definieren
stroke(255);
// 100 zufällige Punkte zeichnen
// Überlappung nicht ausgeschlossen, aber unwahrscheinlich
for(int i=0;i<100;i++) {
point(int(random(0,width)),int(random(0,height)));
}
E) Experimente inspiriert von Steffi
Zufällig: Position, Größe, Transparenz
November 17, 2006 at 12:07 · Filed under Hausaufgaben



size(600,400);
background(0);
smooth();
strokeWeight(1);
strokeCap(SQUARE);
for(int i=0; i<(width*2); i++) {
int x = i;
if (x>width) {
x = width;
}
int y = (width*2)-i;
if (y>width) {
y = width;
}
float r = random(0, 50);
stroke(r);
line(0, 0, x, y);
}
stroke(255);
/* Motiv 1
for(int i=0; i
line(i/4+i,(i/2)+150,(i*i)/width+i,(i*i)/height+i);
}
*/
/* Motiv 2
for(int i=0; i
line(i,(i/2)+150,(i*i)/width,height-i);
}
*/
/* Motiv 3
for(int i=100; i
line(i,(i/2)+250,width-(i/1.5)-50,height-i);
}
*/
November 14, 2006 at 18:29 · Filed under Allgemein
Was ist ein Bild? Diese Frage konnte nicht geklärt werden. Braucht es eine Begrenzung, einen Rahmen? Wo fängt ein Bild an? Ist ein Bild schon das Motiv selbst, beginnt es im Kopf, in der Erinnerung? Beginnt es auf dem Film, dem Negativ? Der Ausdruck? Die auf die Festplatte gebannten Pixel?
Ein Pixel: Position und Farbwert.
November 7, 2006 at 20:18 · Filed under Allgemein
Besonderheiten
logisch, interpretationsfrei/eindeutig
Sprachen
PHP, ASP, Java, JavaScript, C, C++, Basic, VisualBasic, HSL, Prolog, Processing, ActionScript, Lingo, AppleScript, Kobolt, Hamster
Maschinensprachen -> Höhere Sprachen
Höhere sprachen sind besser lesbar, komfortabler für den Programmierer. Sie bieten einen höheren Umfang an Funktionen, die dem Programmierer Arbeit abnehmen.
November 2, 2006 at 16:28 · Filed under Allgemein
Ein Algorithmus ist eine hinreichend gut verständlich und exakte Tätigkeitsbeschreibung, die uns zum Ziel führt.
Beschreibung für Rechenvorgang
endlich, genau, präzise, effektiv*
(*erzeugt einen Effekt/hat ein Ergebnis - NICHT effizient)
Definierte Abarbeitung von endlich vielen Schritten.
Programm
Algorithmus in maschinenlesbarer Form
Oktober 31, 2006 at 20:32 · Filed under Nice To Know
Natürliche Zahlen N
1, 2, 3, …
Ganze Zahlen Z
-2, -1, 0, 1, 2, …
Rationale Zahlen Q
z.B. 2/3 oder 0,6Periode
Irrationale Zahlen
z.B. Wurzel(2), PI
Reele Zahlen R
Rationale + Irrationale
Komplexe Zahlen
z.B. Wurzel(-1) = i
(Auch bei Wikipedia gut erklärt)
Oktober 27, 2006 at 09:26 · Filed under Allgemein
Abfolge/Vorgang/Ablauf/Abarbeitung mehrerer (vordefinierter) Aufgaben. Ereignisse. Oder einfach die (Gerichts-)Verhandlung?
Abspeichern von Daten. Aufruf von Befehlen.