public final class Vektor
extends java.lang.Object
implements java.lang.Cloneable
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 DeltaX-Wert des Punktes.
|
float |
y
Der kontinuierliche DeltaY-Wert des Punktes.
|
Constructor and Description |
---|
Vektor(float x,
float y)
Konstruktor.
|
Vektor(Punkt start,
Punkt ziel)
Konstruktor.
|
Modifier and Type | Method and Description |
---|---|
Punkt |
alsPunkt()
Gibt diesen Ortsvektor vom Ursprung der Zeichenebene als Punkt aus.
Dieser hat die exakt selben x - / y -Komponenten. |
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.
|
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 des Vektors aus.
|
float |
manhattanLength()
Gibt die Manhattan-Länge des Vektors zurück.
|
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 wider. |
float |
realY()
Gibt die
y -Verschiebung dieses Vektors wider. |
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 / SO / SW ). |
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 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 (positiv 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
public static final Vektor RECHTS
public static final Vektor LINKS
public static final Vektor OBEN
public static final Vektor UNTEN
public static final int KEINE_BEWEGUNG
public static final int W
public static final int O
public static final int N
public static final int S
public static final int NW
public static final int NO
public static final int SW
public static final int SO
public final float x
public final float y
public Vektor(float x, float y)
x
- Bewegungsanteil x
.y
- Bewegungsanteil y
.public Vektor normiert()
public Vektor teilen(float divisor)
divisor
- Hierdurch wird die Länge des Vektors auf der Zeichenebene geteilt.java.lang.ArithmeticException
- Falls divisor
0
ist.multiplizieren(float)
public float laenge()
public Vektor gegenrichtung()
public Vektor summe(Vektor v)
v
- zweiter Vektorpublic Vektor differenz(Vektor v)
v
- zweiter Vektor"this - v"
)public Vektor multiplizieren(float faktor)
x
und
y
) mit einem festen Faktor. faktor
- Der Faktor, mit dem die x
- und y
-Werte des Vektors multipliziert
werdenteilen(float)
public float skalarprodukt(Vektor v)
(a, b) o (c, d) = a * b + c * d
v
- zweiter Vektorv
.public boolean unwirksam()
x
und y
) 0 sind.true
, wenn dieser keine Auswirkungen macht, sonst false
.public boolean istEchtGanzzahlig()
true
, wenn beide Delta-Werte dieses Punktes ganzzahlig sind,
sonst false
.public float realX()
x
-Verschiebung dieses Vektors wider.x
-Verschiebung dieses Vektors. Positive Werte verschieben nach rechts,
negative Werte verschieben nach links.realY()
public float realY()
y
-Verschiebung dieses Vektors wider.y
-Verschiebung dieses Vektors. Positive Werte verschieben nach unten,
negative Werte verschieben nach oben.realX()
public Vektor einfacher()
-1
,
0
oder 1
annehmen. public static Vektor vonKonstante(int konstante)
N
, S
, O
, W
, NO
,
NW
, SO
, SW
konstante
- Konstante, die die Bewegungsrichtung beschreibtx
und
y
je ein Wertebereich von {-1, 0, 1}) die entsprechende Bewegung macht.java.lang.IllegalArgumentException
- Falls die Konstante einen nicht verwendbaren Wert hatpublic int richtung()
N / S / O / W
)
oder die Kombiwerte (NO / NW / SO / SW
). Alle diese sind Konstanten dieser
Klasse.public boolean equals(java.lang.Object o)
x
und y
der beiden Vektoren übereinstimmen.equals
in class java.lang.Object
o
- Das auf Gleichheit mit diesem zu überprüfende Objekt.true
, wenn beide Vektoren gleich sind, sonst false
.public Vektor clone()
Vektor
-Objekt mit demselben Zustan.clone
in class java.lang.Object
Vektor
mit den selben Koordinaten (x, y)public java.lang.String toString()
toString
in class java.lang.Object
public int dX()
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()
y
-Verschiebung dieses Vektors mit Ganzzahlen wider.y
-Verschiebung dieses Vektors. Positive Werte verschieben nach
unten, negative Werte verschieben nach oben.dX()
@API public Punkt alsPunkt()
x
- / y
-Komponenten. Das bedeutet: Vektor v = new
Vektor (10, 20);
Punkt p = v.alsPunkt(); -> p == new Punkt(10, 20);
Punkt.alsVektor()
public float manhattanLength()