public final class Vektor
extends java.lang.Object
implements java.lang.Cloneable
Ein Vektor bezeichnet eine relative Punktangabe.
Ansonsten unterscheidet er sich hier nicht weiter von einem Punkt.
Vektoren werden meist für die Beschreibung einer Bewegung benutzt.
Modifier and Type | Field and Description |
---|---|
static int |
KEINE_BEWEGUNG
Konstante, die widerspiegelt, dass keine Bewegung vollzogen wird.
|
static Vektor |
LINKS
Konstante für eine einfache Verschiebung nach links (-1, 0)
|
static int |
N
Die Konstante für die Richtung Norden
|
static int |
NO
Die Konstante für die Richtung Nordosten
|
static Vektor |
NULLVEKTOR
Konstante für einen bewegungslosen Vektor (0, 0)
|
static int |
NW
Die Konstante für die Richtung Nordwesten
|
static int |
O
Die Konstante für die Richtung Osten
|
static Vektor |
OBEN
Konstante für eine einfache Verschiebung nach oben (0, -1)
|
static Vektor |
RECHTS
Konstante für eine einfache Verschiebung nach rechts (1, 0)
|
static int |
S
Die Konstante für die Richtung Süden
|
static int |
SO
Die Konstante für die Richtung Südosten
|
static int |
SW
Die Konstante für die Richtung Südwesten
|
static Vektor |
UNTEN
Konstante für eine einfache Verschiebung nach unten (0, 1)
|
static int |
W
Die Konstante für die Richtung Westen
|
float |
x
Der kontinuierliche(re) DeltaX-Wert des Punktes.
|
float |
y
Der kontinuierliche(re) DeltaY-Wert des Punktes.
|
Constructor and Description |
---|
Vektor(float x,
float y)
Konstruktor fuer Objekte der Klasse Vektor
|
Vektor(Punkt start,
Punkt ziel)
Zweite Variante des Konstruktors für die Klasse Vektor.
|
Modifier and Type | Method and Description |
---|---|
Vektor |
clone()
Erstellt ein neues
Vektor -Objekt mit demselben Zustan. |
Vektor |
differenz(Vektor v)
Berechnet die Differenz zwischen diesem und einem weiteren Vektor.
|
int |
dX()
Gibt die
x -Verschiebung dieses Vektors mit Ganzzahlen wider. |
int |
dY()
Gibt die
y -Verschiebung dieses Vektors mit Ganzzahlen wider. |
Vektor |
einfacher()
Gibt einen einfachen Vektor zurück, dessen Richtungskomponenten nur
-1 , 0 oder 1 annehmen. |
boolean |
equals(java.lang.Object o)
Prüft, ob ein beliebiges Objekt gleich diesem Vektor ist.Überschrieben aus der Superklasse
Object . |
Vektor |
gegenrichtung()
Berechnet die Gegenrichtung des Vektors.
|
boolean |
istEchtGanzzahlig()
Gibt zurück, ob dieser Vektor echt ganzzahlig ist, also ob seine tatsächlichen Delta-Werte beide Ganzzahlen sind.
|
float |
laenge()
Gibt die Länge dieses Vektors aus.
|
Vektor |
multiplizieren(float faktor)
Multipliziert die effektiven Längen beider Anteile des Vektors (
x und y ) mit einem festen Faktor. |
Vektor |
normiert()
Gibt eine Normierung des Vektors aus.
|
float |
realX()
Gibt die
x -Verschiebung dieses Vektors wieder. |
float |
realY()
Gibt die
y -Verschiebung dieses Vektors wider. |
int |
richtung()
Berechnet die Richtung des Vektors, in die er wirkt.
|
float |
skalarprodukt(Vektor v)
Berechnet das Skalarprodukt von diesem Vektor mit einem weiteren.
|
Vektor |
summe(Vektor v)
Berechnet die effektive Bewegung, die dieser Vektor und ein weiterer zusammen ausüben.
|
Vektor |
teilen(float divisor)
Teilt die effektive Länge des Vektors durch eine ganze Zahl und kürzt dadurch seine Effektivität.
|
java.lang.String |
toString()
Gibt die String-Repräsentation dieses Objektes aus.
|
boolean |
unwirksam()
Berechnet, ob dieser Vektor keine Wirkung hat.
|
static Vektor |
vonKonstante(int konstante)
Berechnet einen einfachen Vektor (maximale Auslenkung bei jeder Achse 1 (positiov wie negativ)), der der entsprechenden Konstante dieser Klasse entspricht möglich sind:
N , S , O , W , NO , NW , SO , SW |
public static final Vektor NULLVEKTOR
Konstante für einen bewegungslosen Vektor (0, 0)
public static final Vektor RECHTS
Konstante für eine einfache Verschiebung nach rechts (1, 0)
public static final Vektor LINKS
Konstante für eine einfache Verschiebung nach links (-1, 0)
public static final Vektor OBEN
Konstante für eine einfache Verschiebung nach oben (0, -1)
public static final Vektor UNTEN
Konstante für eine einfache Verschiebung nach unten (0, 1)
public static final int KEINE_BEWEGUNG
Konstante, die widerspiegelt, dass keine Bewegung vollzogen wird.
public static final int W
Die Konstante für die Richtung Westen
public static final int O
Die Konstante für die Richtung Osten
public static final int N
Die Konstante für die Richtung Norden
public static final int S
Die Konstante für die Richtung Süden
public static final int NW
Die Konstante für die Richtung Nordwesten
public static final int NO
Die Konstante für die Richtung Nordosten
public static final int SW
Die Konstante für die Richtung Südwesten
public static final int SO
Die Konstante für die Richtung Südosten
public final float x
Der kontinuierliche(re) DeltaX-Wert des Punktes. Die anderen Koordinaten sind ggf. nur gerundet.
public final float y
Der kontinuierliche(re) DeltaY-Wert des Punktes. Die anderen Koordinaten sind ggf. nur gerundet.
public Vektor(float x, float y)
Konstruktor fuer Objekte der Klasse Vektor
x
- Der Bewegungsanteil x
.y
- Der Bewegungsanteil y
.public Vektor(Punkt start, Punkt ziel)
Zweite Variante des Konstruktors für die Klasse Vektor.
Hierbei wird er erzeugt als die noetige Bewegung von einem Punkt, um zu einem zweiten zu kommen.
start
- Der Ausgangspunkt der Bewegung dieses Vektors, der zu dem Ziel hinführt.ziel
- Der Zielpunkt der Bewegung.public Vektor normiert()
Gibt eine Normierung des Vektors aus. Dies ist ein Vektor, der
public float laenge()
Gibt die Länge dieses Vektors aus.
public Vektor gegenrichtung()
Berechnet die Gegenrichtung des Vektors.
public Vektor summe(Vektor v)
Berechnet die effektive Bewegung, die dieser Vektor und ein weiterer zusammen ausüben.
v
- Der zweite bewegende Vektorpublic Vektor differenz(Vektor v)
Berechnet die Differenz zwischen diesem und einem weiteren Vektor.
v
- ein zweiter Vektor.“this - v”
)public Vektor teilen(float divisor)
Teilt die effektive Länge des Vektors durch eine ganze Zahl und kürzt dadurch seine Effektivität.
divisor
- Hierdurch wird die Länge des Vektors auf der Zeichenebene geteilt.multiplizieren(float)
public Vektor multiplizieren(float faktor)
Multipliziert die effektiven Längen beider Anteile des Vektors (x
und y
) mit einem festen Faktor.
Dadurch entsteht ein neuer Vektor mit anderen Werten, welcher zurückgegeben wird.
faktor
- Der Faktor, mit dem die x
- und y
-Werte des Vektors multipliziert werdenteilen(float)
public float skalarprodukt(Vektor v)
Berechnet das Skalarprodukt von diesem Vektor mit einem weiteren. Das Skalarprodukt für zweidimensionale Vektoren ist: :(a, b) o (c, d) = a * b + c * d
v
- Ein zweiter Vektor.v
.public boolean unwirksam()
Berechnet, ob dieser Vektor keine Wirkung hat. Dies ist der Fall, wenn beide Komponenten (x
und y
) 0 sind.
true
, wenn dieser keine Auswirkungen als bewegender Vektor machen würde.public int richtung()
Berechnet die Richtung des Vektors, in die er wirkt.
Der Rückgabewert basiert auf den Konstanten der eigenen Klasse und sind entweder die Basiswerte (N/S/O/W
) oder die Kombiwerte (NO/NW/…
). Alle diese sind Konstanten dieser Klasse.
public static Vektor vonKonstante(int konstante)
Berechnet einen einfachen Vektor (maximale Auslenkung bei jeder Achse 1 (positiov wie negativ)), der der entsprechenden Konstante dieser Klasse entspricht möglich sind:
N
, S
, O
, W
, NO
, NW
, SO
, SW
konstante
- Die Konstante, die die Bewegungsrichtung beschreibt.x
und y
je ein Wertebereich von {-1, 0, 1}) die entsprechende Bewegung macht.null
, wenn die Konstante einen nicht verwendbaren Wert hat!public boolean istEchtGanzzahlig()
Gibt zurück, ob dieser Vektor echt ganzzahlig ist, also ob seine tatsächlichen Delta-Werte beide Ganzzahlen sind.
true
, wenn beide Delta-Werte dieses Punktes ganzzahlig sind, sonst false
.public float realX()
Gibt die x
-Verschiebung dieses Vektors wieder.
x
-Verschiebung dieses Vektors. Positive Werte verschieben nach rechts, negative Werte verschieben nach links.realX()
public float realY()
Gibt die y
-Verschiebung dieses Vektors wider.
y
-Verschiebung dieses Vektors. Positive Werte verschieben nach unten, negative Werte verschieben nach oben.realY()
public Vektor einfacher()
Gibt einen einfachen Vektor zurück, dessen Richtungskomponenten nur -1
, 0
oder 1
annehmen.
:-1 bei Werten < 0 - 0 bei Werten = 0 - 1 bei Werten > 0
public java.lang.String toString()
Gibt die String-Repräsentation dieses Objektes aus.
toString
in class java.lang.Object
public boolean equals(java.lang.Object o)
Prüft, ob ein beliebiges Objekt gleich diesem Vektor ist.Überschrieben aus der Superklasse Object
.
Zwei Vektoren gelten als gleich, wenn x
und y
der beiden Vektoren übereinstimmen.
equals
in class java.lang.Object
o
- Das auf Gleichheit mit diesem zu überpruefende Objekt.true
, wenn beide Vektoren gleich sind, sonst false
.public int dX()
Gibt die x
-Verschiebung dieses Vektors mit Ganzzahlen wider.
x
-Verschiebung dieses Vektors. Positive Werte verschieben nach rechts, negative Werte verschieben nach links.dY()
public int dY()
Gibt die y
-Verschiebung dieses Vektors mit Ganzzahlen wider.
y
-Verschiebung dieses Vektors. Positive Werte verschieben nach unten, negative Werte verschieben nach oben.dX()
public Vektor clone()
Erstellt ein neues Vektor
-Objekt mit demselben Zustan.
clone
in class java.lang.Object
Vektor
mit den selben Koordinaten (x|y)