Ein Algorithmus ist eine genau definierte Handlungsvorschrift zur Lösung eines Problems.
So ist beispielsweise ein Kochrezept ein Algorithmus: Man verwendet als Zutaten Mehl, Eier und Milch, führt dann einige Anweisungen aus,
wie Eier aufschlagen, umrühren, Teig in den Ofen schieben, und kann dann nach einiger Zeit einen Kuchen heraus nehmen. Vor allem aber sind
Algorithmen eines der zentralen Themen der Mathematik und Informatik.
Processing ist eine Umgebung zum Erkunden des konzeptuellen Raums, der durch elektronische Medien ermöglicht wurde. Es ist eine Umgebung zum Lernen der Grundlagen des Programmierens innerhalb eines graphischen Kontextes. Desweiteren ist es ein elektronisches Skizzenbuch, um Ideen zu entwickeln. Und es ist ein professionelles Werkzeug zum Erstellen von ästhetisch ansprechender interaktiver Software.
Der Code wird prozessiert, so dass Grafiken und interaktive Programme entstehen
Processing ist Open Source-Software, und kann frei unter http://processing.org/download/ herunter geladen werden.
Windows-Nutzer sollten den ersten Download-Link verwenden!
Processing verwendet – wie alle Bildschirm-Anwendungen (etwa auch Photoshop) – ein kartesisches Koordinatensystem mit dem Nullpunkt in der oberen linken Ecke.
Siehe auch das Beispiel unter point().
size(width, height);
Setzt die Größe des Zeichenbereichs. Der Zeichenbereich wird in der angegebenen Weite x Höhe (in Pixeln) verwendet.
Diese Anweisung sollte immer am Anfang eines Programms, oder als erste Anweisung in setup()
verwendet werden.
background(color);
Setzt die Hintergrundfarbe der Zeichenfläche. Die Farbe ist ein Grauwert zwischen 0 und 255, wobei 0 für schwarz, und 255 für weiss steht.
Diese Anweisung füllt den gesamten Zeichenbereich mit der angegeben Farbe aus, d.h. background()
kann auch verwendet werden,
um nach dem Zeichnen von Formen die Zeichenfläche wieder zu löschen.
point(x, y);
Zeichnet einen Punkt an der Position (x, y)
Dies ist keine mit Processing erstellte Zeichnung: Die X- und Y-Achse, wie auch die Einfärbungen sind lediglich zur Veranschaulichung.
line(x1, y1, x2, y2);
Zeichnet eine Linie von Position (x1, y1) nach Position (x2, y2)
rect(x, y, width, height);
Zeichnet ein Rechteck an Position (x, y) mit Weite x Höhe.
Zu beachten ist, dass das Rechteck nicht mit zwei Punkten definiert wird (also bspw. von oben links nach unten rechts),
sondern mit einer Position (oben links) und den beiden Seitenlängen Weite und Höhe.
Sind die Seitenlängen gleich, entsteht mit dieser Anweisung natürlich ein Quadrat.
ellipse(x, y, width, height);
Zeichnet eine Ellipse an Position (x, y) mit Weite x Höhe.
Die beiden hinteren Parameter geben nicht den Radius an, sondern den jeweiligen "Durchmesser". Die angegebene Position definiert den Mittelpunkt der Ellipse.
Mit dieser Anweisung kann auch ein Kreis gezeichnet werden.
stroke(color);
Setzt die aktuelle Farbe des Strichs. Dies gilt etwa für Linien (line()
), aber auch für den Aussenstrich bei Rechtecken und Ellipsen.
Alle folgenden Anweisungen, die einen Strich verwenden, nutzen die gesetzte Farbe.
Erst wenn wieder ein anderer Wert mit stroke()
gesetzt wird, ändert siche diese Strichfarbe.
fill(color);
Setzt die aktuelle Füllfarbe. Dies gilt z.B. für die Fläche von Rechtecken und Ellipsen.
Um nicht nur statische, sondern dynamische Formen zeichnen zu können, muss setup()
und draw()
verwendet werden.
Innerhalb von setup()
sollten allgemeine Einstellungen vorgenommen werden (z.B. Größe des Zeichenbereichs setzen oder Bilder laden).
In draw()
können dann Formen gezeichnet werden, die sich über die Zeit verändern; etwa durch Berechnungen oder durch Interaktion.
// Anweisungen in setup werden einmal am Anfang ausgeführt. void setup() { size(200, 200); background(255); } // Anweisungen in draw werden solange wiederholt ausgeführt, // bis das Programm gestoppt wird. void draw() { line(10, 10, mouseX, mouseY); line(100, 100, mouseX, mouseY); }