PROCESSING
Die Natur findet ständig neue effiziente Methoden Formen und Muster zu generieren. Diese Methoden faszinieren in erste Linie nicht durch ihre »technischen« Qualitäten, sondern durch ihre besondere Ästhetik
Das DigitalFabLab ist eine experimentelle Hightech Werkstatt mit dem Ziel, den Prozess der Fertigung von digitalen zu analogen Produkten unkompliziert und im direkten Austausch zw. Designer und Produktionsmaschinen zu generieren.
Bücher | Generative Gestaltung 1) Processing: A PROGRAMMING HANDBOOK FOR VISUAL DESIGNERS AND ARTISTS von Casey Reas, Ben Fry 2) Getting Started with Processing, Casey Reas, Ben Fry 3)
Koordinaten Finden X und Y Koordinaten sind nach vielen „Transate“ und „Rotate“ Anweisungen zu bestimmen ist unter Umständen verwirrend. Richtiger Weise protokoliert man alle Schritte und behält somit
Die CNC Anweisungen beschreiben Bewegungen zwischen zwei Punkten auf direktem Weg oder auf einer Kreisbahnen.Die Beschreibung von Bewegungen auf Kurven mit natürlicher Krümmung (Splines) oder Bézierkurve ist nicht möglich. Für den
Digital analog surface processing Analoge Oberflächen werden über digitale Prozesse definiert. In einfachen und aufeinander aufbauenden Schritten wird hier der Einstieg in das Digital FabLab dokumentiert. Im Verlauf des Wintersemesters
__ shape() beginShape(); endShape(CLOSE); // leer >> ermoeglicht das zeichnen von polygonen | verbindet den letzten // punkt mit dem ersten beginShape(POINTS); endShape(); // POINTS >> zeichnet punkte an koordinaten
Roger_Penrose: http://de.wikipedia.org/wiki/Roger_Penrose http://doug-pc.itp.ucsb.edu/online/plecture/penrose/Roger Penrose (2012) The Road To Reality, The complete guide to the laes http://www.cgl.uwaterloo.ca/~csk/software/penrose/(2012),Craig S. Kaplan. PhD thesis, 2002 Computer Graphics and Geometric Ornamental Design Craig S. Kaplan.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et
Sketch: void setup(){ size (300,300); } void draw(){ background(255); line(0,0,mouseX,mouseY); }
3d pushMatrix(); / popMatrix(); pushMatrix(); und popMatrix(); ermöglichen es, Objekte unabhängig voneinander verschiedenen Koordinatensystemen zuzuweisen und sie unabhängig voneinander zu rotieren. Im Code kann das von Vorteil sein, sobald man
void setup(){ size(400,400); background(255); smooth(); stroke(0, 30); } void draw(){ ellipseMode(CENTER); translate(width/1.85, height/3.8); for(int i=0; i rotate(radians(10)); translate(20, 0); line(0, 0, 100, 0); } } void setup(){ size(500, 500); }
[processing] void setup() { size(400, 400); } void draw() { background(255); for (int i = 20; i < width; i+=40) { // DRAW LINES beginShape(LINES); vertex(i, 150); vertex(i, height –
map(); map(); generiert aus einem vorhandenen Wertebereich relativ einen neuen. void setup() { size(800, 600); } void draw() { background(255); // INITIALIZE AND DEFINE GLOBAL PARAMETERS int spacing = 20;
% modulo beschreibt den Rest der nach dem Teilen eines Wertes durch einen anderen übrig bleibt. So kann z.B immer wenn ein Wert durch zwei teilbar ist etwas anders passieren, als
Arrays In einem Array können mehrere Variablen eines Typs abgespeichert werden. Jede Variable hat dabei einen zugewiesenen Platz inReihe von Variablen. Somit können z.B. die Werte in einer seperaten Schleife
ArrayList(); // CREATE EMPTY LISTS OF SEGMENTS ArrayList segments = new ArrayList (); ArrayList rays = new ArrayList (); void setup() { size(800, 600); segments = new ArrayList ();
eigene Funktionen Wenn einzelne Objekte nicht nur unterschiedliche Parameter haben, sondern auch individuelle Funktionen ausführen sollen, können eigene angepasste Funktionen geschrieben und aufgerufen werden. Hier die Funktion für ein n-eck,
noise() & random() die Funktion random gibt einen zufällig gewählten Wert aus einem definierten Wertebereich zurück(grau). Die noise – Funktion dagegen berechnet die Werte nach dem perlin noise Algorythmus und
Variablen: Verwendung von Variablen – deren Deklaration, Initialisierung, Abfrage und Zuweisung Die wichtigsten Datentypen in Processing sind: boolean, int, float, String. boolean: nur „Ja“ oder „Nein“ (true oder false, z.B.
:: Zeichen Sie eine Linie, ein Quadrat, ein Rechteck, eine Ellipse :: Zeichen Sie ein Kreuz – eine dicke und eine dünne Linie :: Zeichen Sie eine Reihe von parallelen Linien
[processing] //Info: http://processingjs.org/reference void setup() { size(200, 200); frameRate(10); } void draw() { background(#ffffff); ellipse(100, 100, random(50), random(50)); } [/processing] void setup() { size(200, 200); frameRate(10); } void draw() {
[processing] dieser text wird durch den processing canvas ersetzt, kann auch leer sein [/processing] Sketch: void setup(){ size (400,400); background (0); } void draw (){ bezier(100,100,mouseX,mouseY,mouseX,mouseY,400,100); }
Wir werden uns speziell mit der for-Schleife beschäftigen. Damit kann man den zu schreibenden Code beträchtlich verkürzen, was zu weniger Fehlern und besserem Überblick führt. Parallele Linien horizontal: Ergänzen Sie die fehlenden
Reihung in der x und y- Achse angeordnet: void setup(){ size (400,400); noFill(); background(0); stroke(255); strokeWeight(1); } void draw(){ for (int x=20; x<400; x+=20) { for (int y=20; y<400; y+=20)