Manu
26-05-2005, 22:03
Hallo,
ich habe folgendes Problem:
Ich habe ein Rechteck, dass folgendermassen aussieht:
--------------
|.................|
|.........2.......|
|.........o.......|
|.........|.......|
|.........|.......|
|______o____|
...........1
(die Punkte dazwischen habe ich nur als Platzhalter benutzt!)
Das Rechteck kann man an Punkt 2 um Punkt 1 drehen.
Nun will ich den Winkel zwischen der Linie von Punkt1 nach Punkt 2 und der x-Achse berechnen. Aber das Problem ist, dass wenn ich gegen den Uhrzeigersinn drehe, nur von 0° bis 180° gezählt wird, und wenn ich die 180° überschreite, wird wieder von 180° bis 0° gezählt. Ich will aber gegen den Uhrzeigersinn von 0° bis 360° drehen können.
Mein Code sieht so aus:
public double getAngle() {
double distCentWristX = center.getX() - wrist.getX();
double distCentWristY = center.getY() - wrist.getY();
double getangle = Math.acos( distCentWristX /center.distance(wrist));
double x = (getangle * 360 ) / (2*Math.PI);
return x;
}
center ist dabei Punkt 2 und wrist ist Punkt 1.
Bin dankbar für jede Hilfe!
ich habe folgendes Problem:
Ich habe ein Rechteck, dass folgendermassen aussieht:
--------------
|.................|
|.........2.......|
|.........o.......|
|.........|.......|
|.........|.......|
|______o____|
...........1
(die Punkte dazwischen habe ich nur als Platzhalter benutzt!)
Das Rechteck kann man an Punkt 2 um Punkt 1 drehen.
Nun will ich den Winkel zwischen der Linie von Punkt1 nach Punkt 2 und der x-Achse berechnen. Aber das Problem ist, dass wenn ich gegen den Uhrzeigersinn drehe, nur von 0° bis 180° gezählt wird, und wenn ich die 180° überschreite, wird wieder von 180° bis 0° gezählt. Ich will aber gegen den Uhrzeigersinn von 0° bis 360° drehen können.
Mein Code sieht so aus:
public double getAngle() {
double distCentWristX = center.getX() - wrist.getX();
double distCentWristY = center.getY() - wrist.getY();
double getangle = Math.acos( distCentWristX /center.distance(wrist));
double x = (getangle * 360 ) / (2*Math.PI);
return x;
}
center ist dabei Punkt 2 und wrist ist Punkt 1.
Bin dankbar für jede Hilfe!