Hallo,
ich programmiere gerade an einer eigenen Vektor-Klasse.
In dieser will ich zwei Konstruktoren haben, einen der den Winkel und die Länge als Parameter braucht, und einen der die Koordinaten des Vektor-Endes relativ zum Anfangspunktes benötigt.
So sehen gerade meine Funktionen aus:
und die noch nicht funktionierende Koordinaten-Variante:
Das Problem ist, dass Tanges nur einen Wert von 0° (0 rad) zu 180° (PI rad) zurückgibt.
Ich brauche aber auch eine Unterscheidung bis zu 360° (2PI rad).
Gibt es eine gute Möglichkeit, dies zu realisieren?
LG und Danke
ich programmiere gerade an einer eigenen Vektor-Klasse.
In dieser will ich zwei Konstruktoren haben, einen der den Winkel und die Länge als Parameter braucht, und einen der die Koordinaten des Vektor-Endes relativ zum Anfangspunktes benötigt.
So sehen gerade meine Funktionen aus:
Java:
public Vector(double angle, float length) {
this.angle = angle % (2 * Math.PI);
this.length = length;
x = (float) Math.sin(angle) * length;
y = (float) Math.cos(angle) * length;
}
Java:
public Vector(float x, float y) {
this.x = x;
this.y = y;
angle = Math.atan(x / y);
length = (float) Math.sqrt((float) (Math.pow(x, 2) + Math.pow(x, 2)));
}
Das Problem ist, dass Tanges nur einen Wert von 0° (0 rad) zu 180° (PI rad) zurückgibt.
Ich brauche aber auch eine Unterscheidung bis zu 360° (2PI rad).
Gibt es eine gute Möglichkeit, dies zu realisieren?
LG und Danke