Package hoverball.math
Class Vector
java.lang.Object
hoverball.math.Vector
public final class Vector
extends java.lang.Object
Die Klasse Vector repräsentiert einen dreidimensionalen Vektor.
Im Folgenden bedeuten:
a, b, v - Vektoren
x, y, z - reelle Zahlen (als Koordinaten)
r - reelle Zahl
c - komplexe Zahl
A - Matrix
v - der Vektor des Vector-Objekts selbst
Operator Overloading für Groovy, Scala, Kotlin und Jython wird unterstützt.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description Vector()
Erzeugt einen Vektor mit den Koordinaten (0,0,0).Vector(double x, double y, double z)
Erzeugt einen Vektor mit den Koordinaten (x,y,z).Vector(Complex c)
Erzeugt einen Vektor aus einer komplexen Zahl.Vector(Vector v)
Erzeugt einen Vektor gleich einem anderen Vektor. -
Method Summary
Modifier and Type Method Description double
abs()
Berechnet den Absolutbetrag [ = | v | ].double
abs2()
Berechnet den Absolutbetrag im Quadrat [ = | v |^2 ].Vector
add(Vector b)
Addiert einen Vektor [ v = v + b ].static Vector
add(Vector a, Vector b)
Addiert zwei Vektoren [ = a + b ].Vector
div(double r)
Dividiert durch eine reelle Zahl [ v = v / r ].static double
dot(Vector a, Vector b)
Berechnet das Skalarprodukt zweier Vektoren [ = < a, b > ].boolean
equals(double x, double y, double z)
Vergleicht mit einem Vektor [ v = (x,y,z) ?boolean
equals(java.lang.Object v)
Vergleicht mit einem Vektor [ v = v ?int
hashCode()
Berechnet den Hash-Code [ =####
].Vector
mul(double r)
Multipliziert mit einer reellen Zahl [ v = v r ].Vector
mul(Matrix A)
Multipliziert mit einer Matrix [ v = v A ].static Vector
mul(Vector v, double r)
Multipliziert einen Vektor mit einer reellen Zahl [ = v r ].static Vector
mul(Vector v, Matrix A)
Multipliziert einen Vektor mit einer Matrix [ = v A ].Vector
neg()
Bildet den Gegenvektor [ v = -v ].static Vector
neg(Vector v)
Berechnet die Gegenzahl [ = -v ].Vector
norm()
Normiert den Absolutbetrag auf eins [ v = v / | v | ].static Vector
norm(Vector v)
Berechnet die Normierung des Absolutbetrages auf eins [ = v / | v | ].Vector
sub(Vector b)
Subtrahiert einen Vektor [ v = v - b ].static Vector
sub(Vector a, Vector b)
Subtrahiert zwei Vektoren [ = a - b ].java.lang.String
toString()
String-Repräsentation [ = "..." ].static Vector
vec(Vector a, Vector b)
Berechnet das dreidimensionale Vektorprodukt zweier Vektoren [ = a x b ].boolean
zero()
Testet auf null [ v = 0 ?
-
Field Details
-
Constructor Details
-
Vector
public Vector()Erzeugt einen Vektor mit den Koordinaten (0,0,0). -
Vector
public Vector(double x, double y, double z)Erzeugt einen Vektor mit den Koordinaten (x,y,z).- Parameters:
x
- x-Koordinatey
- y-Koordinatez
- z-Koordinate
-
Vector
Erzeugt einen Vektor gleich einem anderen Vektor.- Parameters:
v
- zu kopierender Vektor
-
Vector
Erzeugt einen Vektor aus einer komplexen Zahl.Die z-Koordinate des Vektors wird dabei auf null gesetzt.
- Parameters:
c
- komplexe Zahl
-
-
Method Details
-
hashCode
public int hashCode()Berechnet den Hash-Code [ =####
].- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- den Hash-Code
-
toString
public java.lang.String toString()String-Repräsentation [ = "..." ].- Overrides:
toString
in classjava.lang.Object
- Returns:
- den String
-
equals
public boolean equals(java.lang.Object v)Vergleicht mit einem Vektor [ v = v ? ].- Overrides:
equals
in classjava.lang.Object
- Parameters:
v
- Vektor- Returns:
- die Gleichheit
-
equals
public boolean equals(double x, double y, double z)Vergleicht mit einem Vektor [ v = (x,y,z) ? ].- Parameters:
x
- reelle Zahly
- reelle Zahlz
- reelle Zahl- Returns:
- die Gleichheit
-
add
Addiert einen Vektor [ v = v + b ].- Parameters:
b
- Vektor- Returns:
- this
-
sub
Subtrahiert einen Vektor [ v = v - b ].- Parameters:
b
- Vektor- Returns:
- this
-
mul
Multipliziert mit einer reellen Zahl [ v = v r ].- Parameters:
r
- reelle Zahl- Returns:
- this
-
mul
Multipliziert mit einer Matrix [ v = v A ].- Parameters:
A
- Matrix- Returns:
- this
-
div
Dividiert durch eine reelle Zahl [ v = v / r ].- Parameters:
r
- reelle Zahl- Returns:
- this
-
neg
Bildet den Gegenvektor [ v = -v ].- Returns:
- this
-
zero
public final boolean zero()Testet auf null [ v = 0 ? ].- Returns:
- true, falls dieser Vektor gleich (0,0,0)
-
abs
public final double abs()Berechnet den Absolutbetrag [ = | v | ].- Returns:
- den Absolutbetrag
-
abs2
public final double abs2()Berechnet den Absolutbetrag im Quadrat [ = | v |^2 ].- Returns:
- den Absolutbetrag im Quadrat
-
norm
Normiert den Absolutbetrag auf eins [ v = v / | v | ].- Returns:
- this
-
add
Addiert zwei Vektoren [ = a + b ].- Parameters:
a
- Vektorb
- Vektor- Returns:
- die Summe
-
sub
Subtrahiert zwei Vektoren [ = a - b ].- Parameters:
a
- Vektorb
- Vektor- Returns:
- die Differenz
-
neg
Berechnet die Gegenzahl [ = -v ].- Parameters:
v
- Vektor- Returns:
- die Gegenzahl
-
norm
Berechnet die Normierung des Absolutbetrages auf eins [ = v / | v | ].- Parameters:
v
- Vektor- Returns:
- die Normierung
-
mul
Multipliziert einen Vektor mit einer reellen Zahl [ = v r ].- Parameters:
v
- Vektorr
- reelle Zahl- Returns:
- das Produkt
-
mul
Multipliziert einen Vektor mit einer Matrix [ = v A ].- Parameters:
v
- VektorA
- Matrix- Returns:
- das Produkt
-
dot
Berechnet das Skalarprodukt zweier Vektoren [ = < a, b > ].- Parameters:
a
- Vektorb
- Vektor- Returns:
- das Skalarprodukt
-
vec
Berechnet das dreidimensionale Vektorprodukt zweier Vektoren [ = a x b ].- Parameters:
a
- Vektorb
- Vektor- Returns:
- das Vektorprodukt
-