jrobots.utils
Class Vector

java.lang.Object
  extended by jrobots.utils.Vector
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class Vector
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

Diese Klasse repräsentiert einen Vektor im zweidimensionalen Raum.

Der Wert des Vektors kann nur im Konstruktor festgelegt werden und ist danach fest. Alle Methoden liefern ihr Ergebnis als neues Objekt zurück.

Es ist eine Ausgabe in Kartesischen und in Polarkoordinaten möglich. Dabei gilt:

See Also:
Serialized Form

Constructor Summary
Vector()
          Erstellt einen Vektor der Länge 0.
Vector(Angle angle, double length)
          Dieser Konstruktor erzeugt einen Vektor mit der Länge length und der Richtung angle.
Vector(double length, Angle angle)
          Dieser Konstruktor erzeugt einen Vektor mit der Länge length und der Richtung angle.
Vector(double x, double y)
          Dieser Konstruktor erzeugt einen Vektor, der auf den Punkt (x,y) (kartesische Koordinaten) zeigt.
 
Method Summary
 Vector add(Vector v)
          Diese Methode addiert zum aktuellen Vektor einen weiteren Vektor v hinzu und liefert das Ergebnis als neuen Vektor zurück.
 Vector clone()
           
 double distanceTo(Vector b)
          Liefert die Distanz zu einem Vektor b oder anders gesagt die Länge des Vektors (this - b).
 Angle getAngle()
          Diese Methode gibt den Winkel des aktuellen Vektors zurück.
 double getLength()
          Liefert die Länge des Vektors zurück.
 Vector getNegative()
          Diese Methode liefert den inversen Vektor zur aktuellen Instanz zurück.
 Vector getNormal()
          Skaliert den Vektor auf die Länge 1 und liefert das Ergebnis als neuen Vektor zurück.
 double getX()
          Liefert die X-Komponente des Vektors.
 double getY()
          Liefert die Y-Komponente des Vektors.
 Vector mult(double factor)
          Skaliert den Vektor um einen gewissen Faktor und liefert das Ergebnis als neuen Vektor zurück.
 double projection(Angle angle)
          Projeziert den Vektor auf eine Dimension, und zwar in Richtung des angegebenen Winkels.
 Vector rotate(Angle angle)
          Dreht einen Vektor um den angegebenen Winkel im Uhrzeigersinn und gibt das Ergebnis als neuen Vektor zurück.
 Vector sub(Vector v)
          Diese Methode subtrahiert einen Vektor v vom aktuellen Vektor und gibt das Ergebnis als neuen Vektor zurück.
 java.lang.String toString()
           
 double vectorProduct(Vector b)
          Vektorprodukt im Zweidimensionalen liefert einen Skalar.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Vector

public Vector()
Erstellt einen Vektor der Länge 0.


Vector

public Vector(double x,
              double y)
Dieser Konstruktor erzeugt einen Vektor, der auf den Punkt (x,y) (kartesische Koordinaten) zeigt.

Parameters:
x - double
y - double

Vector

public Vector(double length,
              Angle angle)
Dieser Konstruktor erzeugt einen Vektor mit der Länge length und der Richtung angle. (Polarkoordinaten)

Parameters:
length - Länge
angle - Winkel

Vector

public Vector(Angle angle,
              double length)
Dieser Konstruktor erzeugt einen Vektor mit der Länge length und der Richtung angle. (Polarkoordinaten)

Parameters:
angle - Winkel
length - Länge
Method Detail

getX

public double getX()
Liefert die X-Komponente des Vektors.

Returns:
double

getY

public double getY()
Liefert die Y-Komponente des Vektors.

Returns:
double

add

public Vector add(Vector v)
Diese Methode addiert zum aktuellen Vektor einen weiteren Vektor v hinzu und liefert das Ergebnis als neuen Vektor zurück.

Parameters:
v - Summand
Returns:
Ergebnis als neues Objekt

sub

public Vector sub(Vector v)
Diese Methode subtrahiert einen Vektor v vom aktuellen Vektor und gibt das Ergebnis als neuen Vektor zurück.

Parameters:
v - Subtrahend
Returns:
Ergebnis als neues Objekt

mult

public Vector mult(double factor)
Skaliert den Vektor um einen gewissen Faktor und liefert das Ergebnis als neuen Vektor zurück.

Parameters:
factor - Faktor, mit dem multipliziert wird
Returns:
Ergebnis als neues Objekt

getNormal

public Vector getNormal()
Skaliert den Vektor auf die Länge 1 und liefert das Ergebnis als neuen Vektor zurück.

Returns:
Ergebnis als neues Objekt

getNegative

public Vector getNegative()
Diese Methode liefert den inversen Vektor zur aktuellen Instanz zurück.

Returns:
Vector

getLength

public double getLength()
Liefert die Länge des Vektors zurück.

Returns:
Länge

getAngle

public Angle getAngle()
Diese Methode gibt den Winkel des aktuellen Vektors zurück.

Returns:
Richtung, in die der Vektor zeigt

vectorProduct

public double vectorProduct(Vector b)
Vektorprodukt im Zweidimensionalen liefert einen Skalar. a.vectorProduct(b) ist gleichbedeutend mit a x b.

Parameters:
b - der zweite Parameter des Vektorprodukts
Returns:
Skalar

projection

public double projection(Angle angle)
Projeziert den Vektor auf eine Dimension, und zwar in Richtung des angegebenen Winkels.

Parameters:
angle - Projektionswinkel
Returns:
Die Länge des Vektors in die angegebene Richtung

rotate

public Vector rotate(Angle angle)
Dreht einen Vektor um den angegebenen Winkel im Uhrzeigersinn und gibt das Ergebnis als neuen Vektor zurück.

Parameters:
angle - Drehwinkel
Returns:
neuer, gedrehter Vektor

distanceTo

public double distanceTo(Vector b)
Liefert die Distanz zu einem Vektor b oder anders gesagt die Länge des Vektors (this - b).

Parameters:
b - Vector
Returns:
|this-b|

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

clone

public Vector clone()
Overrides:
clone in class java.lang.Object