![]() |
EOS 2
1.1.0
Einfache Objektbasierte Sprache
|
Vektor. Mehr ...
Statische öffentliche Attribute | |
static Vector | ZERO = new Vector(0, 0) |
static Vector | BASE1 = new Vector(1, 0) |
static Vector | BASE2 = new Vector(0, 1) |
Vektor.
Die Klasse repräsentiert einen Vektor mit sehr vielen Transformationsmethoden. Die Methoden decken einen großen Teil der analytischen Geometrie ab. Grundsätzlich ist es unmöglich die Koordinaten eines Vektors zu verändern, wenn er einmal erzeugt wurde. Alle Berechnungen liefern neue Vektorobjekte. Soll eine Vektor verändert werden muss man zB schreiben
Definiert in Zeile 100 der Datei Vector.java.
de.lathanda.eos.base.math.Vector.Vector | ( | double | dX, |
double | dY | ||
) |
de.lathanda.eos.base.math.Vector.Vector | ( | Point | p | ) |
Konvertiert einen Punkt in einen Ortsvektor
p | Punkt |
Definiert in Zeile 130 der Datei Vector.java.
de.lathanda.eos.base.math.Vector.Vector | ( | double | angle | ) |
Neuer Richtungsvektor der Länge 1.
angle | Richtung im Bogenmaß 0 => (1,0) |
Definiert in Zeile 140 der Datei Vector.java.
Neuer Differenzvektor von A nach B
A | Anfangspunkt |
B | Endpunkt |
Definiert in Zeile 151 der Datei Vector.java.
de.lathanda.eos.base.math.Vector.Vector | ( | Vector | v | ) |
Vector de.lathanda.eos.base.math.Vector.add | ( | double | x, |
double | y | ||
) |
Vektoraddition mit Koordinatenpaar (x,y).
x | x Koordinate |
y | y Koordinate |
Definiert in Zeile 273 der Datei Vector.java.
Vektoraddition.
v | Zweiter Vektor |
Definiert in Zeile 249 der Datei Vector.java.
Vector de.lathanda.eos.base.math.Vector.addLength | ( | double | l | ) |
Addiert den Wert zur Länge des Vektors. Wird die Länge dadurch negativ wird der Vektor (0,0).
l | Länge |
Definiert in Zeile 516 der Datei Vector.java.
Point de.lathanda.eos.base.math.Vector.asPoint | ( | ) |
Definiert in Zeile 240 der Datei Vector.java.
double de.lathanda.eos.base.math.Vector.crossproduct | ( | Vector | b | ) |
Berechnet die Vorzeichen behaftet Fläche des Parallelogramms, welches die beiden Vektoren aufspannen. Der Wert ist positiv, wenn die Fläche links von diesem Vektor liegt. Dies erlaubt Orientierungstest. Die Orientierung hängt jedoch von der Orientierung der Achsen ab, daher sollte man die Methode einfach ausprobieren, das Verhalten bleibt wie es ist.
b | Zweiter Vektor |
Definiert in Zeile 455 der Datei Vector.java.
double de.lathanda.eos.base.math.Vector.dotProduct | ( | double | x, |
double | y | ||
) |
Skalarprodukt mit einem Koordinatenpaar (x,y)
x | x Wert |
y | y Wert |
Definiert in Zeile 370 der Datei Vector.java.
double de.lathanda.eos.base.math.Vector.dotProduct | ( | Vector | b | ) |
Skalarprodukt
b | Zweiter Vektor |
Definiert in Zeile 359 der Datei Vector.java.
double de.lathanda.eos.base.math.Vector.getAngle | ( | ) |
Der Winkel wird ausgehend von der x-Achse in Richtung der y-Achse bestimmt.
Definiert in Zeile 283 der Datei Vector.java.
double de.lathanda.eos.base.math.Vector.getAngleOrdernumber | ( | ) |
Die Funktion liefert einen approximierten Wert für den Winkel, welcher streng monoton mit dem Winkel steigt. Dieser Wert ist somit geeignet um Vektoren nach ihrem Winkel zu sortieren. Im Unterschied zum exakten Winkel ist diese Funktion sehr viel schneller. Die Werte liegen im Bereich von 0 - 4, wobei jeder Quadrat jeweil 1 umfasst. +180° bedeutet +2 modulo 4. Multipliziert man den Wert mit 90°, so erhält man einen Winkel der weniger als 5° vom echten Winkel abweicht.
Definiert in Zeile 312 der Datei Vector.java.
double de.lathanda.eos.base.math.Vector.getdx | ( | ) |
double de.lathanda.eos.base.math.Vector.getdy | ( | ) |
double de.lathanda.eos.base.math.Vector.getLength | ( | ) |
Berechnet die Länge des Vektors.
Definiert in Zeile 191 der Datei Vector.java.
double de.lathanda.eos.base.math.Vector.getParallelogramArea | ( | Vector | a | ) |
Berechnet die Fläche des Parallelogramms, welches die beiden Vektoren aufspannen.
a | Zweiter Vektor |
Definiert in Zeile 441 der Datei Vector.java.
Berechnet den Lot Vektor von der Spitze dieses Vektors auf den Basisvektor. Ob der Vektor zur Spitze zeigt oder zur Basis hängt von der Orientierung ab.
base | Basisvektor |
Definiert in Zeile 467 der Datei Vector.java.
double de.lathanda.eos.base.math.Vector.getPerpendicularLength | ( | Vector | base | ) |
Berechnet den Abstand der Spitze dieses Vektors zum Basisvektor (base). Die beiden Vektoren spannen dabei ein Dreieck auf. Der berechnete Wert ist die Höhe von der Spitze dieses Vektors auf die Seite die durch den Basisvektor gebildet wird.
base | Länge der senkrechten auf dem Basisvektor |
Definiert in Zeile 409 der Datei Vector.java.
Projeziert diesen Vektor auf den Basisvektor (base) und den Projezierten Vektor. Es wird somit der Schattenvektor berechnet.
base | Vektor auf den projiziert wird |
Definiert in Zeile 504 der Datei Vector.java.
double de.lathanda.eos.base.math.Vector.getProjectionLength | ( | Vector | base | ) |
Projeziert diesen Vektor auf den Basisvektor (base) und ermittelt die Länge. Es wird somit die Länge des Schattens berechnet.
base | Vektor auf den projiziert wird. |
Definiert in Zeile 425 der Datei Vector.java.
double de.lathanda.eos.base.math.Vector.getSquareLength | ( | ) |
Berechnet die Länge des Vektors im Quadrat.
Definiert in Zeile 199 der Datei Vector.java.
Vector de.lathanda.eos.base.math.Vector.invertX | ( | ) |
Definiert in Zeile 346 der Datei Vector.java.
Vector de.lathanda.eos.base.math.Vector.invertY | ( | ) |
Definiert in Zeile 349 der Datei Vector.java.
boolean de.lathanda.eos.base.math.Vector.isZero | ( | ) |
Prüft ob der Vektor der 0 Vektor ist. Dies kann unerwartete Effekte auslösen, da eine Gleichheit mir 0 eher selten der Fall ist. Wenn Probleme auftreten kann als alternative die Länge geprüft werden. Etwa getLength() < 0.1
return Wahr, wenn (0,0)
Definiert in Zeile 481 der Datei Vector.java.
Vector de.lathanda.eos.base.math.Vector.multiply | ( | double | k | ) |
S-Multiplikation. Multipliziert einen Vektor mit einer Zahl. Der Vektor wird dabei verändert.
k | Skalar |
Definiert in Zeile 173 der Datei Vector.java.
Vector de.lathanda.eos.base.math.Vector.negative | ( | ) |
Vector de.lathanda.eos.base.math.Vector.normalize | ( | ) |
Ein neuer Vektor mit gleicher Richtung aber der Länge 1.
Definiert in Zeile 379 der Datei Vector.java.
void de.lathanda.eos.base.math.Vector.render | ( | Picture | g, |
Point | p, | ||
double | scale, | ||
double | arrowLength | ||
) |
Zeichnet den Vector als Pfeil. Bei Vektoren die Bewegungen darstellen bietet sich an als Maßstab die Frequenz zu wählen, in der Regel 30. Die Zeichnung entspricht dann der Bewegung pro Sekunde. Bei echten Verschiebungsvektoren sollte der Maßstab 1 gewählt werden, etwa um Rechnungen zu visualisieren. Wird ein dickerer oder Farbiger Pfeil benötigt, so muss das das Graphikobjekt vorher entsprechende verändert werden.
g | Grafikobjekt |
p | Ausgangspunkt des Vektors |
scale | Maßstab (~30 Bewegung, 1 Verschiebung) |
arrowLength | Länge der Pfeilspitze, (~12) die Spitze is immer doppelt so lang wie breit. Bei sehr kurzen Vektoren wird die Pfeilspitze durch die Länge des Vektors begrenzt. |
Definiert in Zeile 561 der Datei Vector.java.
Vector de.lathanda.eos.base.math.Vector.restrict | ( | double | min, |
double | max | ||
) |
Erzeugt einen Vektor dessen Länge innerhalb der Schranken liegt. Dies kann sinnvoll sein, wenn eine Bewegung eine gewisse Geschwindigkeit nicht überschreiten bzw. unterschreiten soll.
min | Minimalwert der Länge (-1 für unbegrenzt) |
max | Maximalwert der Länge (Double.POSITIVE_INFINITY für ungerenzt) |
Definiert in Zeile 534 der Datei Vector.java.
Vector de.lathanda.eos.base.math.Vector.rotate | ( | double | dAngle | ) |
Erzeugt einen um den Winkel (im Bogenmaß) rotieren Vektor. Im Standardkoordinatensystem gegen den Uhrzeigersinn. Diese Methode sollte nicht für rechtwinklige Drehungen verwendet werden, da sie rundet. Der Bildschirm ist anders orientiert!
dAngle | Roationswinkel |
Definiert in Zeile 337 der Datei Vector.java.
Vector de.lathanda.eos.base.math.Vector.rotateRightAngleCounterClockwise | ( | ) |
Dreht den Vektor in einem Standard Koordinatensystem gegen den Uhrzeigersinn. Die Orientierung hängt jedoch von der Orientierung der Achsen ab, daher sollte man die Methode einfach ausprobieren, das Verhalten bleibt wie es ist. Der Vektor wird dabei verändert.
Definiert in Zeile 396 der Datei Vector.java.
Vector de.lathanda.eos.base.math.Vector.setdx | ( | double | newdx | ) |
Definiert in Zeile 234 der Datei Vector.java.
Vector de.lathanda.eos.base.math.Vector.setdy | ( | double | newdy | ) |
Definiert in Zeile 237 der Datei Vector.java.
Vector de.lathanda.eos.base.math.Vector.setLength | ( | double | l | ) |
Erzeugt einen neuen Vektor der gewünschten Länge.
l | Neue Länge |
Definiert in Zeile 209 der Datei Vector.java.
Vector de.lathanda.eos.base.math.Vector.substract | ( | double | dx, |
double | dy | ||
) |
Definiert in Zeile 263 der Datei Vector.java.
Vektorsubtraction.
v | Zweiter Vektor |
Definiert in Zeile 259 der Datei Vector.java.
String de.lathanda.eos.base.math.Vector.toString | ( | ) |
Debugginginformationen
Definiert in Zeile 491 der Datei Vector.java.
Definiert in Zeile 103 der Datei Vector.java.
Definiert in Zeile 104 der Datei Vector.java.
Definiert in Zeile 102 der Datei Vector.java.