kramann.info
© Guido Kramann

Login: Passwort:










Robuste Systemintegration
1 Grundlagen
..1.1 Newton
....1.1.1 LinearSchwinger
....1.1.2 Daempfung
....1.1.4 ODE
....1.1.5 Saaluebung
..1.2 NewtonEuler
....1.2.1 Traegheitsmomente
....1.2.2 Modellgleichungen
....1.2.3 Einfachpendel
..1.3 Scilab
....1.3.1 Erste_Schritte
....1.3.2 Skripte
....1.3.3 Funktionen
..1.4 Laplace
....1.4.1 Eigenwerte
....1.4.2 PT1
..1.5 Regleroptimierung
....1.5.1 Guetefunktion
....1.5.2 Heuristiken
....1.5.3 Scilab
..1.6 Einstellregeln
....1.6.1 Totzeit
....1.6.2 Methode1
....1.6.3 Methode2
....1.6.4 Scilab
..1.7 Zustandsregler
..1.8 Polvorgabe
..1.8 Polvorgabe_alt
..1.9 Beobachter
....1.9.1 Haengependel
..1.10 Daempfungsgrad
..1.11 Processing
....1.11.1 Installation
....1.11.2 Erste_Schritte
....1.11.3 Mechatronik
....1.11.4 Bibliotheken
....1.11.5 Uebung
....1.11.6 Snippets
......1.11.6.1 Dateioperationen
......1.11.6.2 Bilder
......1.11.6.3 GUI
......1.11.6.4 Text
......1.11.6.5 PDF
......1.11.6.8 Maus
......1.11.6.10 Zeit
......1.11.6.13 Animation
......1.11.6.15 Simulation
....1.11.7 Referenzen
..1.12 Breakout
2 Beispiel
3 Beispielloesung
4 Praxis
5 javasci
6 Fehlertoleranz1
7 Reglerentwurf
..7.1 Sprungantwort
..7.2 Messdaten
..7.3 Systemidentifikation
..7.4 Polvorgabe
..7.5 Beobachter
..7.6 Robuster_Entwurf
..7.7 SIL
8 Systementwicklung
9 Arduino
..9.1 Lauflicht
..9.2 Taster
..9.3 Sensor
..9.12 Motor_PWM1
..9.13 Motor_PWM2_seriell
..9.14 Motor_PWM3_analogWrite
..9.15 Scheduler
..9.20 AV
..9.21 Mikrofon
..9.22 Universal
....9.22.1 Laborplatine
....9.22.2 LED_Leiste
....9.22.3 Motortreiber
....9.22.4 Sensoreingaenge
....9.22.5 Taster
....9.22.6 Tests
....9.22.7 Mikrofon
....9.22.8 Lautsprecher
....9.22.9 Fahrgestell
..9.23 Zauberkiste
..9.24 OOP
....9.24.1 Uebungen
..9.25 AVneu
....9.25.1 Tests
..9.26 DA_Wandler
..9.27 CompBoard
....9.27.1 Tastenmatrix
....9.27.2 ASCIIDisplay
..9.28 CTC
..9.29 Tonerzeugung
10 EvoFuzzy
..10.1 Fuzzy
....10.1.1 Fuzzylogik
....10.1.2 FuzzyRegler
....10.1.3 Uebung9
....10.1.5 Softwareentwicklung
......10.1.5.1 AgileSoftwareentwicklung
......10.1.5.2 FuzzyRegler
......10.1.5.3 Uebung
....10.1.6 Umsetzung
......10.1.6.1 FuzzyRegler
......10.1.6.2 Simulation
......10.1.6.3 Optimierung
......10.1.6.4 Uebung
....10.1.7 Haengependel
......10.1.7.1 Haengependel
......10.1.7.2 Simulation
......10.1.7.3 FuzzyRegler
......10.1.7.4 Optimierer
......10.1.7.5 Genetisch
....10.1.8 Information
....10.1.9 Energie
..10.2 Optimierung
....10.2.1 Gradientenverfahren
....10.2.2 Heuristiken
....10.2.3 ModifizierteG
....10.2.4 optim
..10.3 Genalgorithmus
..10.4 NeuronaleNetze
....10.4.1 Neuron
....10.4.2 Backpropagation
....10.4.3 Umsetzung
....10.4.4 Winkelerkennung
..10.5 RiccatiRegler
11 Agentensysteme
12 Simulation
20 Massnahmen
21 Kalmanfilter
..21.1 Vorarbeit
..21.2 Minimalversion
..21.3 Beispiel
30 Dreirad
31 Gleiter
..31.1 Fehlertoleranz

1.11.2 Erste Schritte mit Processing


Processing setzt auf Java auf. Entsprechend kann neben den besonderen Processing-Befehlen stets Standard-Javaquelltext verwendet werden.


Nach Doppelklick des Processing-Shell-Skriptes (vergl. vorangehendes Kapitel), erscheint die Processing-Entwicklungsumgebung in folgender Form:

Processing-Entwicklungsumgebung.

Bild 1.11.2-1: Processing-Entwicklungsumgebung.

Die Programmstruktur, die mit Processing lauffähig ist, ähnelt ein Wenig der eines Java-Applets, jedoch sieht man zunächst nirgends eine Klassenstruktur. Befehle können einfach ein den Texteditor geschrieben werden.

Das einem Kassettenrekorder ähnliche Bedienfeld, erlaubt es die geschriebenen Skripte ablaufen zu lassen und auch wieder zu stoppen.

Erfolgreich getestete Skripte können in einem s.g. Sketchbook abgelegt und jederzeit wieder aufgerufen werden. Grundsätzlich erzeugt Processing ein Fenster und alles, was im Skript angegeben wird, wird dort dargestellt.

Jedoch gibt es den Befehl print(...), mit dem es möglich ist, in den Konsolenteil im unteren Bereich der Entwicklungsumgebung zu schreiben. Hierbei wird aber trotzdem ein kleines Fenster extra geöffnet:

Verwendung des print-Befehls.

Bild 1.11.2-2: Verwendung des print-Befehls.

Skripte speichern

Speichern eines Skripts: Pfeil nach unten Taste, oder File -> Save as..

Bild 1.11.2-3: Speichern eines Skripts: Pfeil nach unten Taste, oder File -> Save as..

Referenz

Processing bringt auch direkt eine Funktionsreferenz mit. Diese ist verfügbar unter Help -> Reference und wird dann im Standard-Webbrowser angezeigt.

Referenz von Processing zum Nachschlagen der verfügbaren Standardbefehle.

Bild 1.11.2-4: Referenz von Processing zum Nachschlagen der verfügbaren Standardbefehle.

setup() und draw()

Ähnlich wie innerhalb eines Java-Applets die Methoden init() und paint(), gibt es in Processing zwei vordefinierte Funktionen, die zum Initialisieren einer Anwendung und zum Darstellen von Grafik benutzt werden können. In Processing sind das setup() und draw().

Animierter "Fleck"
void setup()
{
    size(600,400);       //Fensterbreite und -höhe
    background(0,0,200); //Fensterhintergrund RGB
    fill(200,0,0);       //Füllfarbe RGB
    noStroke();
    smooth();            //Pixelglättung
    frameRate(50);        //draw wird fünfmal pro Sekunde aufgerufen
}

void draw()
{
    clear();
    background(0,0,200); //Fensterhintergrund RGB
    ellipse(x+30,y+30,30,20); //x-Pos. y-Pos. Breite Höhe
    x++;
    y+=3;
    x%=550;    
    y%=350;    
}

Code 1.11.2-1: Eine rote Ellipse wandert vor einem blauen Hintergrund schräg durch's Bild.

Erzeugtes Fenster.

Bild 1.11.2-5: Erzeugtes Fenster.