Diana Lange Generative Gestaltung Processing
??? Grundlagen der Codierung + Grundlagen der Generativen Gestaltung = Generative Gestaltung mit Processing
??? Grundlagen der Codierung + Grundlagen der Generativen Gestaltung = Generative Gestaltung mit Processing = Grundlagen der Programmierung
Generativ Definition Die Generative Kunst oder engl. Generative Art ist eine zeitgenössische Form des künstlerischen Schaffens, wobei nicht unbedingt das Kunstwerk oder Endprodukt im Zentrum steht, sondern der Entstehungsprozess und die ihm zugrunde liegenden Ideen. Das Werk oder Produkt entsteht durch das Abarbeiten einer prozessualen Erfindung, das heißt, eines vom Künstler geschaffenen Regelsatzes bzw. eines Programmes, das beispielsweise in Form natürlicher Sprache, musikalischer Sprache, eines binären Codes, oder eines Mechanismus festgehalten wird. Das Abarbeiten geschieht selbstorganisierend, in Form eines relativ autonomen Prozesses, etwa [...] durch ein Computerprogramm, das Anweisungen, Bildinformationen oder andere Konzepte abarbeitet [...]. Unter unterschiedlichen Produktionsbedingungen läuft der Prozess jeweils anders ab. Das Ergebnis bewegt sich in mehr oder weniger gegebenen Grenzen, ist darin jedoch unvorhersehbar. https://de.wikipedia.org/wiki/generative_kunst
Generativ Definition Generative Gestaltung bezeichnet eine Entwurfsmethode in den verschiedenen Bereichen der Gestaltung (Kunst, Architektur, Kommunikationsdesign, Produktdesign, ). Wesentlich dabei ist, dass der Output Bild, Sound, architektonisches Modell, Animation, durch ein Regelwerk, bzw. einen Algorithmus (üblicherweise in Form eines Computerprogramms) erzeugt wird. http://de.wikipedia.org/wiki/generative_gestaltung
Generativ Definition Generative art is the meeting place between the two [Programming and Art]; it s a discipline of taking strict, logical processes and subverting them into creating illogical, unpredictable, and expressive results. The aim of generative art, if it has any aim at all, is to make something beautiful. Matt Pearson: Generative art. A practical guide using processing. INFORMATIK DESIGN KUNST GENERATIVE GESTALTUNG. NATURE. WS 2015-2016. DIANA LANGE. HAWK@DIANA-LANGE.DE
Generativ Definition Verständnis im Kurs: Der Gestalter beschreibt eine Ausgangssituation, ein Regelwerk. Er beschreibt nicht notwendiger Weise die fertige Arbeit. Der Zufall, ein gewisser Grad an Autonomie und die daraus resultierende Unvorhersehbarkeit sind grundlegende Kennzeichen der Generativen Grafik.
Generativ Definition Verständnis im Kurs: Der Gestalter beschreibt eine Ausgangssituation, ein Regelwerk. Er beschreibt nicht notwendiger Weise die fertige Arbeit. Der Zufall, ein gewisser Grad an Autonomie und die daraus resultierende Unvorhersehbarkeit sind grundlegende Kennzeichen der Generativen Grafik. Beispiel: Das Regelwerk beschreibt einen»allgemeinen Bauplan«, aber nicht wie jedes Objekt konkret aussehen soll. Das Programm kann innerhalb eines vorgegebenen Rahmens selber Entscheidungen treffen. Dadurch gibt es im Output eine Variationsvielfalt.
Warum sollten Gestalter Programmieren?
Warum sollten Gestalter Programmieren? Webdesign / Appdesign / Gamedesign Arbeitswelt: Kommunikation mit Programmierern > Schaffen von grundlegendem Verständnis der notwendigen Arbeitsabläufe und Arbeitsaufwand auf Programmierebene Immer mehr Scriptanwendungen auch in gängigen Programmen (C4D, Grasshopper in Rhino, Illustrator, AfterEffects)
Warum sollten Gestalter Programmieren? Webdesign / Appdesign / Gamedesign Arbeitswelt: Kommunikation mit Programmierern > Schaffen von grundlegendem Verständnis der notwendigen Arbeitsabläufe und Arbeitsaufwand auf Programmierebene Immer mehr Scriptanwendungen auch in gängigen Programmen (C4D, Grasshopper in Rhino, Illustrator, AfterEffects) Rolle des Designers: Mit vorgefertigen Werkzeugen (Photoshop, Illustator, usw.) hat der Gestalter immer feste Limitierungen: Er / Sie kann nur das machen, was das Programm vorsieht. Über Die Programmierung ist es möglich uns eigene Werkzeuge zu erschaffen!
ArbeitsumgeBung Processing Processing ist eine objektorientierte, stark typisierte Programmiersprache* mit zugehöriger integrierter Entwicklungsumgebung. Die Programmiersprache ist für die Einsatzbereiche Grafik, Simulation und Animation spezialisiert. Processing wird in einem quelloffenen Projekt entwickelt, das am Massachusetts Institute of Technology in Boston von Ben Fry (Broad Institute) und Casey Reas (UCLA Design Media Arts) initiiert wurde. Processing hat den Charakter einer stark vereinfachten Version der Programmiersprache Java, ermöglicht Interaktionen und visuelle Elemente zu programmieren und richtet sich vorwiegend an Gestalter, Künstler und Programmieranfänger. Die Klassenbibliotheken der Programmiersprache zielen vor allem auf das Einsatzgebiet von Processing und berücksichtigen die Themen Video, Grafik, Grafikformate, Sound, Animation, Typographie, 3D, Simulation, Datenzugriff und -transfer, sowie Netzwerkprotokolle. Quelle: http://de.wikipedia.org/wiki/processing *Genaugenommen ist das nicht richtig. Processing ist keine eigenständige Programmiersprache. Processing ist eine Java Bibiliothek - also eine Erweiterung zum Java-Standartsprachumfang.
ArbeitsumgeBung Processing Processing ist eine objektorientierte, stark typisierte Programmiersprache* mit zugehöriger integrierter Entwicklungsumgebung. Die Programmiersprache ist für die Einsatzbereiche Grafik, Simulation und Animation spezialisiert. Processing wird in einem quelloffenen Projekt entwickelt, das am Massachusetts Institute of Technology in Boston von Ben Fry (Broad Institute) und Casey Reas (UCLA Design Media Arts) initiiert wurde. Processing hat den Charakter einer stark vereinfachten Version der Programmiersprache Java, ermöglicht Interaktionen und visuelle Elemente zu programmieren und richtet sich vorwiegend an Gestalter, Künstler und Programmieranfänger. Die Klassenbibliotheken der Programmiersprache zielen vor allem auf das Einsatzgebiet von Processing und berücksichtigen die Themen Video, Grafik, Grafikformate, Sound, Animation, Typographie, 3D, Simulation, Datenzugriff und -transfer, sowie Netzwerkprotokolle. Quelle: http://de.wikipedia.org/wiki/processing *Genaugenommen ist das nicht richtig. Processing ist keine eigenständige Programmiersprache. Processing ist eine Java Bibiliothek - also eine Erweiterung zum Java-Standartsprachumfang. Processing = Programmiersprach (?) + Programmierumgebung + Online Community
Warum ProcessinG / Java Die Grundprinzipien und -konzepte sind bei alle höheren Programmiersprachen sehr gleich. Wer eine Programmiersprache gut beherrscht, dem fällt ein Umstieg auf eine andere leicht. Beispiel: Die vier folgenden Code-Ausschnitte stammen aus 4 Sprachen (Es werden jeweils Zahlen von 0 bis 9 ausgegeben). int i = 0; int i = 0; var i = 0; i = 0 while (i < 10) { while (i < 10) { while (i < 10) { while (i < 10): println(i); cout << i << endl; alert(i); print(i) i = i + 1; i = i + 1; i = i + 1; i = i + 1 } } } Processing bzw. Java C++ (Sprache für Software- JavaScript (Sprache für Web- Python (Skriptsprache, die in Entwicklung, Spieleprogram- browser - interaktive, reaktive vielen Programmen integriert mierung, Arduino, XCode - zu Websiten) ist - z.b. Cinema 4D, Rhino) Erstellung von Apple Software) GENERATIVE GESTALTUNG. NATURE. WS 2015-2016. DIANA LANGE. HAWK@DIANA-LANGE.DE
Processing Entstehung John Maeda John Maeda ist ein Grafik- und Interaction- Designer sowie Informatiker, der immer wieder die Verknüpfung zwischen Gestaltung und Technologie sucht. Bücher: Creative Code, Simplicity! Benn Fry + Casey Reas studierten am MIT unter John Maeda und begannen im Studium mit der Entwicklung von Processing. Ben Fry Casey Reas Entwickelt sein ca. 1999 am MIT - Version 1: 2008 - Version 1.5: 2011 - Version 2.0: 2012 - Version 3.0 Oktober 2015 Aktuelle Version: Processing 3.0 (Mit der Version arbeiten wir im Kurs)
Warum Processing 01 Programming in a visual arts context 02 Made for teaching programming 03 Bridge to other languages 04 Provide educational infrastructure 05 Developed through workshops, forums, etc. 06 Simple publishing for sharing 07 Community infrastructure 08 Extensible through libraries 09 Export to diverse media and formats 10 Concise IDE, scale to professional IDE Quelle: Casey Reas, Ben Fry: Processing 2.0 https://vimeo.com/28117873
Warum ProcessinG 01 Programming in a visual arts context 02 Made for teaching programming 03 Bridge to other languages 04 Provide educational infrastructure 05 Developed through workshops, forums, etc. 06 Simple publishing for sharing 07 Community infrastructure 08 Extensible through libraries 09 Export to diverse media and formats 10 Concise IDE, scale to professional IDE Quelle: Casey Reas, Ben Fry: Processing 2.0 https://vimeo.com/28117873 GENERATIVE GESTALTUNG. NATURE. WS 2015-2016. DIANA LANGE. HAWK@DIANA-LANGE.DE
Warum ProcessinG PRocEssinG ist open source für AllE betriebssysteme ERhÄltlich PoRtAbEl (keine installation notwendig) 01 Programming in a visual arts context 02 made for teaching programming 03 bridge to other languages 04 Provide educational infrastructure 05 Developed through workshops, forums, etc. 06 Simple publishing for sharing 07 Community infrastructure 08 Extensible through libraries 09 Export to diverse media and formats 10 Concise IDE, scale to professional IDE Quelle: Casey Reas, Ben Fry: Processing 2.0 https://vimeo.com/28117873 ViEl lehrmaterial ist frei ZUGÄnGlich (Z. b. tutorials AUf PRocEssinG.oRG, ViDEo tutorials Von DAniEl shiffman, foren, UVm) implementierung Von WEitEREn PRoGRAmmiERsPRAchEn in DiE GEWohntE PRocEssinG EntWicklUnGsUmGEbUnG (PYhon, JAVAscRiPt) GENERATIVE GESTALTUNG. NATURE. WS 2015-2016. DIANA LANGE. HAWK@DIANA-LANGE.DE
Warum ProcessinG GRossEs netzwerk: PRocEssinG forum, openprocessing (code sharing PlAtfoRm, DiGitAlE klassenräume) 01 Programming in a visual arts context 02 Made for teaching programming 03 Bridge to other languages 04 Provide educational infrastructure 05 Developed through workshops, forums, etc. 06 simple publishing for sharing 07 community infrastructure 08 Extensible through libraries 09 Export to diverse media and formats 10 Concise IDE, scale to professional IDE Quelle: Casey Reas, Ben Fry: Processing 2.0 https://vimeo.com/28117873 facebook GRUPPEn ZU VERschiEDEnEn schwerpunkten, flickr GRUPPEn, VimEo kanäle, UsW. GENERATIVE GESTALTUNG. NATURE. WS 2015-2016. DIANA LANGE. HAWK@DIANA-LANGE.DE
Warum ProcessinG 01 Programming in a visual arts context 02 Made for teaching programming 03 Bridge to other languages 04 Provide educational infrastructure 05 Developed through workshops, forums, etc. 06 Simple publishing for sharing 07 Community infrastructure 08 Extensible through libraries 09 Export to diverse media and formats 10 Concise IDE, scale to professional IDE Quelle: Casey Reas, Ben Fry: Processing 2.0 https://vimeo.com/28117873 baukastenprinzip mehr Als 100 libraries (funktionalitätserweiterungen) für PRocEssinG Z. b. AnimAtion, GUi, tracking, kinect, DAtEnimPoRt UnD -EXPoRt in VERschiEDEnEn formaten, VERbinDUnGEn ZU APis (Z.b.tWittER tracking) JAVA»ERbE«PRocEssinG basiert AUf JAVA. DA JAVA EinE DER Am WEitEst VERbREitEtEn sprachen ist, Gibt Es für JAVA AUch UnZÄhliGE libraries - All DiEsE können AUch in PRocEssinG GEnUtZt WERDEn. GENERATIVE GESTALTUNG. NATURE. WS 2015-2016. DIANA LANGE. HAWK@DIANA-LANGE.DE
Warum ProcessinG schnelle EXPoRtmöGlichkEitEn in form Von bild (JPG, PDf) oder software (AUsfÜhRbAREs PRoGRAmm für WinDoWs, mac, linux oder Als WEbbAsiERtEs PRoGRAmm) 01 Programming in a visual arts context 02 Made for teaching programming 03 Bridge to other languages 04 Provide educational infrastructure 05 Developed through workshops, forums, etc. 06 Simple publishing for sharing 07 Community infrastructure 08 Extensible through libraries 09 Export to diverse media and formats 10 Concise IDE, scale to professional IDE Quelle: Casey Reas, Ben Fry: Processing 2.0 https://vimeo.com/28117873 GENERATIVE GESTALTUNG. NATURE. WS 2015-2016. DIANA LANGE. HAWK@DIANA-LANGE.DE
ProcessinG im-und export DYNAMISCHE DATEN DATA (TXT) Excel APIs, GPS, Twitter STATISCHE DATEN BILD (PDF, PNG) Photoshop XML, Excel TEXT VIDEO (MOV) Illustrator AfterEffects VIDEO 3D MODELLE (DXF) C4D, 3D S Max BILDER HARDWARE (ARDUINO) PROCESSING PRODUKTIONSDATEN CONTROL COMMANDS 3D Druck Laser Arduino Lichtsensor, Wärmesensor SOUND SOUND Musik BENUTZER SOFTWARE (EXE) Programme Maus, Keyboard TRACKING AUSGABE IN ECHTZEIT Android Projektionen Kinect JAVASCRIPT/HTML5 WebApps GENERATIVE GESTALTUNG. NATURE. WS 2015-2016. DIANA LANGE. HAWK@DIANA-LANGE.DE
Processing Im Web http://processing.org/ // Hauptseite, Referenzen, Download, Tutorials http://forum.processing.org/two/ // Processing Forum http://www.openprocessing.org/ // Code-Sharing Platform + Digitaler Klassenraum zum Kurs https://vimeo.com/groups/processing // Videobeispiele http://www.flickr.com/groups/processing/pool/with/8472376747/#photo_8472376747 // Bildbeispiele
literatur Zum lernen Processing (DE) Erik Bartmann Learning Processing: A Beginner s Guide to Programming Images, Animation, and Interaction (En) Daniel Shiffman Empfehlungen Processing: A Programming Handbook for Visual Designers (Second Edition) (En) Casey Reas and Ben Fry Processing: Creative Coding and Generative Art in Processing 2 (En) Ira Greenberg, Dianna Xu, and Deepak Kuma Getting Started with Processing (En) Casey Reas and Ben Fry GENERATIVE GESTALTUNG. NATURE. WS 2015-2016. DIANA LANGE. HAWK@DIANA-LANGE.DE
literatur Zum lernen in Web http://www.creativecoding.org/ Lehr-Website von Studio NAND Themen: Grundlagen, Audio, Video, Text, Workfl ow, Data http://www.ralphammer.de/teaching/ doku.php?id=tutorials:processing:processi ng Lehr-Website von Ralph Hammer (Hochschule München) Themen: Grundlagen, Wie lerne ich jetzt, eigene Programme zu schreiben? (Tipps), Objektorientierte Programmierung, Grafi ken http://www.openprocessing.org/class- room/25003 Skript zum Kurs GENERATIVE GESTALTUNG. NATURE. WS 2015-2016. DIANA LANGE. HAWK@DIANA-LANGE.DE
literatur Zum anschauen Generative Gestaltung: Entwerfen. Programmieren. Visualisieren. Hartmut Bohnacker, Benedikt Groß, Julia Laub, und Claudius Lazzeroni http://generativegestaltung.de/ Data Flow 1 + 2: Visualizing Information in Graphic Design Data Flow 1 + 2: Visualizing Information in Graphic Design GENERATIVE GESTALTUNG. NATURE. WS 2015-2016. DIANA LANGE. HAWK@DIANA-LANGE.DE
literatur WeiterfÜhrenDes Visualizing Data (En) Ben Fry Processing 2: Creative Programming Cookbook Jan Vantomme The Nature of Code: Simulating Natural Systems with Processing (En) Daniel Shiffman Algorithms for Visual Design Using the Processing Language Kostas Terzidis Online Buch: http://natureofcode.com/book/ Videos zum Buch: Empfehlung zur Projektbegleitung https://vimeo.com/channels/natureofcode Generative Art. A practical guide using Processing Matt Pearson GENERATIVE GESTALTUNG. NATURE. WS 2015-2016. DIANA LANGE. HAWK@DIANA-LANGE.DE
Download Download unter www.processing.org