Ein PVector ist ein Objekt, das 2- oder 3-dimensionale Vektoren beschreibt. Ein Vektor hat eine bestimmte Richtung und eine bestimmte Länge. Man kann auch sagen, er erstreckt sich vom Punkt A zum Punkt B. In der Programmierung verwenden wir Vektoren, um Bewegung zu generieren.
Der Vorteil bei der Verwendung von Vektoren liegt daran, dass man schon mit 2 Vektor- Variablen die aktuelle Geschwindigkeit und Richtung eines Objektes beschreiben kann und mit einem zweiten die Änderung derselben. Diese beiden müssen dann nur noch in jedem Frame addiert werden.
Beispiel: starte Applet

//hier werden die Vektoren erstellt
PVector direction = new PVector(1,1);
PVector position = new PVector(20,20);
int radius = 15;
void setup() {
size(500,500);
}
void draw() {
//für den Schweif
fill(255,20);
rect(0,0,width,height);
//damit sich überhaupt was bewegt
position.add (direction);
//die nächsten Zeile lassen die Ellipse zurückprallen
if (position.x < radius || position.x > (width-radius)) {
direction.x *= -1;
}
if (position.y < radius || position.y > (height-radius)) {
direction.y *= -1;
}
//zeichnet die Ellipse
fill(50);
ellipse(position.x,position.y,radius*2,radius*2);
}
Das Ganze kann dann noch gut mit Zufallszahlen kombiniert werden.
Methoden:
- vector.set(x,y,z) … legt die x-, y- und z-Werte des Vektors fest
- vector.get() … gibt die x-, y- und z-Werte des Vektors zurück
- vector.mag() … gibt die Länge des Vektors zurück
- vector1.add(vector2) … Addiert 2 Vektoren
- vector1.sub(vector2) … Subtrahiert 2 Vektoren
- vector.nomalize() … Ändert die Länge auf 1

- vector1.anglebetween(vector2) … gibt den Winkel zwischen 2 Vektoren zurück
- vector.heading2D() … gibt die Richtung des Vektors zurück
Aufgabe: Verändere das Programm so, dass der Kreis zufällig seine Richtung leicht variiert.
PVector – Einführung von Daniel Shiffman
Pingback: Processing – Über dieses Weblog « processing – tutorial
Pingback: Android App Pure Pong! « processing – tutorial