© Excellent backgrounds/Shutterstock.com
Java Magazin
Visual Java für Einsteiger

Visual Java für Einsteiger

Java hat sich in vielen Bereichen der Informatik unverzichtbar gemacht - was auch gut so ist. Im Fokus dieser neuen Serie steht allerdings nicht Java, sondern eine andere, auf Java basierende Open-Source-Programmiersprache samt Entwicklungsumgebung: Processing. In deren Umfeld ist es ein Kinderspiel, MS Kinect oder Playstation-Controller anzuschließen, Computerbilderkennung zu betreiben, ästhetische - auch ungewöhnliche - Visualisierungen zu erstellen oder einfach nur unterhaltsame und interaktive Anwendungen zu bauen. Im ersten Artikel der Serie möchten wir die Basics abdecken, bevor wir im zweiten auf die einzigartigen Möglichkeiten eingehen.

Stefan Siprell


Processing ist eine Programmiersprache samt Entwicklungsumgebung, die seit ihrer Erfindung am MIT 2001 kontinuierlich weiterentwickelt wird. Ursprünglich wurde die Sprache erschaffen, um Programmieranfängern eine visuelle Lernumgebung zu bieten. Mittlerweile kann man aber auch professionelle und abgeschlossene Anwendungen erstellen. Aufgrund der knappen Syntax und der visualisierungslastigen APIs bietet Processing sich bei der Erstellung von Grafiken, Animationen und natürlich interaktiven Anwendungen an.

ArtikelserieTeil 1: Einführung in Processing, Nutzen der 2D RenderingengineTeil 2: Nutzen der 3D Renderingengine mit KamerafahrtenTeil 3: Computer Vision und Augmented Reality mit ProcessingTeil 4: Professionelle Datenvisualisierung mit Java

Abb. 1: Processing IDE im JavaScript-Modus

Da Processing auf Java aufbaut, ist die Sprache selbst sowohl objektorientiert als auch stark typisiert. Durch eine vereinfachte Syntax und reichhaltige Kontextobjekte ist der Quelltext sehr lesbar und knapp gehalten im Vergleich zu regulären Java-Anwendungen. Schauen wir uns das erste Programm – in Processing auch Sketch genannt – an (Listing 1).

Listing 1void setup() { frameRate(24); smooth(); size(600, 600);}void draw() { //Alpha Box fill(255, 20); noStroke(); rect(0,0,600,600); //Dreieck fill(255); stroke(0); translate(300, 300); rotate(radians(frameCount*2)); triangle(-150, -86, 0, 174, 150, -86);}

Als Java-Entwickler erkennt man die Syntax wieder, und man kann sofort zwei Methodenimplementierungen erkennen, vermisst allerdings die Klassendefinition. Dies geschieht implizit und leitet sich von der Basisklasse PApplet ab. Diese Basisklasse sieht nicht nur die Hauptmethoden setup() und draw() vor, sondern stellt eine ganze Reihe von Methoden zur grafischen Ausgabe, für verschiedene Eingabemechanismen, Farbberechnung, mathematische Funktionen und vieles mehr zur Verfügung.

In der setup()-Methode wird die Bildrate auf 24 Wiederholungen pro Sekunde gesetzt, das Anti-Aliasing für die 2-D-Ausgabe aktiviert und eine Ausgabefenstergröße von 600 mal 600 Pixel erstellt. Setup() wird einmalig vor der ersten Ausgabe durch Processing aufgerufen und dient daher der Initialisierung des Sketch.

Die draw()-Methode wird hingegen für jede Aktualisierung des Bilds aufgerufen – in unserem Beispiel 24-mal pro Sekunde. Beim Neuzeichnen des Bildschirms wird die vorherige Ausgabe nicht gelöscht. Das nutzen wir, um einen Fade-Effekt zu generieren, bei dem sich vorherige Zeichenoperatione...

Java Magazin
Visual Java für Einsteiger

Visual Java für Einsteiger

Java hat sich in vielen Bereichen der Informatik unverzichtbar gemacht - was auch gut so ist. Im Fokus dieser neuen Serie steht allerdings nicht Java, sondern eine andere, auf Java basierende Open-Source-Programmiersprache samt Entwicklungsumgebung: Processing. In deren Umfeld ist es ein Kinderspiel, MS Kinect oder Playstation-Controller anzuschließen, Computerbilderkennung zu betreiben, ästhetische - auch ungewöhnliche - Visualisierungen zu erstellen oder einfach nur unterhaltsame und interaktive Anwendungen zu bauen. Im ersten Artikel der Serie möchten wir die Basics abdecken, bevor wir im zweiten auf die einzigartigen Möglichkeiten eingehen.

Stefan Siprell


Processing ist eine Programmiersprache samt Entwicklungsumgebung, die seit ihrer Erfindung am MIT 2001 kontinuierlich weiterentwickelt wird. Ursprünglich wurde die Sprache erschaffen, um Programmieranfängern eine visuelle Lernumgebung zu bieten. Mittlerweile kann man aber auch professionelle und abgeschlossene Anwendungen erstellen. Aufgrund der knappen Syntax und der visualisierungslastigen APIs bietet Processing sich bei der Erstellung von Grafiken, Animationen und natürlich interaktiven Anwendungen an.

ArtikelserieTeil 1: Einführung in Processing, Nutzen der 2D RenderingengineTeil 2: Nutzen der 3D Renderingengine mit KamerafahrtenTeil 3: Computer Vision und Augmented Reality mit ProcessingTeil 4: Professionelle Datenvisualisierung mit Java

Abb. 1: Processing IDE im JavaScript-Modus

Da Processing auf Java aufbaut, ist die Sprache selbst sowohl objektorientiert als auch stark typisiert. Durch eine vereinfachte Syntax und reichhaltige Kontextobjekte ist der Quelltext sehr lesbar und knapp gehalten im Vergleich zu regulären Java-Anwendungen. Schauen wir uns das erste Programm – in Processing auch Sketch genannt – an (Listing 1).

Listing 1void setup() { frameRate(24); smooth(); size(600, 600);}void draw() { //Alpha Box fill(255, 20); noStroke(); rect(0,0,600,600); //Dreieck fill(255); stroke(0); translate(300, 300); rotate(radians(frameCount*2)); triangle(-150, -86, 0, 174, 150, -86);}

Als Java-Entwickler erkennt man die Syntax wieder, und man kann sofort zwei Methodenimplementierungen erkennen, vermisst allerdings die Klassendefinition. Dies geschieht implizit und leitet sich von der Basisklasse PApplet ab. Diese Basisklasse sieht nicht nur die Hauptmethoden setup() und draw() vor, sondern stellt eine ganze Reihe von Methoden zur grafischen Ausgabe, für verschiedene Eingabemechanismen, Farbberechnung, mathematische Funktionen und vieles mehr zur Verfügung.

In der setup()-Methode wird die Bildrate auf 24 Wiederholungen pro Sekunde gesetzt, das Anti-Aliasing für die 2-D-Ausgabe aktiviert und eine Ausgabefenstergröße von 600 mal 600 Pixel erstellt. Setup() wird einmalig vor der ersten Ausgabe durch Processing aufgerufen und dient daher der Initialisierung des Sketch.

Die draw()-Methode wird hingegen für jede Aktualisierung des Bilds aufgerufen – in unserem Beispiel 24-mal pro Sekunde. Beim Neuzeichnen des Bildschirms wird die vorherige Ausgabe nicht gelöscht. Das nutzen wir, um einen Fade-Effekt zu generieren, bei dem sich vorherige Zeichenoperatione...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang